Add stateful configuration
This commit is contained in:
parent
b8488c2ada
commit
d3b9277ca3
1 changed files with 82 additions and 54 deletions
|
@ -20,58 +20,86 @@
|
|||
./swaylock.nix
|
||||
./kanshi.nix
|
||||
];
|
||||
home-manager.users.fhauser.home.packages = with pkgs;
|
||||
[ # Networking
|
||||
unison
|
||||
transmission # GUI Tools, maybe extract...
|
||||
] ++ [ # Desktop Environment Applications
|
||||
google-chrome
|
||||
chromium
|
||||
#midori # TODO: Currently unused
|
||||
#qutebrowser # TODO: Currently unused
|
||||
gnome3.evolution # TODO: Suport for plugins with 21.05
|
||||
#evolution-ews
|
||||
synergy
|
||||
#quicksynergy # Currently unused
|
||||
nextcloud-client
|
||||
owncloud-client
|
||||
] ++ [ # office # TODO: Migrate to office.nix
|
||||
# TODO: Build fails!
|
||||
libreoffice-fresh # TODO: Dictionaries, nixos/nixpkgs#14430
|
||||
# pdfgrep
|
||||
# pdftk
|
||||
# calibre
|
||||
tectonic
|
||||
# texstudio
|
||||
# pandoc
|
||||
# system-config-printer
|
||||
# cups-pk-helper
|
||||
# cups-bjnp
|
||||
# gutenprint
|
||||
# gutenprintBin
|
||||
# hplipWithPlugin
|
||||
simple-scan
|
||||
gnome3.gnome-online-accounts
|
||||
gnome3.gnome-control-center
|
||||
] ++ [ # Communication
|
||||
signal-desktop
|
||||
tdesktop
|
||||
discord
|
||||
mattermost-desktop
|
||||
# pidgin pidgin-otr pidgin-with-plugins #TODO: Pidgin needed?
|
||||
#TODO: ekiga?
|
||||
skype
|
||||
slack
|
||||
teams
|
||||
jitsi-meet-electron
|
||||
teamviewer
|
||||
rdesktop
|
||||
vmware-horizon-client
|
||||
] ++ [ # Development
|
||||
vscodium
|
||||
gitlab-runner
|
||||
docker-compose
|
||||
vagrant
|
||||
virt-manager
|
||||
];
|
||||
home-manager.users.fhauser = {config, pkgs, ...}: {
|
||||
home = {
|
||||
packages = with pkgs;
|
||||
[ # Networking
|
||||
unison
|
||||
transmission # GUI Tools, maybe extract...
|
||||
] ++ [ # Desktop Environment Applications
|
||||
google-chrome
|
||||
chromium
|
||||
#midori # TODO: Currently unused
|
||||
#qutebrowser # TODO: Currently unused
|
||||
synergy
|
||||
#quicksynergy # Currently unused
|
||||
nextcloud-client
|
||||
owncloud-client
|
||||
] ++ [ # office # TODO: Migrate to office.nix
|
||||
# TODO: Build fails!
|
||||
libreoffice-fresh # TODO: Dictionaries, nixos/nixpkgs#14430
|
||||
# pdfgrep
|
||||
# pdftk
|
||||
# calibre
|
||||
tectonic
|
||||
# texstudio
|
||||
# pandoc
|
||||
# system-config-printer
|
||||
# cups-pk-helper
|
||||
# cups-bjnp
|
||||
# gutenprint
|
||||
# gutenprintBin
|
||||
# hplipWithPlugin
|
||||
simple-scan
|
||||
gnome.gnome-online-accounts
|
||||
gnome.gnome-control-center
|
||||
] ++ [ # Communication
|
||||
signal-desktop
|
||||
tdesktop
|
||||
discord
|
||||
mattermost-desktop
|
||||
# pidgin pidgin-otr pidgin-with-plugins #TODO: Pidgin needed?
|
||||
#TODO: ekiga?
|
||||
skype
|
||||
slack
|
||||
teams
|
||||
jitsi-meet-electron
|
||||
teamviewer
|
||||
rdesktop
|
||||
vmware-horizon-client
|
||||
] ++ [ # Development
|
||||
vscodium
|
||||
gitlab-runner
|
||||
docker-compose
|
||||
vagrant
|
||||
virt-manager
|
||||
modemmanager # TODO: makes sense here?
|
||||
modem-manager-gui
|
||||
];
|
||||
|
||||
|
||||
#TODO: Write module
|
||||
activation.statefulConfigSymlinks = config.lib.dag.entryAfter ["writeBoundary"] ''
|
||||
set -eo pipefail
|
||||
|
||||
STATEFUL_CONFS=(
|
||||
".config/spotify"
|
||||
".mozilla"
|
||||
".password-store"
|
||||
)
|
||||
for STATEFUL_CONF in ''${STATEFUL_CONFS[@]}; do
|
||||
if [ -e "$STATEFUL_CONF" ] && [ ! -h "$STATEFUL_CONF" ]; then
|
||||
echo "File $STATEFUL_CONF already exists, exiting!" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -h "$STATEFUL_CONF" ]; then
|
||||
rm "$STATEFUL_CONF"
|
||||
fi
|
||||
|
||||
$DRY_RUN_CMD ln -s $VERBOSE_ARG "$HOME/.stateful/$STATEFUL_CONF" "$HOME/$STATEFUL_CONF"
|
||||
done
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue