nixos-dots

nixos dots
git clone git://popovic.xyz/nixos-dots.git
Log | Files | Refs

commit 37bb1bf3030a7e7711a3f6fcbb25d03ac512a041
parent 38aa2bb71d480f614ddb29c9fe00ad9a7237d73f
Author: Milutin Popovic <milutin@popovic.xyz>
Date:   Thu,  2 Apr 2026 21:56:38 +0100

machines->hosts /lib/dotfiles.nix -> /modules/dotfiles.nix

Diffstat:
Mflake.nix | 18+++++++++---------
Rmachines/frame/configuration.nix -> hosts/frame/configuration.nix | 0
Rmachines/frame/hardware.nix -> hosts/frame/hardware.nix | 0
Rmachines/frame/harware-unencrypted.nix -> hosts/frame/harware-unencrypted.nix | 0
Rmachines/mac/configuration.nix -> hosts/mac/configuration.nix | 0
Rmachines/server/configuration.nix -> hosts/server/configuration.nix | 0
Rmachines/server/disk.nix -> hosts/server/disk.nix | 0
Rmachines/server/hardware.nix -> hosts/server/hardware.nix | 0
Rmachines/vm/disk.nix -> hosts/vm/disk.nix | 0
Rmachines/vm/hardware.nix -> hosts/vm/hardware.nix | 0
Mjustfile | 8++++----
Rlib/dotfiles.nix -> modules/dotfiles.nix | 0
Musers/mika.nix | 2+-
Musers/r2d2.nix | 61++++++++++++++++++++++++++++++++-----------------------------
Musers/root.nix | 78++++++++++++++++++++++++++++++++++++++++++++----------------------------------
15 files changed, 90 insertions(+), 77 deletions(-)

