Welcome to my redesigned NixOS configuration built for efficiency and aesthetics. Right now I'm trying to commit something everyday. Let's see how long I can go.
You can still find Andrey0189's old configuration here
- 🖥️ Multiple Hosts Support: Easy to configure for different hosts.
- 🏠 Home Manager Integration: lots of stuff configured.
- 🌟 Zsh: Efficient shell setup with lots of aliases.
To get started with this setup, follow these steps:
-
Install NixOS: If you haven't already installed NixOS, follow the NixOS Installation Guide for detailed instructions.
-
Clone the Repository:
git clone https://github.com/TheIIIrd/nixos-workstation-reborn.git ~/.nix && cd ~/.nix
-
Copy one of the hosts configuration to set up your own:
cd hosts cp -r slim3 <your_hostname> cd <your_hostname>
-
Put your
hardware-configuration.nix
file there:cp --no-preserve=mode /etc/nixos/hardware-configuration.nix .
-
Edit
hosts/<your_hostname>/local-packages.nix
andhome-manager/home-packages.nix
files if needed:vim local-packages.nix vim ../../home-manager/home-packages.nix
-
Edit
home-manager/modules/git.nix
andnixos/modules/graphics/default.nix
vim ../../home-manager/modules/git.nix vim ../../nixos/modules/graphics/default.nix
-
Specify the parameters for
nixos/modules/zapret.nix
nix-shell -p zapret --command blockcheck vim ../../nixos/modules/zapret.nix
-
Finally, edit the
flake.nix
file:sed -i -e 's/amper/<your_username>/g' \ -e '/{ hostname = "330-15ARR"; stateVersion = "24.11"; }/d' \ -e 's/hostname = "slim3"/hostname = "<your_hostname>"/' \ -e 's/stateVersion = "24.05"/stateVersion = "<your_state_version>"/' \ -e 's/homeStateVersion = "24.11";/homeStateVersion = "<your_home_manager_state_version>";/' \ ~/.nix/flake.nix
... outputs = { self, nixpkgs, home-manager, ... }@inputs: let system = "x86_64-linux"; -- homeStateVersion = "24.11"; ++ homeStateVersion = "<your_home_manager_state_version>"; -- user = "amper"; ++ user = "<your_username>"; hosts = [ -- { hostname = "slim3"; stateVersion = "24.05"; } -- { hostname = "330-15ARR"; stateVersion = "24.11"; } ++ { hostname = "<your_hostname>"; stateVersion = "<your_state_version>"; } ]; ...
-
Rebuilding:
cd ~/.nix git add . nixos-rebuild boot --flake ./#<hostname> # or nixos-install --flake ./#<hostname> if you are installing on a fresh system
# reboot your system nh home switch
-
Configure Flatpak and gnome keybindings switch-input-source if needed
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo flatpak install org.gtk.Gtk3theme.adw-gtk3 org.gtk.Gtk3theme.adw-gtk3-dark com.github.tchx84.Flatseal
gsettings set org.gnome.desktop.wm.keybindings switch-input-source-backward "['<Alt>Shift_L']"
-
Copy corefonts to the home directory
# the path to corefonts-1 may vary cp --no-preserve=mode /nix/store/ciwacrng6v01ih6hl4x6db39k4m41add-corefonts-1/share/fonts/truetype/* ~/.local/share/fonts
Feel free to fork the repository and submit pull requests if you'd like to contribute improvements. Open issues if you encounter any problems with the config or have ideas for new features.