diff --git a/nix/configuration/configuration.nix b/nix/configuration/configuration.nix index 09a85e0..01b0504 100644 --- a/nix/configuration/configuration.nix +++ b/nix/configuration/configuration.nix @@ -2,7 +2,6 @@ config, lib, pkgs, - home-manager, ... }: @@ -79,11 +78,11 @@ ]; # me.install.user.file.talexander.".local/nixcfg" = ./README.org; - me.install.user.talexander.file.".local/nixcfg" = { - source = ./roles; - recursive = true; - method = "overwrite"; - }; + # me.install.user.talexander.file.".local/nixcfg" = { + # source = ./roles; + # # recursive = true; + # # method = "overwrite"; + # }; nix.settings.experimental-features = [ "nix-command" @@ -130,21 +129,6 @@ ]; }; users.groups.talexander.gid = 11235; - home-manager.users.talexander = - { pkgs, ... }: - { - # The state version is required and should stay at the version you - # originally installed. - home.stateVersion = "24.11"; - }; - - home-manager.users.root = - { pkgs, ... }: - { - # The state version is required and should stay at the version you - # originally installed. - home.stateVersion = "24.11"; - }; # Automatic garbage collection nix.gc = lib.mkIf (!config.me.buildingIso) { diff --git a/nix/configuration/flake.lock b/nix/configuration/flake.lock index a5eaabe..455a82b 100644 --- a/nix/configuration/flake.lock +++ b/nix/configuration/flake.lock @@ -147,26 +147,6 @@ "type": "github" } }, - "home-manager": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1751549056, - "narHash": "sha256-miKaJ4SFNxhZ/WVDADae2jNd9zka5bV9hKmXspAzvxo=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "1fa73bb2cc39e250eb01e511ae6ac83bfbf9f38c", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "home-manager", - "type": "github" - } - }, "impermanence": { "locked": { "lastModified": 1737831083, @@ -303,7 +283,6 @@ "inputs": { "ansible-sshjail": "ansible-sshjail", "disko": "disko", - "home-manager": "home-manager", "impermanence": "impermanence", "lanzaboote": "lanzaboote", "nixpkgs": "nixpkgs", diff --git a/nix/configuration/flake.nix b/nix/configuration/flake.nix index dec37cf..54b2c84 100644 --- a/nix/configuration/flake.nix +++ b/nix/configuration/flake.nix @@ -45,8 +45,6 @@ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs-dda3dcd3f.url = "github:NixOS/nixpkgs/dda3dcd3fe03e991015e9a74b22d35950f264a54"; nixpkgs-unoptimized.url = "github:NixOS/nixpkgs/nixos-unstable"; - home-manager.url = "github:nix-community/home-manager"; - home-manager.inputs.nixpkgs.follows = "nixpkgs"; lanzaboote = { url = "github:nix-community/lanzaboote/v0.4.2"; @@ -78,7 +76,6 @@ nixpkgs-unoptimized, nixpkgs-dda3dcd3f, impermanence, - home-manager, lanzaboote, zsh-histdb, ansible-sshjail, @@ -99,13 +96,8 @@ }; modules = [ impermanence.nixosModules.impermanence - home-manager.nixosModules.home-manager lanzaboote.nixosModules.lanzaboote inputs.disko.nixosModules.disko - { - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - } { nixpkgs.overlays = [ zsh-histdb.overlays.default diff --git a/nix/configuration/roles/alacritty/default.nix b/nix/configuration/roles/alacritty/default.nix index e691ad8..e6e85f7 100644 --- a/nix/configuration/roles/alacritty/default.nix +++ b/nix/configuration/roles/alacritty/default.nix @@ -24,13 +24,11 @@ xdg-utils # for xdg-open ]; - home-manager.users.talexander = - { pkgs, ... }: - { - home.file.".config/alacritty/alacritty.toml" = { - source = ./files/alacritty.toml; - }; + me.install.user.talexander.file = { + ".config/alacritty/alacritty.toml" = { + source = ./files/alacritty.toml; }; + }; }) ] ); diff --git a/nix/configuration/roles/emacs/default.nix b/nix/configuration/roles/emacs/default.nix index 4fd70ee..8689db6 100644 --- a/nix/configuration/roles/emacs/default.nix +++ b/nix/configuration/roles/emacs/default.nix @@ -141,14 +141,12 @@ in }) ]; - home-manager.users.talexander = - { pkgs, ... }: - { - home.file.".config/emacs" = { - source = ./files/emacs; - recursive = true; - }; + me.install.user.talexander.file = { + ".config/emacs" = { + source = ./files/emacs; + recursive = true; }; + }; }) (lib.mkIf (config.me.emacs_flavor == "plainmacs") { nixpkgs.overlays = [ diff --git a/nix/configuration/roles/git/default.nix b/nix/configuration/roles/git/default.nix index 5f0e57d..db65e52 100644 --- a/nix/configuration/roles/git/default.nix +++ b/nix/configuration/roles/git/default.nix @@ -36,13 +36,11 @@ in ]; } (lib.mkIf (config.me.git.config != null) { - home-manager.users.talexander = - { pkgs, ... }: - { - home.file.".gitconfig" = { - source = config.me.git.config; - }; + me.install.user.talexander.file = { + ".gitconfig" = { + source = config.me.git.config; }; + }; }) (lib.mkIf (config.me.graphical) { nixpkgs.overlays = [ diff --git a/nix/configuration/roles/gpg/default.nix b/nix/configuration/roles/gpg/default.nix index cb8b4b2..eeab4d3 100644 --- a/nix/configuration/roles/gpg/default.nix +++ b/nix/configuration/roles/gpg/default.nix @@ -57,14 +57,11 @@ in # disable-ccid = true; # }; - # .gnupg/scdaemon.conf - home-manager.users.talexander = - { pkgs, ... }: - { - home.file.".gnupg/scdaemon.conf" = { - source = ./files/scdaemon.conf; - }; + me.install.user.talexander.file = { + ".gnupg/scdaemon.conf" = { + source = ./files/scdaemon.conf; }; + }; # programs.gnupg.dirmngr.enable = true; programs.gnupg.agent = { diff --git a/nix/configuration/roles/kanshi/default.nix b/nix/configuration/roles/kanshi/default.nix index b1fdbb9..be886c4 100644 --- a/nix/configuration/roles/kanshi/default.nix +++ b/nix/configuration/roles/kanshi/default.nix @@ -41,15 +41,11 @@ in exec_kanshi ]; - home-manager.users.talexander = - { pkgs, ... }: - { - home.file = { - ".config/kanshi/config" = { - source = ./files/config_kanshi; - }; - }; + me.install.user.talexander.file = { + ".config/kanshi/config" = { + source = ./files/config_kanshi; }; + }; }) ] ); diff --git a/nix/configuration/roles/kodi/default.nix b/nix/configuration/roles/kodi/default.nix index b37bf06..d67e3fd 100644 --- a/nix/configuration/roles/kodi/default.nix +++ b/nix/configuration/roles/kodi/default.nix @@ -78,21 +78,13 @@ }; }; - home-manager.users.kodi = - { pkgs, ... }: - { - # home.file.".kodi/userdata/mediasources.xml".source = ./files/mediasources.xml; + # home.file.".kodi/userdata/mediasources.xml".source = ./files/mediasources.xml; - # home.file.".kodi/userdata/addon_data/peripheral.joystick/resources/buttonmaps/xml/linux/DualSense_Wireless_Controller_13b_8a.xml".source = - # ./files/DualSense_Wireless_Controller_13b_8a.xml; + # home.file.".kodi/userdata/addon_data/peripheral.joystick/resources/buttonmaps/xml/linux/DualSense_Wireless_Controller_13b_8a.xml".source = + # ./files/DualSense_Wireless_Controller_13b_8a.xml; - # TODO: Maybe .kodi/userdata/sources.xml - # TODO: ./userdata/guisettings.xml:303: 128 - - # The state version is required and should stay at the version you - # originally installed. - home.stateVersion = "24.11"; - }; + # TODO: Maybe .kodi/userdata/sources.xml + # TODO: ./userdata/guisettings.xml:303: 128 }) ] ); diff --git a/nix/configuration/roles/media/default.nix b/nix/configuration/roles/media/default.nix index 7fd4e67..e121fc0 100644 --- a/nix/configuration/roles/media/default.nix +++ b/nix/configuration/roles/media/default.nix @@ -52,13 +52,11 @@ in imv ]; - home-manager.users.talexander = - { pkgs, ... }: - { - home.file.".config/mpv/mpv.conf" = { - source = ./files/mpv.conf; - }; + me.install.user.talexander.file = { + ".config/mpv/mpv.conf" = { + source = ./files/mpv.conf; }; + }; }) (lib.mkIf (config.me.graphics_card_type == "amd" || config.me.graphics_card_type == "intel") { environment.systemPackages = with pkgs; [ diff --git a/nix/configuration/roles/pcsx2/default.nix b/nix/configuration/roles/pcsx2/default.nix index 2af42ea..a5866da 100644 --- a/nix/configuration/roles/pcsx2/default.nix +++ b/nix/configuration/roles/pcsx2/default.nix @@ -82,13 +82,11 @@ }; }; - home-manager.users.talexander = - { pkgs, ... }: - { - home.file.".config/PCSX2/inis/PCSX2.ini" = { - source = ./files/PCSX2.ini; - }; + me.install.user.talexander.file = { + ".config/PCSX2/inis/PCSX2.ini" = { + source = ./files/PCSX2.ini; }; + }; }) ] ); diff --git a/nix/configuration/roles/rpcs3/default.nix b/nix/configuration/roles/rpcs3/default.nix index 2182cd3..7d2d074 100644 --- a/nix/configuration/roles/rpcs3/default.nix +++ b/nix/configuration/roles/rpcs3/default.nix @@ -70,28 +70,26 @@ in } ]; - home-manager.users.talexander = - { pkgs, ... }: - { - home.file.".config/rpcs3/config.yml" = lib.mkIf (config.me.rpcs3.config != null) { - source = rpcs3_config_yaml; - }; - home.file.".config/rpcs3/GuiConfigs/CurrentSettings.ini" = { - source = ./files/CurrentSettings.ini; - }; - home.file.".config/rpcs3/custom_configs/config_BLUS30443.yml" = { - # Demon's Souls per-game config. - source = ./files/config_BLUS30443.yml; - }; - home.file.".config/rpcs3/patches/patch.yml" = { - # All of the available patches. - source = ./files/patch.yml; - }; - home.file.".config/rpcs3/patch_config.yml" = { - # Patches that I have enabled. - source = ./files/patch_config.yml; - }; + me.install.user.talexander.file = { + ".config/rpcs3/config.yml" = lib.mkIf (config.me.rpcs3.config != null) { + source = rpcs3_config_yaml; }; + ".config/rpcs3/GuiConfigs/CurrentSettings.ini" = { + source = ./files/CurrentSettings.ini; + }; + ".config/rpcs3/custom_configs/config_BLUS30443.yml" = { + # Demon's Souls per-game config. + source = ./files/config_BLUS30443.yml; + }; + ".config/rpcs3/patches/patch.yml" = { + # All of the available patches. + source = ./files/patch.yml; + }; + ".config/rpcs3/patch_config.yml" = { + # Patches that I have enabled. + source = ./files/patch_config.yml; + }; + }; environment.persistence."/persist" = lib.mkIf (!config.me.buildingIso) { hideMounts = true; diff --git a/nix/configuration/roles/rust/default.nix b/nix/configuration/roles/rust/default.nix index 8482484..4ac6cb2 100644 --- a/nix/configuration/roles/rust/default.nix +++ b/nix/configuration/roles/rust/default.nix @@ -48,18 +48,14 @@ in # ? cargo-public-api ]; - home-manager.users.talexander = - { pkgs, ... }: - { - home.file = { - ".cargo/config.toml" = { - source = ./files/cargo_config.toml; - }; - ".rustup/settings.toml" = { - source = ./files/rustup_settings.toml; - }; - }; + me.install.user.talexander.file = { + ".cargo/config.toml" = { + source = ./files/cargo_config.toml; }; + ".rustup/settings.toml" = { + source = ./files/rustup_settings.toml; + }; + }; environment.persistence."/state" = lib.mkIf (!config.me.buildingIso) { hideMounts = true; diff --git a/nix/configuration/roles/shadps4/default.nix b/nix/configuration/roles/shadps4/default.nix index 8615466..08bc049 100644 --- a/nix/configuration/roles/shadps4/default.nix +++ b/nix/configuration/roles/shadps4/default.nix @@ -24,13 +24,11 @@ shadps4 ]; - home-manager.users.talexander = - { pkgs, ... }: - { - home.file.".local/share/shadPS4/config.toml" = { - source = ./files/config.toml; - }; + me.install.user.talexander.file = { + ".local/share/shadPS4/config.toml" = { + source = ./files/config.toml; }; + }; environment.persistence."/persist" = lib.mkIf (!config.me.buildingIso) { hideMounts = true; diff --git a/nix/configuration/roles/shikane/default.nix b/nix/configuration/roles/shikane/default.nix index 728bb4f..1d79348 100644 --- a/nix/configuration/roles/shikane/default.nix +++ b/nix/configuration/roles/shikane/default.nix @@ -36,15 +36,11 @@ in exec_shikane ]; - home-manager.users.talexander = - { pkgs, ... }: - { - home.file = { - ".config/shikane/config.toml" = { - source = ./files/config.toml; - }; - }; + me.install.user.talexander.file = { + ".config/shikane/config.toml" = { + source = ./files/config.toml; }; + }; }) ] ); diff --git a/nix/configuration/roles/ssh/default.nix b/nix/configuration/roles/ssh/default.nix index f4c1d8b..3c7dc68 100644 --- a/nix/configuration/roles/ssh/default.nix +++ b/nix/configuration/roles/ssh/default.nix @@ -27,19 +27,14 @@ }; }; - home-manager.users.talexander = - { pkgs, ... }: - { - home.file.".ssh/config" = { - source = ./files/ssh_config; - }; + me.install.user.root.file = { + ".ssh/config" = { + source = ./files/ssh_config_root; }; - - home-manager.users.root = - { pkgs, ... }: - { - home.file.".ssh/config" = { - source = ./files/ssh_config_root; - }; + }; + me.install.user.talexander.file = { + ".ssh/config" = { + source = ./files/ssh_config; }; + }; } diff --git a/nix/configuration/roles/sway/default.nix b/nix/configuration/roles/sway/default.nix index 6100cab..04a636a 100644 --- a/nix/configuration/roles/sway/default.nix +++ b/nix/configuration/roles/sway/default.nix @@ -376,26 +376,18 @@ in }; }; - home-manager.users.talexander = - { pkgs, ... }: - { - home.file = { - # Configure default programs (for example, default browser) - ".config/mimeapps.list" = { - source = ./files/mimeapps.list; - }; - }; - home.file = { - ".config/gtk-3.0/settings.ini" = { - source = ./files/settings.ini; - }; - }; - home.file = { - ".icons/default" = { - source = "${pkgs.adwaita-icon-theme}/share/icons/Adwaita"; - }; - }; + me.install.user.talexander.file = { + ".config/mimeapps.list" = { + # Configure default programs (for example, default browser) + source = ./files/mimeapps.list; }; + ".config/gtk-3.0/settings.ini" = { + source = ./files/settings.ini; + }; + ".icons/default" = { + source = "${pkgs.adwaita-icon-theme}/share/icons/Adwaita"; + }; + }; # For mounting drives in pcmanfm services.gvfs.enable = true; diff --git a/nix/configuration/roles/vscode/default.nix b/nix/configuration/roles/vscode/default.nix index af50003..b37b0e0 100644 --- a/nix/configuration/roles/vscode/default.nix +++ b/nix/configuration/roles/vscode/default.nix @@ -48,16 +48,14 @@ }) ]; - home-manager.users.talexander = - { pkgs, ... }: - { - home.file.".config/Code/User/settings.json" = { - source = ./files/settings.json; - }; - home.file.".config/Code/User/keybindings.json" = { - source = ./files/keybindings.json; - }; + me.install.user.talexander.file = { + ".config/Code/User/settings.json" = { + source = ./files/settings.json; }; + ".config/Code/User/keybindings.json" = { + source = ./files/keybindings.json; + }; + }; }) ] ); diff --git a/nix/configuration/roles/waybar/default.nix b/nix/configuration/roles/waybar/default.nix index ea03b4f..b2ef5d3 100644 --- a/nix/configuration/roles/waybar/default.nix +++ b/nix/configuration/roles/waybar/default.nix @@ -113,18 +113,14 @@ in services.upower.enable = true; # for battery - home-manager.users.talexander = - { pkgs, ... }: - { - home.file = { - ".config/waybar/config" = { - source = ./files/waybar_config.json; - }; - ".config/waybar/style.css" = { - source = ./files/style.css; - }; - }; + me.install.user.talexander.file = { + ".config/waybar/config" = { + source = ./files/waybar_config.json; }; + ".config/waybar/style.css" = { + source = ./files/style.css; + }; + }; }) ] ); diff --git a/nix/configuration/roles/zsh/default.nix b/nix/configuration/roles/zsh/default.nix index 518fdda..2a4fdfe 100644 --- a/nix/configuration/roles/zsh/default.nix +++ b/nix/configuration/roles/zsh/default.nix @@ -90,13 +90,11 @@ in enable = true; }; - home-manager.users.talexander = - { pkgs, ... }: - { - home.file.".zshrc" = { - source = "${zshrc}"; - }; + me.install.user.talexander.file = { + ".zshrc" = { + source = "${zshrc}"; }; + }; environment.persistence."/persist" = lib.mkIf (!config.me.buildingIso) { hideMounts = true; diff --git a/nix/configuration/util/install_files/default.nix b/nix/configuration/util/install_files/default.nix index 928b838..6d7333f 100644 --- a/nix/configuration/util/install_files/default.nix +++ b/nix/configuration/util/install_files/default.nix @@ -72,7 +72,8 @@ let else [ '' - $DRY_RUN_CMD install $VERBOSE_ARG -D --compare ${flags} ${source} ${destination} + create_containing_directories ${destination} ${dir_flags} + $DRY_RUN_CMD install $VERBOSE_ARG --compare ${flags} ${source} ${destination} '' ] ); @@ -142,6 +143,7 @@ let else [ '' + create_containing_directories ${destination} ${dir_flags} $DRY_RUN_CMD ln $VERBOSE_ARG -s ${source} ${destination} $DRY_RUN_CMD chown $VERBOSE_ARG -h ${owner} ${destination} '' @@ -298,7 +300,7 @@ in description = "me-install-file"; wantedBy = [ "multi-user.target" ]; wants = [ "multi-user.target" ]; - after = [ "multi-user.target" ]; + before = [ "multi-user.target" ]; # path = with pkgs; [ # zfs # ];