diff options
author | Alyssa Ross <hi@alyssa.is> | 2021-01-13 08:36:07 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2021-01-13 08:52:28 +0000 |
commit | 9f55e8bc0fb7cf1b0204652871808130a45e8eee (patch) | |
tree | 94ee10ed32721a43261d3b696d5597b4457b5028 /modules/workstation | |
parent | 1fb3ddfe362432c508409a81060dfd4bbb2ce31f (diff) | |
download | nixlib-9f55e8bc0fb7cf1b0204652871808130a45e8eee.tar nixlib-9f55e8bc0fb7cf1b0204652871808130a45e8eee.tar.gz nixlib-9f55e8bc0fb7cf1b0204652871808130a45e8eee.tar.bz2 nixlib-9f55e8bc0fb7cf1b0204652871808130a45e8eee.tar.lz nixlib-9f55e8bc0fb7cf1b0204652871808130a45e8eee.tar.xz nixlib-9f55e8bc0fb7cf1b0204652871808130a45e8eee.tar.zst nixlib-9f55e8bc0fb7cf1b0204652871808130a45e8eee.zip |
modules/home: remove
I think when I implemented this I didn't know about tmpfiles.d(5). Now I do, so let's use that instead. I don't think the imperativeNix option is necessary any more since the home directory is created read-only, but if it turns out that .nix-defexpr and .nix-profile are coming back, I can look into the best way to solve that then.
Diffstat (limited to 'modules/workstation')
-rw-r--r-- | modules/workstation/dino/default.nix | 6 | ||||
-rw-r--r-- | modules/workstation/emacs/default.nix | 6 | ||||
-rw-r--r-- | modules/workstation/gnupg/default.nix | 37 | ||||
-rw-r--r-- | modules/workstation/lorri/default.nix | 6 | ||||
-rw-r--r-- | modules/workstation/mail/default.nix | 7 | ||||
-rw-r--r-- | modules/workstation/mail/mutt/default.nix | 11 | ||||
-rw-r--r-- | modules/workstation/podman/default.nix | 8 | ||||
-rw-r--r-- | modules/workstation/weechat/default.nix | 13 | ||||
-rw-r--r-- | modules/workstation/windowing/firefox/default.nix | 19 | ||||
-rw-r--r-- | modules/workstation/windowing/gnome-mines/default.nix | 6 |
10 files changed, 75 insertions, 44 deletions
diff --git a/modules/workstation/dino/default.nix b/modules/workstation/dino/default.nix index 1c483d4fc473..74b49b07f1d8 100644 --- a/modules/workstation/dino/default.nix +++ b/modules/workstation/dino/default.nix @@ -1,7 +1,9 @@ -{ pkgs, ... }: +{ config, pkgs, ... }: { environment.systemPackages = with pkgs; [ dino ]; - home.qyliss.dirs."state/dino" = {}; + systemd.tmpfiles.rules = [ + "d ${config.users.users.qyliss.home}/state/dino 0700 qyliss qyliss" + ]; } diff --git a/modules/workstation/emacs/default.nix b/modules/workstation/emacs/default.nix index 97f2f36b5f57..71523f2b0029 100644 --- a/modules/workstation/emacs/default.nix +++ b/modules/workstation/emacs/default.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{ config, pkgs, ... }: { environment.systemPackages = with pkgs; [ @@ -27,7 +27,9 @@ ])) ]; - home.qyliss.dirs."state/emacs" = {}; + systemd.tmpfiles.rules = [ + "d ${config.users.users.qyliss.home}/state/emacs 0700 qyliss qyliss" + ]; users.users.qyliss.xdg.config.paths."emacs" = with pkgs; runCommandNoCC ".emacs.d" { diff --git a/modules/workstation/gnupg/default.nix b/modules/workstation/gnupg/default.nix index 2f47ddf77b29..eda898314258 100644 --- a/modules/workstation/gnupg/default.nix +++ b/modules/workstation/gnupg/default.nix @@ -1,21 +1,26 @@ -{ pkgs, ... }: +{ config, pkgs, ... }: + +let + gnupgHome = "${config.users.users.qyliss.home}/state/gnupg"; + + pinentryProgram = + if pkgs.stdenv.isDarwin then + "/Applications/pinentry-mac.app/Contents/MacOS/pinentry-mac" + else + "${pkgs.pinentry.qt}/bin/pinentry"; + + gpg-agent-conf = pkgs.writeText "gpg-agent.conf" '' + pinentry-program ${pinentryProgram} + ''; +in { - home.qyliss.dirs."state/gnupg".activationScripts.config = - let - pinentry = if pkgs.stdenv.isDarwin then - "/Applications/pinentry-mac.app/Contents/MacOS/pinentry-mac" - else - "${pkgs.pinentry.qt}/bin/pinentry"; - - gpg-agent-conf = pkgs.writeText "gpg-agent.conf" '' - pinentry-program ${pinentry} - ''; - in '' - ln -sf ${./dirmngr.conf} dirmngr.conf - ln -sf ${./gpg.conf} gpg.conf - ln -sf ${gpg-agent-conf} gpg-agent.conf - ''; + systemd.tmpfiles.rules = [ + "d ${gnupgHome} 0700 qyliss qyliss" + "L+ ${gnupgHome}/dirmngr.conf - - - - ${./dirmngr.conf}" + "L+ ${gnupgHome}/gpg.conf - - - - ${./gpg.conf}" + "L+ ${gnupgHome}/gpg-agent.conf - - - - ${gpg-agent-conf}" + ]; environment.systemPackages = with pkgs; [ gnupg pinentry ]; diff --git a/modules/workstation/lorri/default.nix b/modules/workstation/lorri/default.nix index 4008934dab01..c740796bafbb 100644 --- a/modules/workstation/lorri/default.nix +++ b/modules/workstation/lorri/default.nix @@ -1,7 +1,9 @@ -{ ... }: +{ config, ... }: { - home.qyliss.dirs."state/lorri" = {}; + systemd.tmpfiles.rules = [ + "d ${config.users.users.qyliss.home}/state/lorri 0700 qyliss qyliss" + ]; services.lorri.enable = true; diff --git a/modules/workstation/mail/default.nix b/modules/workstation/mail/default.nix index 8132a88bcc4e..ff34fab8b98e 100644 --- a/modules/workstation/mail/default.nix +++ b/modules/workstation/mail/default.nix @@ -5,8 +5,7 @@ environment.systemPackages = with pkgs; [ isync ]; - home.qyliss.dirs.mail = { - group = "qyliss"; - permissions = "0770"; - }; + systemd.tmpfiles.rules = [ + "d ${config.users.users.qyliss.home}/mail 0770 qyliss qyliss" + ]; } diff --git a/modules/workstation/mail/mutt/default.nix b/modules/workstation/mail/mutt/default.nix index 00ca6e86f4fc..96c0e6867545 100644 --- a/modules/workstation/mail/mutt/default.nix +++ b/modules/workstation/mail/mutt/default.nix @@ -1,9 +1,16 @@ -{ pkgs, ... }: +{ config, pkgs, ... }: + +let + stateDir = "${config.users.users.qyliss.home}/state/mutt"; +in { environment.systemPackages = with pkgs; [ neomutt ]; users.users.qyliss.xdg.config.paths."mutt/muttrc" = pkgs.copyPathToStore ./muttrc; - home.qyliss.dirs."state/mutt/header_cache" = {}; + systemd.tmpfiles.rules = [ + "d ${stateDir} 0700 qyliss qyliss" + "d ${stateDir}/header_cache 0700 qyliss qyliss" + ]; } diff --git a/modules/workstation/podman/default.nix b/modules/workstation/podman/default.nix index 67c475d45233..9e64fcb4807c 100644 --- a/modules/workstation/podman/default.nix +++ b/modules/workstation/podman/default.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{ config, pkgs, ... }: { environment.etc."containers/libpod.conf".text = '' @@ -39,6 +39,8 @@ graphroot = "/home/state/podman/containers/storage" ''; - home.qyliss.dirs."state/containers" = {}; - home.qyliss.dirs."state/podman" = {}; + systemd.tmpfiles.rules = [ + "d ${config.users.users.qyliss.home}/state/containers 0700 qyliss qyliss" + "d ${config.users.users.qyliss.home}/state/podman 0700 qyliss qyliss" + ]; } diff --git a/modules/workstation/weechat/default.nix b/modules/workstation/weechat/default.nix index 03219a772cce..135442b6b2ec 100644 --- a/modules/workstation/weechat/default.nix +++ b/modules/workstation/weechat/default.nix @@ -1,4 +1,4 @@ -{ pkgs, lib, ... }: +{ config, pkgs, lib, ... }: with lib; @@ -91,6 +91,8 @@ let -r /exit ''; + weechatHome = "${config.users.users.qyliss.home}/state/weechat"; + in { @@ -107,12 +109,15 @@ in }) ]; - home.qyliss.dirs."state/weechat".activationScripts.config = '' + systemd.tmpfiles.packages = [ (pkgs.runCommandNoCC "weechat-tmpfiles" {} '' + conf=$out/lib/tmpfiles.d/weechat.conf + mkdir -p $(dirname $conf) + echo "d ${weechatHome} 0700 qyliss qyliss" > $conf for file in ${cfg}/*.conf do if [ "$file" != ${cfg}/sec.conf ] - then ln -sf $file $(basename $file) + then echo "L+ ${weechatHome}/$(basename "$file") - - - - $file" >> $conf fi done - ''; + '') ]; } diff --git a/modules/workstation/windowing/firefox/default.nix b/modules/workstation/windowing/firefox/default.nix index 0b2bc0560ae5..42f29c778965 100644 --- a/modules/workstation/windowing/firefox/default.nix +++ b/modules/workstation/windowing/firefox/default.nix @@ -1,12 +1,17 @@ -{ pkgs, ... }: +{ config, pkgs, ... }: + +let + stateDir = "${config.users.users.qyliss.home}/state/mozilla"; +in { - home.qyliss.dirs.state.activationScripts.profile = '' - install -m 0700 -o qyliss -g $(id -gn qyliss) \ - -d mozilla{,/firefox{,/default}} - ln -sf ${./profiles.ini} mozilla/firefox/profiles.ini - ln -sf ${./user.js} mozilla/firefox/default/user.js - ''; + systemd.tmpfiles.rules = [ + "d ${stateDir} 0700 qyliss qyliss" + "d ${stateDir}/firefox 0700 qyliss qyliss" + "d ${stateDir}/firefox/default 0700 qyliss qyliss" + "L+ ${stateDir}/firefox/profiles.ini - - - - ${./profiles.ini}" + "L+ ${stateDir}/firefox/user.js - - - - ${./user.js}" + ]; environment.systemPackages = with pkgs; [ firefox-wayland ]; diff --git a/modules/workstation/windowing/gnome-mines/default.nix b/modules/workstation/windowing/gnome-mines/default.nix index a2376676d007..d9800142bc29 100644 --- a/modules/workstation/windowing/gnome-mines/default.nix +++ b/modules/workstation/windowing/gnome-mines/default.nix @@ -1,7 +1,9 @@ -{ pkgs, ... }: +{ config, pkgs, ... }: { environment.systemPackages = with pkgs; [ gnome3.gnome-mines ]; - home.qyliss.dirs."state/gnome-mines" = {}; + systemd.tmpfiles.rules = [ + "d ${config.users.users.qyliss.home}/state/gnome-mines 0700 qyliss qyliss" + ]; } |