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
# ];