Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/qjoly/home.nix
❄️
https://github.com/qjoly/home.nix
home-manager nix
Last synced: 4 days ago
JSON representation
❄️
- Host: GitHub
- URL: https://github.com/qjoly/home.nix
- Owner: qjoly
- Created: 2022-09-22T17:46:50.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-03-06T09:28:35.000Z (11 months ago)
- Last Synced: 2025-01-11T11:53:49.379Z (5 days ago)
- Topics: home-manager, nix
- Language: Nix
- Homepage:
- Size: 33 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Nix Home-Manager
[Nix Home-Manager](https://github.com/nix-community/home-manager) is a tool for managing a user's environment configuration. It is built on top of the Nix package manager, which provides a declarative approach to package management and system configuration.
With Home-Manager, you can define your entire user environment, including shell configuration, development tools, and other applications, in a single configuration file. This configuration file is then used to generate a set of symbolic links, which are used to point to the corresponding packages in the Nix store. This approach ensures that your environment is always reproducible and consistent across multiple machines.
## My Configuration
This project is an example of what can be done with Nix. I have separated the programs that install into several categories :
- GUI:
- code
- media
- misc
- office
- social
- CLI:
- ansible
- kubernetes
- terraformI have stored in this repo the config files of these programs:
- git
- zsh
- vim (todo)
- sway (todo)I preconfigured which programs/configs will be imported in your host in `host/`. You can choose which one will be used by editing the `config.json` file
## How to install and configure Home-Manager
### Install Nix
Refer to [this page](https://nixos.org/download.html) if you need detail
```bash
sh <(curl -L https://nixos.org/nix/install) --daemon # Multi-User
sh <(curl -L https://nixos.org/nix/install) --no-daemon # Single-User
```### Install Home-Manager
```bash
mkdir -p ~/.config/nix
echo "experimental-features = nix-command flakes" > ~/.config/nix/nix.conf
nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager
nix-channel --update -v
nix-shell '' -A install
```### Add my configuration
```bash
cd ~/.config/home-manager
rm *
git clone https://github.com/QJoly/home.nix .
sed -i "s;HOME_DIR;$HOME;g" config.json
sed -i "s;YOUR_USERNAME;$(whoami);g" flake.nix config.json
```