diff --git a/flake.nix b/flake.nix @@ -79,8 +79,8 @@ nixos-hardware.nixosModules.framework-13-7040-amd home-manager.nixosModules.home-manager sops-nix.nixosModules.sops - ./machines/frame/configuration.nix - ./machines/frame/hardware.nix + ./hosts/frame/configuration.nix + ./hosts/frame/hardware.nix { home-manager = { useGlobalPkgs = true; @@ -118,8 +118,8 @@ nixos-hardware.nixosModules.framework-13-7040-amd home-manager.nixosModules.home-manager sops-nix.nixosModules.sops - ./machines/frame/configuration.nix - ./machines/vm/hardware.nix + ./hosts/frame/configuration.nix + ./hosts/vm/hardware.nix { home-manager = { useGlobalPkgs = true; @@ -156,8 +156,8 @@ }; modules = [ home-manager.nixosModules.home-manager - ./machines/frame/configuration.nix - ./machines/vm/hardware.nix + ./hosts/frame/configuration.nix + ./hosts/vm/hardware.nix { home-manager = { useGlobalPkgs = true; @@ -184,8 +184,8 @@ }; modules = [ home-manager.nixosModules.home-manager - ./machines/server/configuration.nix - ./machines/server/hardware.nix + ./hosts/server/configuration.nix + ./hosts/server/hardware.nix { home-manager = { useGlobalPkgs = true; @@ -221,7 +221,7 @@ modules = [ home-manager.darwinModules.home-manager sops-nix.darwinModules.sops - ./machines/mac/configuration.nix + ./hosts/mac/configuration.nix { home-manager = { useGlobalPkgs = true; diff --git a/machines/frame/configuration.nix b/hosts/frame/configuration.nix diff --git a/machines/frame/hardware.nix b/hosts/frame/hardware.nix diff --git a/machines/frame/harware-unencrypted.nix b/hosts/frame/harware-unencrypted.nix diff --git a/machines/mac/configuration.nix b/hosts/mac/configuration.nix diff --git a/machines/server/configuration.nix b/hosts/server/configuration.nix diff --git a/machines/server/disk.nix b/hosts/server/disk.nix diff --git a/machines/server/hardware.nix b/hosts/server/hardware.nix diff --git a/machines/vm/disk.nix b/hosts/vm/disk.nix diff --git a/machines/vm/hardware.nix b/hosts/vm/hardware.nix diff --git a/justfile b/justfile @@ -26,11 +26,11 @@ ls-nixos-packages: ls-hm-packages: @home-manager packages | sort | uniq -vm machine: - sudo nix --experimental-features "nix-command flakes" run nixpkgs#nixos-rebuild -- build-vm --flake .#{{machine}} --impure +vm host: + sudo nix --experimental-features "nix-command flakes" run nixpkgs#nixos-rebuild -- build-vm --flake .#{{host}} --impure -anywhere machine target: - sudo nix --experimental-features "nix-command flakes" run github:nix-community/nixos-anywhere -- --generate-hardware-config nixos-generate-config ./hardware-configuration.nix --flake ./#{{machine}} --target-host {{target}} +anywhere host target: + sudo nix --experimental-features "nix-command flakes" run github:nix-community/nixos-anywhere -- --generate-hardware-config nixos-generate-config ./hardware-configuration.nix --flake ./#{{host}} --target-host {{target}} clean: rm -r ./result diff --git a/lib/dotfiles.nix b/modules/dotfiles.nix diff --git a/users/mika.nix b/users/mika.nix @@ -13,7 +13,7 @@ let packageSets = import ../modules/packages.nix { inherit pkgs isDarwin; }; link = config.lib.file.mkOutOfStoreSymlink; - inherit (import ../lib/dotfiles.nix) dotfiles; + inherit (import ../modules/dotfiles.nix) dotfiles; configDirs = builtins.attrNames (builtins.readDir "${dotfiles}/.config"); in { diff --git a/users/r2d2.nix b/users/r2d2.nix @@ -9,7 +9,7 @@ let packageSets = import ../modules/packages.nix { inherit pkgs; }; link = config.lib.file.mkOutOfStoreSymlink; - inherit (import ../lib/dotfiles.nix) dotfiles; + inherit (import ../modules/dotfiles.nix) dotfiles; configDirs = builtins.attrNames (builtins.readDir "${dotfiles}/.config"); in { @@ -19,33 +19,36 @@ in stateVersion = "25.11"; }; - - home.packages = (with packageSets; lib.flatten [ - system - shell - cli - network - development - ]) ++ [ pkgs.lf ]; - - - home.file = let - mkDotfileLink = path: { - source = config.lib.file.mkOutOfStoreSymlink "${dotfiles}/${path}"; - recursive = true; + home.packages = + ( + with packageSets; + lib.flatten [ + system + shell + cli + network + development + ] + ) + ++ [ pkgs.lf ]; + + home.file = + let + mkDotfileLink = path: { + source = config.lib.file.mkOutOfStoreSymlink "${dotfiles}/${path}"; + recursive = true; + }; + in + { + ".zshenv" = mkDotfileLink ".zshenv"; + ".config/zsh/.zshrc" = mkDotfileLink ".config/zsh/.zshrc"; + ".config/shell" = mkDotfileLink ".config/shell"; + ".config/git" = mkDotfileLink ".config/git"; + ".config/nvim" = mkDotfileLink ".config/nvim"; + ".config/nix-zsh-plugins.zsh".text = '' + source ${pkgs.zsh-fast-syntax-highlighting}/share/zsh/plugins/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh + source ${pkgs.zsh-system-clipboard}/share/zsh/zsh-system-clipboard/zsh-system-clipboard.zsh + ''; + ".local" = mkDotfileLink ".local"; }; - in { - ".zshenv" = mkDotfileLink ".zshenv"; - ".config/zsh/.zshrc" = mkDotfileLink ".config/zsh/.zshrc"; - ".config/shell" = mkDotfileLink ".config/shell"; - ".config/git" = mkDotfileLink ".config/git"; - ".config/nvim" = mkDotfileLink ".config/nvim"; - ".config/nix-zsh-plugins.zsh".text = '' - source ${pkgs.zsh-fast-syntax-highlighting}/share/zsh/plugins/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh - source ${pkgs.zsh-system-clipboard}/share/zsh/zsh-system-clipboard/zsh-system-clipboard.zsh - ''; - ".local" = mkDotfileLink ".local"; - }; } - - diff --git a/users/root.nix b/users/root.nix @@ -2,49 +2,59 @@ lib, isDarwin ? false, ... -}: let - inherit ( import ../lib/dotfiles.nix ) dotfiles; -in { - environment.pathsToLink = if (!isDarwin) - then [ - "/share/applications" - "/share/xdg-desktop-portal" - ] else []; +}: +let + inherit (import ../modules/dotfiles.nix) dotfiles; +in +{ + environment.pathsToLink = + if (!isDarwin) then + [ + "/share/applications" + "/share/xdg-desktop-portal" + ] + else + [ ]; home-manager = { useGlobalPkgs = true; useUserPackages = true; - users.root = { pkgs, config, ... }: { + users.root = + { pkgs, config, ... }: + { - home = { - username = "root"; - stateVersion = if isDarwin then "25.05" else "25.11"; - file = let - mkDotfileLink = path: { - source = config.lib.file.mkOutOfStoreSymlink "${dotfiles}/${path}"; - recursive = true; - force = true; - }; - in { - # zsh no plugins - ".zshenv" = mkDotfileLink ".zshenv"; - ".config/zsh/.zshrc" = mkDotfileLink ".config/zsh/.zshrc"; - ".config/shell/bindings" = mkDotfileLink ".config/shell/bindings"; - ".config/shell/profile" = mkDotfileLink ".config/shell/profile"; - ".config/shell/aliases" = mkDotfileLink ".config/shell/aliases"; - ".config/git" = mkDotfileLink ".config/git"; + home = { + username = "root"; + stateVersion = if isDarwin then "25.05" else "25.11"; + file = + let + mkDotfileLink = path: { + source = config.lib.file.mkOutOfStoreSymlink "${dotfiles}/${path}"; + recursive = true; + force = true; + }; + in + { + # zsh no plugins + ".zshenv" = mkDotfileLink ".zshenv"; + ".config/zsh/.zshrc" = mkDotfileLink ".config/zsh/.zshrc"; + ".config/shell/bindings" = mkDotfileLink ".config/shell/bindings"; + ".config/shell/profile" = mkDotfileLink ".config/shell/profile"; + ".config/shell/aliases" = mkDotfileLink ".config/shell/aliases"; + ".config/git" = mkDotfileLink ".config/git"; - ".local/bin/.keep".text = ""; + ".local/bin/.keep".text = ""; - # nvim no plugins - ".config/nvim/init.lua" = mkDotfileLink ".config/nvim/init.lua"; - ".config/nvim/after" = mkDotfileLink ".config/nvim/after"; - ".config/nvim/lua/config" = mkDotfileLink ".config/nvim/lua/config"; + # nvim no plugins + ".config/nvim/init.lua" = mkDotfileLink ".config/nvim/init.lua"; + ".config/nvim/after" = mkDotfileLink ".config/nvim/after"; + ".config/nvim/lua/config" = mkDotfileLink ".config/nvim/lua/config"; + }; + } + // lib.optionalAttrs (!isDarwin) { + homeDirectory = "/root"; }; - } // lib.optionalAttrs (!isDarwin) { - homeDirectory = "/root"; }; - }; }; }