diff --git a/modules/chidi.nix b/modules/chidi.nix index 8c08550..92895e6 100644 --- a/modules/chidi.nix +++ b/modules/chidi.nix @@ -1,4 +1,28 @@ {den, ...}: { + den.hosts.aarch64-darwin.chidi.users.cschmatzler.aspect = "chidi-cschmatzler"; + + den.aspects.chidi-cschmatzler = { + includes = [ + den.aspects.shell + den.aspects.ssh-client + den.aspects.terminal + den.aspects.atuin + den.aspects.dev-tools + den.aspects.neovim + den.aspects.ai-tools + den.aspects.secrets + den.aspects.zellij + den.aspects.zk + den.aspects.desktop + ]; + + homeManager = {...}: { + programs.home-manager.enable = true; + fonts.fontconfig.enable = true; + programs.git.settings.user.email = "christoph@tuist.dev"; + }; + }; + den.aspects.chidi.includes = [ (den.lib.perHost { includes = [ @@ -16,26 +40,5 @@ ]; }; }) - (den.lib.perUser { - includes = [ - den.aspects.cschmatzler - den.aspects.shell - den.aspects.ssh-client - den.aspects.terminal - den.aspects.atuin - den.aspects.dev-tools - den.aspects.neovim - den.aspects.ai-tools - den.aspects.secrets - den.aspects.zellij - den.aspects.zk - den.aspects.desktop - ]; - - homeManager = {...}: { - fonts.fontconfig.enable = true; - programs.git.settings.user.email = "christoph@tuist.dev"; - }; - }) ]; } diff --git a/modules/defaults.nix b/modules/defaults.nix index fc978e4..1800df2 100644 --- a/modules/defaults.nix +++ b/modules/defaults.nix @@ -39,7 +39,6 @@ shell = ./shell.nix; ssh-client = ./ssh-client.nix; terminal = ./terminal.nix; - user = ./user.nix; zellij = ./zellij.nix; zk = ./zk.nix; }; diff --git a/modules/jason.nix b/modules/jason.nix index 01a1e15..fe00bb4 100644 --- a/modules/jason.nix +++ b/modules/jason.nix @@ -1,4 +1,28 @@ {den, ...}: { + den.hosts.aarch64-darwin.jason.users.cschmatzler.aspect = "jason-cschmatzler"; + + den.aspects.jason-cschmatzler = { + includes = [ + den.aspects.shell + den.aspects.ssh-client + den.aspects.terminal + den.aspects.atuin + den.aspects.dev-tools + den.aspects.neovim + den.aspects.ai-tools + den.aspects.secrets + den.aspects.zellij + den.aspects.zk + den.aspects.desktop + ]; + + homeManager = {...}: { + programs.home-manager.enable = true; + fonts.fontconfig.enable = true; + programs.git.settings.user.email = "christoph@schmatzler.com"; + }; + }; + den.aspects.jason.includes = [ (den.lib.perHost { includes = [ @@ -12,26 +36,5 @@ networking.computerName = "jason"; }; }) - (den.lib.perUser { - includes = [ - den.aspects.cschmatzler - den.aspects.shell - den.aspects.ssh-client - den.aspects.terminal - den.aspects.atuin - den.aspects.dev-tools - den.aspects.neovim - den.aspects.ai-tools - den.aspects.secrets - den.aspects.zellij - den.aspects.zk - den.aspects.desktop - ]; - - homeManager = {...}: { - fonts.fontconfig.enable = true; - programs.git.settings.user.email = "christoph@schmatzler.com"; - }; - }) ]; } diff --git a/modules/michael.nix b/modules/michael.nix index d3eacb3..cadc268 100644 --- a/modules/michael.nix +++ b/modules/michael.nix @@ -3,6 +3,16 @@ inputs, ... }: { + den.hosts.x86_64-linux.michael.users.cschmatzler.aspect = "michael-cschmatzler"; + + den.aspects.michael-cschmatzler = { + includes = [den.aspects.shell]; + + homeManager = {...}: { + programs.home-manager.enable = true; + }; + }; + den.aspects.michael.includes = [ (den.lib.perHost { includes = [ diff --git a/modules/tahani.nix b/modules/tahani.nix index 9526458..77aedcc 100644 --- a/modules/tahani.nix +++ b/modules/tahani.nix @@ -1,4 +1,73 @@ {den, ...}: { + den.hosts.x86_64-linux.tahani.users.cschmatzler.aspect = "tahani-cschmatzler"; + + den.aspects.tahani-cschmatzler = { + includes = [ + den.aspects.shell + den.aspects.ssh-client + den.aspects.terminal + den.aspects.atuin + den.aspects.dev-tools + den.aspects.neovim + den.aspects.ai-tools + den.aspects.secrets + den.aspects.zellij + den.aspects.zk + den.aspects.email + ]; + + homeManager = { + config, + inputs', + ... + }: let + opencode = inputs'.llm-agents.packages.opencode; + in { + programs.home-manager.enable = true; + programs.git.settings.user.email = "christoph@schmatzler.com"; + + programs.opencode.settings.permission.external_directory = { + "/tmp/himalaya-triage/*" = "allow"; + "/var/lib/paperless/consume/inbox-triage/*" = "allow"; + }; + + programs.nushell.extraConfig = '' + if $nu.is-interactive and ('SSH_CONNECTION' in ($env | columns)) and ('ZELLIJ' not-in ($env | columns)) { + try { + zellij attach -c main + exit + } catch { + print "zellij auto-start failed; staying in shell" + } + } + ''; + + systemd.user.services.opencode-inbox-triage = { + Unit = { + Description = "OpenCode inbox triage"; + }; + Service = { + Type = "oneshot"; + ExecStart = "${opencode}/bin/opencode run --command inbox-triage --model opencode-go/glm-5"; + Environment = "PATH=${config.home.profileDirectory}/bin:/run/current-system/sw/bin"; + }; + }; + + systemd.user.timers.opencode-inbox-triage = { + Unit = { + Description = "Run OpenCode inbox triage every 12 hours"; + }; + Timer = { + OnCalendar = "*-*-* 0/12:00:00"; + Persistent = true; + }; + Install = { + WantedBy = ["timers.target"]; + }; + }; + }; + }; + den.aspects.tahani.includes = [ (den.lib.perHost { includes = [ @@ -51,71 +120,5 @@ ]; }; }) - (den.lib.perUser { - includes = [ - den.aspects.cschmatzler - den.aspects.shell - den.aspects.ssh-client - den.aspects.terminal - den.aspects.atuin - den.aspects.dev-tools - den.aspects.neovim - den.aspects.ai-tools - den.aspects.secrets - den.aspects.zellij - den.aspects.zk - den.aspects.email - ]; - - homeManager = { - config, - inputs', - ... - }: let - opencode = inputs'.llm-agents.packages.opencode; - in { - programs.git.settings.user.email = "christoph@schmatzler.com"; - - programs.opencode.settings.permission.external_directory = { - "/tmp/himalaya-triage/*" = "allow"; - "/var/lib/paperless/consume/inbox-triage/*" = "allow"; - }; - - programs.nushell.extraConfig = '' - if $nu.is-interactive and ('SSH_CONNECTION' in ($env | columns)) and ('ZELLIJ' not-in ($env | columns)) { - try { - zellij attach -c main - exit - } catch { - print "zellij auto-start failed; staying in shell" - } - } - ''; - - systemd.user.services.opencode-inbox-triage = { - Unit = { - Description = "OpenCode inbox triage"; - }; - Service = { - Type = "oneshot"; - ExecStart = "${opencode}/bin/opencode run --command inbox-triage --model opencode-go/glm-5"; - Environment = "PATH=${config.home.profileDirectory}/bin:/run/current-system/sw/bin"; - }; - }; - - systemd.user.timers.opencode-inbox-triage = { - Unit = { - Description = "Run OpenCode inbox triage every 12 hours"; - }; - Timer = { - OnCalendar = "*-*-* 0/12:00:00"; - Persistent = true; - }; - Install = { - WantedBy = ["timers.target"]; - }; - }; - }; - }) ]; } diff --git a/modules/user.nix b/modules/user.nix deleted file mode 100644 index 70161e2..0000000 --- a/modules/user.nix +++ /dev/null @@ -1,11 +0,0 @@ -{den, ...}: { - den.aspects.cschmatzler.includes = [ - den.provides.primary-user - ]; - - den.aspects.cschmatzler.homeManager = { - ... - }: { - programs.home-manager.enable = true; - }; -}