commit c84dca167320d6569dbe462aa8359bf002f5a889
parent e09a99231e1c1fbffc68e44e9efdf3163dcd88ae
Author: Toni Brown <me@tb148.net>
Date: Sat, 25 Apr 2026 22:14:50 +0800
move home manager to its own directory
Diffstat:
13 files changed, 133 insertions(+), 144 deletions(-)
diff --git a/flake.lock b/flake.lock
@@ -30,11 +30,11 @@
]
},
"locked": {
- "lastModified": 1776681486,
- "narHash": "sha256-akO/L6Jt4341uBnf3CIpJOTTYyCBQsSvP2hnikV2oMY=",
+ "lastModified": 1777024856,
+ "narHash": "sha256-OQ+yIcRMXo4UaHyX+W5DCgBvJ5dZo/3kFGWPJiuR6x8=",
"owner": "catppuccin",
"repo": "nix",
- "rev": "b85b328ecc9874f4e7424db2820333c148e8dd66",
+ "rev": "f41cc1cf13647e482b7317396f749840ef715e16",
"type": "github"
},
"original": {
@@ -125,11 +125,11 @@
]
},
"locked": {
- "lastModified": 1776904464,
- "narHash": "sha256-sBUCj7/4d3Hoevpu3oQp8ccJNA1EDeVmFi1F8O6VJro=",
+ "lastModified": 1777004352,
+ "narHash": "sha256-SV+9PgNwZ8jHVCjK6YaCBzaheLSW7cDnm5DpOYrD8Vw=",
"owner": "nix-community",
"repo": "home-manager",
- "rev": "667b3c47325441e6a444faaf405bba76ec70338a",
+ "rev": "6012cf1fed3eba66115f3fd117b9be6bd2a15b2f",
"type": "github"
},
"original": {
@@ -156,11 +156,11 @@
"lix": {
"flake": false,
"locked": {
- "lastModified": 1776867975,
- "narHash": "sha256-J9m2mbSeSpvz5zSQ4EkoHQTRzv09LFxytWH3inXh6cU=",
- "rev": "be34bc0481c29f858f9444989851a6527c3e813c",
+ "lastModified": 1776960573,
+ "narHash": "sha256-MheSE/ezR8UDgRrgmRlteNEAX/hBCM74oIh++co3AgU=",
+ "rev": "bb8bc31e58e09ddc9f278fb848dfa30faddfd625",
"type": "tarball",
- "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/be34bc0481c29f858f9444989851a6527c3e813c.tar.gz?rev=be34bc0481c29f858f9444989851a6527c3e813c"
+ "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/bb8bc31e58e09ddc9f278fb848dfa30faddfd625.tar.gz?rev=bb8bc31e58e09ddc9f278fb848dfa30faddfd625"
},
"original": {
"type": "tarball",
@@ -235,11 +235,11 @@
]
},
"locked": {
- "lastModified": 1776937778,
- "narHash": "sha256-TAf4BlvjNx270/lT/Mx6j7xNNP7flRC7tvYsA3xAsUc=",
+ "lastModified": 1777039524,
+ "narHash": "sha256-B8JItJqoioKiNMtVE5sCZC7EPH6xQ5XB93o19cO8HWs=",
"owner": "nix-community",
"repo": "NUR",
- "rev": "9012a65157afa8be22609ea509e0a2da48d14523",
+ "rev": "2bb24bf6cc7c6f9cbe547b02b359090cf79b57fe",
"type": "github"
},
"original": {
diff --git a/flake.nix b/flake.nix
@@ -68,7 +68,7 @@
home-manager.useUserPackages = true;
home-manager.users.tb148 = {
imports = [
- ./home.nix
+ ./home/.
betterfox.homeModules.betterfox
catppuccin.homeModules.catppuccin
];
diff --git a/home.nix b/home.nix
@@ -1,119 +0,0 @@
-{
- config,
- pkgs,
- ...
-}: {
- imports = [
- ./home/alacritty/.
- ./home/catppuccin/.
- ./home/firefox/.
- ./home/gpg/.
- ./home/ime/.
- ./home/jujutsu/.
- ./home/nushell/.
- ./home/zed-editor/.
- ];
-
- # Home Manager needs a bit of information about you and the
- # paths it should manage.
- home.username = "tb148";
- home.homeDirectory = "/home/tb148";
- home.file.".face.icon".source = ./avatar.png;
- home.file."${config.xdg.userDirs.pictures}/wallpaper.png".source = ./wallpaper.png;
-
- xdg.userDirs = {
- enable = true;
- createDirectories = true;
- desktop = "${config.home.homeDirectory}/desktop";
- documents = "${config.home.homeDirectory}/document";
- download = "${config.home.homeDirectory}/download";
- music = "${config.home.homeDirectory}/music";
- pictures = "${config.home.homeDirectory}/picture";
- publicShare = "${config.home.homeDirectory}/public";
- templates = "${config.home.homeDirectory}/template";
- videos = "${config.home.homeDirectory}/video";
- };
- xdg.userDirs.setSessionVariables = false;
-
- home.packages = with pkgs; [
- (catppuccin-kde.override {
- flavour = ["mocha"];
- accents = ["mauve"];
- winDecStyles = ["classic"];
- })
- (catppuccin-papirus-folders.override {
- flavor = "mocha";
- accent = "mauve";
- })
- ffmpeg
- fontforge-gtk
- inkscape
- jetbrains.idea
- krita
- libreoffice-qt-fresh
- (python314.withPackages (python-pkgs:
- with python-pkgs; [
- ipython
- virtualenv
- ]))
- onlyoffice-desktopeditors
- osu-lazer-bin
- ponysay
- qalculate-qt
- sequoia-sq
- ungoogled-chromium
- unrar
- vlc
- ];
-
- programs.bat.enable = true;
-
- programs.carapace.enable = true;
-
- programs.direnv.enable = true;
-
- programs.fastfetch.enable = true;
-
- programs.fd.enable = true;
-
- programs.fish.enable = true;
-
- programs.helix.enable = true;
-
- programs.hyfetch.enable = true;
-
- programs.pay-respects.enable = true;
-
- programs.starship.enable = true;
-
- programs.thunderbird.enable = true;
- programs.thunderbird.profiles.default.isDefault = true;
-
- programs.uv.enable = true;
-
- programs.zoxide.enable = true;
-
- programs.zsh.enable = true;
- programs.zsh.syntaxHighlighting.enable = true;
-
- home.shell.enableBashIntegration = true;
- home.shell.enableFishIntegration = true;
- home.shell.enableNushellIntegration = true;
- home.shell.enableZshIntegration = true;
-
- services.protonmail-bridge.enable = true;
- services.protonmail-bridge.extraPackages = [pkgs.kdePackages.kwallet];
-
- # This value determines the Home Manager release that your
- # configuration is compatible with. This helps avoid breakage
- # when a new Home Manager release introduces backwards
- # incompatible changes.
- #
- # You can update Home Manager without changing this value. See
- # the Home Manager release notes for a list of state version
- # changes in each release.
- home.stateVersion = "25.05";
-
- # Let Home Manager install and manage itself.
- programs.home-manager.enable = true;
-}
diff --git a/home/default.nix b/home/default.nix
@@ -0,0 +1,27 @@
+{...}: {
+ imports = [
+ ./alacritty/.
+ ./catppuccin/.
+ ./directory/.
+ ./firefox/.
+ ./gpg/.
+ ./ime/.
+ ./jujutsu/.
+ ./nushell/.
+ ./zed-editor/.
+ ./programs.nix
+ ];
+
+ # This value determines the Home Manager release that your
+ # configuration is compatible with. This helps avoid breakage
+ # when a new Home Manager release introduces backwards
+ # incompatible changes.
+ #
+ # You can update Home Manager without changing this value. See
+ # the Home Manager release notes for a list of state version
+ # changes in each release.
+ home.stateVersion = "25.05";
+
+ # Let Home Manager install and manage itself.
+ programs.home-manager.enable = true;
+}
diff --git a/avatar.png b/home/directory/avatar.png
Binary files differ.
diff --git a/home/directory/default.nix b/home/directory/default.nix
@@ -0,0 +1,21 @@
+{config, ...}: {
+ home.username = "tb148";
+ home.homeDirectory = "/home/tb148";
+ home.file.".face.icon".source = ./avatar.png;
+ home.file."${config.xdg.userDirs.pictures}/wallpaper.png".source = ./wallpaper.png;
+
+ xdg.userDirs = {
+ enable = true;
+ createDirectories = true;
+ desktop = "${config.home.homeDirectory}/desktop";
+ documents = "${config.home.homeDirectory}/document";
+ download = "${config.home.homeDirectory}/download";
+ music = "${config.home.homeDirectory}/music";
+ pictures = "${config.home.homeDirectory}/picture";
+ projects = "${config.home.homeDirectory}/projects";
+ publicShare = "${config.home.homeDirectory}/public";
+ templates = "${config.home.homeDirectory}/template";
+ videos = "${config.home.homeDirectory}/video";
+ };
+ xdg.userDirs.setSessionVariables = true;
+}
diff --git a/wallpaper.png b/home/directory/wallpaper.png
Binary files differ.
diff --git a/猫娘.png b/home/directory/猫娘.png
Binary files differ.
diff --git a/home/firefox/default.nix b/home/firefox/default.nix
@@ -1,4 +1,8 @@
-{pkgs, ...}: {
+{
+ pkgs,
+ config,
+ ...
+}: {
programs.firefox = {
enable = true;
betterfox = {
@@ -7,6 +11,7 @@
enableAllSections = true;
};
};
+ configPath = "${config.xdg.configHome}/mozilla/firefox";
nativeMessagingHosts = [pkgs.kdePackages.plasma-browser-integration];
profiles.default = {
extensions = {
diff --git a/home/nushell/config.nu b/home/nushell/config.nu
@@ -1,7 +0,0 @@
-$env.config.buffer_editor = "hx"
-$env.config.show_banner = false
-$env.EDITOR = "hx"
-$env.SHELL = "nu"
-
-alias zed = zeditor
-alias zn = zeditor -n
diff --git a/home/nushell/default.nix b/home/nushell/default.nix
@@ -1,4 +1,17 @@
{...}: {
- programs.nushell.enable = true;
- programs.nushell.configFile.source = ./config.nu;
+ programs.nushell = {
+ enable = true;
+ environmentVariables = {
+ EDITOR = "hx";
+ SHELL = "nu";
+ };
+ settings = {
+ buffer_editor = "hx";
+ show_banner = false;
+ };
+ shellAliases = {
+ zed = "zeditor";
+ };
+ };
+ home.shell.enableNushellIntegration = true;
}
diff --git a/home/programs.nix b/home/programs.nix
@@ -0,0 +1,50 @@
+{pkgs, ...}: {
+ home.packages = with pkgs; [
+ (catppuccin-kde.override {
+ flavour = ["mocha"];
+ accents = ["mauve"];
+ winDecStyles = ["classic"];
+ })
+ (catppuccin-papirus-folders.override {
+ flavor = "mocha";
+ accent = "mauve";
+ })
+ ffmpeg
+ fontforge-gtk
+ inkscape
+ jetbrains.idea
+ krita
+ libreoffice-qt-fresh
+ (python314.withPackages (python-pkgs:
+ with python-pkgs; [
+ ipython
+ virtualenv
+ ]))
+ onlyoffice-desktopeditors
+ osu-lazer-bin
+ ponysay
+ qalculate-qt
+ sequoia-sq
+ ungoogled-chromium
+ unrar
+ vlc
+ ];
+
+ programs.bat.enable = true;
+ programs.carapace.enable = true;
+ programs.direnv.enable = true;
+ programs.fastfetch.enable = true;
+ programs.fd.enable = true;
+ programs.helix.enable = true;
+ programs.hyfetch.enable = true;
+ programs.nix-index.enable = true;
+ programs.opencode.enable = true;
+ programs.pay-respects.enable = true;
+ programs.starship.enable = true;
+ programs.thunderbird.enable = true;
+ programs.thunderbird.profiles.default.isDefault = true;
+ programs.uv.enable = true;
+ programs.zoxide.enable = true;
+ services.protonmail-bridge.enable = true;
+ services.protonmail-bridge.extraPackages = [pkgs.kdePackages.kwallet];
+}
diff --git a/home/zed-editor/default.nix b/home/zed-editor/default.nix
@@ -5,7 +5,6 @@
alejandra
dprint
nil
- nixd
prettier
tombi
vscode-json-languageserver