1
0
Fork 0

Separate home-manager profile into its own directory

This commit is contained in:
Ethan Reece 2025-07-17 14:40:56 -05:00
parent 12b2c45936
commit 659c6a82a4
Signed by: me
GPG key ID: DD8CE04D5D8FF832
7 changed files with 109 additions and 46 deletions

2
.envrc
View file

@ -4,4 +4,6 @@
watch_dir ./sops
watch_file ./home-manager/default.nix
watch_file ./home-manager/profiles/default.nix
watch_file ./home-manager/profiles/*/default.nix
use flake

24
flake.lock generated
View file

@ -365,11 +365,11 @@
]
},
"locked": {
"lastModified": 1752467539,
"narHash": "sha256-4kaR+xmng9YPASckfvIgl5flF/1nAZOplM+Wp9I5SMI=",
"lastModified": 1752780113,
"narHash": "sha256-w312x4qtwWzJZSLG8c9srlr/hQTh1IfyOaV40xmg4Fg=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "1e54837569e0b80797c47be4720fab19e0db1616",
"rev": "e595fe1df49d75e971b33f311e365f032089f450",
"type": "github"
},
"original": {
@ -484,11 +484,11 @@
},
"nixpkgs_4": {
"locked": {
"lastModified": 1752446735,
"narHash": "sha256-Nz2vtUEaRB/UjvPfuhHpez060P/4mvGpXW4JCDIboA4=",
"lastModified": 1752747119,
"narHash": "sha256-2Kp9St3Pbsmu+xMsobLcgzzUxPvZR7alVJWyuk2BAPc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a421ac6595024edcfbb1ef950a3712b89161c359",
"rev": "fa0ef8a6bb1651aa26c939aeb51b5f499e86b0ec",
"type": "github"
},
"original": {
@ -536,11 +536,11 @@
"nixpkgs": "nixpkgs_5"
},
"locked": {
"lastModified": 1752565432,
"narHash": "sha256-F19/GfIJ34mJRoE2rQ/saS4281RMrLiS6O45gJcuhgE=",
"lastModified": 1752764131,
"narHash": "sha256-ICuzcl6k4/zxjsXjMm+CIDHroLSuVPYEWAZvjMsZtbg=",
"owner": "nix-community",
"repo": "NUR",
"rev": "d5221bc958f3a8e5ab5edb33a4745da90c709049",
"rev": "a354aa8bcab5191c01acba64b4fdc81ede297757",
"type": "github"
},
"original": {
@ -632,11 +632,11 @@
"tinted-zed": "tinted-zed"
},
"locked": {
"lastModified": 1752525684,
"narHash": "sha256-VmzzmgM0Cz73cYcy7qyOPTK7qj38/PvlR+bQRRDaLV0=",
"lastModified": 1752750082,
"narHash": "sha256-NoVAqy+Wj4tgkvrYB8zWncl8Z6Hb80aX3t/TYGdsfaM=",
"owner": "danth",
"repo": "stylix",
"rev": "7f7472cc908a65964fdcc541a978bf8fd1c488f9",
"rev": "03699ed214f6e8195bc7199d6ae3aeccf9732b08",
"type": "github"
},
"original": {

View file

@ -4,25 +4,42 @@
{ inputs, withSystem, ... }:
{
imports = [ inputs.home-manager.flakeModules.home-manager ];
imports = [
inputs.home-manager.flakeModules.home-manager
./profiles
];
# https://nix-community.github.io/home-manager/options.xhtml
flake.homeConfigurations = {
asahi = withSystem "aarch64-linux" (
{ pkgs, ... }:
inputs.home-manager.lib.homeManagerConfiguration {
inherit pkgs;
extraSpecialArgs = { inherit inputs pkgs; };
modules = [
{ nixpkgs.overlays = [ inputs.nur.overlays.default ]; }
inputs.lix-module.nixosModules.default
inputs.sops-nix.homeManagerModules.sops
inputs.stylix.homeModules.stylix
inputs.catppuccin.homeModules.catppuccin
./home.nix
];
}
);
};
# flake.homeConfigurations = {
# asahi = withSystem "aarch64-linux" (
# { pkgs, ... }:
# inputs.home-manager.lib.homeManagerConfiguration {
# inherit pkgs;
# extraSpecialArgs = { inherit inputs pkgs; };
# modules = [
# { nixpkgs.overlays = [ inputs.nur.overlays.default ]; }
# inputs.lix-module.nixosModules.default
# inputs.sops-nix.homeManagerModules.sops
# inputs.stylix.homeModules.stylix
# inputs.catppuccin.homeModules.catppuccin
# ./home.nix
# ];
# }
# );
# raspi = withSystem "aarch64-linux" (
# { pkgs, ... }:
# inputs.home-manager.lib.homeHamagerConfiguration {
# inherit pkgs;
# extraSpecialArgs = { inherit inputs pkgs; };
# modules = [
# inputs.lix-module.nixosModules.default
# inputs.sops-nix.homeManagerModules.sops
# inputs.stylix.homeModules.stylix
# inputs.catppuccin.homeModules.catppuccin
# ./home.nix
# ];
# }
# );
# };
perSystem =
{ config, system, ... }:
let
@ -38,18 +55,6 @@
_module.args.pkgs = pkgs;
devshells.default = {
commands = [
{
help = " `home-manager switch` for asahi";
name = "hm-asahi";
command = "${pkgs.home-manager}/bin/home-manager switch --flake .#asahi";
category = " home-manager (Asahi)";
}
{
help = "󰸨 `home-manager switch` for asahi with backup";
name = "hm-asahi-backup";
command = "${pkgs.home-manager}/bin/home-manager switch --flake .#asahi -b backup";
category = " home-manager (Asahi)";
}
{
help = "󰘥 show home-manager documentation";
name = "man-home";
@ -59,7 +64,5 @@
];
packages = [ pkgs.home-manager ];
};
pre-commit.settings.excludes = [ "home-manager/vencord.nix" ];
treefmt.settings.global.excludes = [ "home-manager/vencord.nix" ];
};
}

View file

@ -0,0 +1,28 @@
# SPDX-FileCopyrightText: 2025 Ethan Reece <contact@ethanreece.com>
#
# SPDX-License-Identifier: MIT
{ inputs, withSystem, ... }:
{
flake.homeConfigurations = {
asahi = withSystem "aarch64-linux" (
{ pkgs, ... }:
inputs.home-manager.lib.homeManagerConfiguration {
inherit pkgs;
extraSpecialArgs = { inherit inputs pkgs; };
modules = [
{ nixpkgs.overlays = [ inputs.nur.overlays.default ]; }
inputs.lix-module.nixosModules.default
inputs.sops-nix.homeManagerModules.sops
inputs.stylix.homeModules.stylix
inputs.catppuccin.homeModules.catppuccin
./home.nix
];
}
);
};
perSystem = {
pre-commit.settings.excludes = [ "home-manager/profiles/asahi/vencord.nix" ];
treefmt.settings.global.excludes = [ "home-manager/profiles/asahi/vencord.nix" ];
};
}

View file

@ -22,7 +22,7 @@ in
secrets = {
openrouter_api_key = { };
};
defaultSopsFile = ../sops/secrets.yaml;
defaultSopsFile = ../../../sops/secrets.yaml;
age.keyFile = /home/${username}/.config/sops/age/keys.txt;
};
# https://nix.catppuccin.com/search/rolling/
@ -103,7 +103,7 @@ in
(config.lib.nixGL.wrap pkgs.kdePackages.audiotube)
pkgs.kdePackages.dolphin
pkgs.kdePackages.falkon
pkgs.ladybird
# pkgs.ladybird
# pkgs.languagetool - TODO: should be used on NixOS
pkgs.libreoffice-fresh
pkgs.librewolf # TODO: switch to programs.librewolf

View file

@ -0,0 +1,30 @@
# SPDX-FileCopyrightText: 2025 Ethan Reece <contact@ethanreece.com>
#
# SPDX-License-Identifier: MIT
{ ... }:
let
entries = builtins.attrNames (builtins.readDir ./.);
modules = builtins.filter (dir: builtins.pathExists (./. + "/${dir}/default.nix")) entries;
in
{
imports = builtins.map (name: (./. + "/${name}")) modules;
perSystem =
{ config, pkgs, ... }:
{
devshells.default.commands = builtins.concatMap (name: [
{
help = " `home-manager switch` for ${name}";
name = "hm-${name}";
command = "${pkgs.home-manager}/bin/home-manager switch --flake .#${name}";
category = " home-manager (${name})";
}
{
help = "󰸨 `home-manager switch` for ${name} with backup";
name = "hm-${name}-backup";
command = "${pkgs.home-manager}/bin/home-manager switch --flake .#${name} -b backup";
category = " home-manager (${name})";
}
]) modules;
};
}