refactor(tazjin/home): Split shared config into separate file
Change-Id: I898f1552f449e2d6bddc8e3e3a144d6c2490ce29 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5551 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su>
This commit is contained in:
parent
a23b01c8bc
commit
d54b1f5b30
2 changed files with 88 additions and 75 deletions
84
users/tazjin/home/shared.nix
Normal file
84
users/tazjin/home/shared.nix
Normal file
|
@ -0,0 +1,84 @@
|
|||
# Shared home configuration for all machines.
|
||||
|
||||
{ depot, pkgs, ... }: # readTree
|
||||
{ config, lib, ... }: # home-manager
|
||||
|
||||
{
|
||||
imports = [ "${depot.third_party.impermanence}/home-manager.nix" ];
|
||||
|
||||
home.persistence."/persist/tazjin/home" = {
|
||||
allowOther = true;
|
||||
|
||||
directories = [
|
||||
".cargo"
|
||||
".config/audacity"
|
||||
".config/google-chrome"
|
||||
".config/quassel-irc.org"
|
||||
".gnupg"
|
||||
".local/share/audacity"
|
||||
".local/share/direnv"
|
||||
".local/share/fish"
|
||||
".local/share/keyrings"
|
||||
".local/share/zoxide"
|
||||
".mozilla/firefox"
|
||||
".password-store"
|
||||
".rustup"
|
||||
".ssh"
|
||||
".steam"
|
||||
".telega"
|
||||
"go"
|
||||
"mail"
|
||||
];
|
||||
|
||||
files = [
|
||||
".notmuch-config"
|
||||
];
|
||||
};
|
||||
|
||||
home.activation.screenshots = lib.hm.dag.entryAnywhere ''
|
||||
$DRY_RUN_CMD mkdir -p $HOME/screenshots
|
||||
'';
|
||||
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userName = "Vincent Ambo";
|
||||
userEmail = "mail@tazj.in";
|
||||
extraConfig = {
|
||||
pull.rebase = true;
|
||||
init.defaultBranch = "canon";
|
||||
};
|
||||
};
|
||||
|
||||
programs.fish = {
|
||||
enable = true;
|
||||
interactiveShellInit = ''
|
||||
${pkgs.zoxide}/bin/zoxide init fish | source
|
||||
'';
|
||||
};
|
||||
|
||||
services.screen-locker = {
|
||||
enable = true;
|
||||
enableDetectSleep = true;
|
||||
inactiveInterval = 10; # minutes
|
||||
lockCmd = "${depot.users.tazjin.screenLock}/bin/tazjin-screen-lock";
|
||||
};
|
||||
|
||||
services.picom = {
|
||||
enable = true;
|
||||
vSync = true;
|
||||
backend = "glx";
|
||||
};
|
||||
|
||||
# Enable the dunst notification daemon, but force the
|
||||
# configuration file separately instead of going via the strange
|
||||
# Nix->dunstrc encoding route.
|
||||
services.dunst.enable = true;
|
||||
xdg.configFile."dunst/dunstrc" = {
|
||||
source = depot.users.tazjin.dotfiles.dunstrc;
|
||||
onChange = ''
|
||||
${pkgs.procps}/bin/pkill -u "$USER" ''${VERBOSE+-e} dunst || true
|
||||
'';
|
||||
};
|
||||
|
||||
systemd.user.startServices = true;
|
||||
}
|
|
@ -4,87 +4,16 @@
|
|||
{ config, lib, ... }: # home-manager
|
||||
|
||||
{
|
||||
imports = [ "${depot.third_party.impermanence}/home-manager.nix" ];
|
||||
imports = [
|
||||
depot.users.tazjin.home.shared
|
||||
];
|
||||
|
||||
home.persistence."/persist/tazjin/home" = {
|
||||
allowOther = true;
|
||||
|
||||
directories = [
|
||||
".cargo"
|
||||
".config/audacity"
|
||||
".config/google-chrome"
|
||||
".config/quassel-irc.org"
|
||||
".config/spotify"
|
||||
".config/syncthing"
|
||||
".config/unity3d"
|
||||
".electrum"
|
||||
".elfeed"
|
||||
".gnupg"
|
||||
".local/share/Steam"
|
||||
".local/share/audacity"
|
||||
".local/share/direnv"
|
||||
".local/share/fish"
|
||||
".local/share/keyrings"
|
||||
".local/share/zoxide"
|
||||
".mozilla/firefox"
|
||||
".password-store"
|
||||
".rustup"
|
||||
".ssh"
|
||||
".steam"
|
||||
".telega"
|
||||
"go"
|
||||
"mail"
|
||||
];
|
||||
|
||||
files = [
|
||||
".notmuch-config"
|
||||
".electrum"
|
||||
];
|
||||
};
|
||||
|
||||
home.activation.screenshots = lib.hm.dag.entryAnywhere ''
|
||||
$DRY_RUN_CMD mkdir -p $HOME/screenshots
|
||||
'';
|
||||
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userName = "Vincent Ambo";
|
||||
userEmail = "mail@tazj.in";
|
||||
extraConfig = {
|
||||
pull.rebase = true;
|
||||
init.defaultBranch = "canon";
|
||||
};
|
||||
};
|
||||
|
||||
programs.fish = {
|
||||
enable = true;
|
||||
interactiveShellInit = ''
|
||||
${pkgs.zoxide}/bin/zoxide init fish | source
|
||||
'';
|
||||
};
|
||||
|
||||
services.screen-locker = {
|
||||
enable = true;
|
||||
enableDetectSleep = true;
|
||||
inactiveInterval = 10; # minutes
|
||||
lockCmd = "${depot.users.tazjin.screenLock}/bin/tazjin-screen-lock";
|
||||
};
|
||||
|
||||
services.picom = {
|
||||
enable = true;
|
||||
vSync = true;
|
||||
backend = "glx";
|
||||
};
|
||||
|
||||
# Enable the dunst notification daemon, but force the
|
||||
# configuration file separately instead of going via the strange
|
||||
# Nix->dunstrc encoding route.
|
||||
services.dunst.enable = true;
|
||||
xdg.configFile."dunst/dunstrc" = {
|
||||
source = depot.users.tazjin.dotfiles.dunstrc;
|
||||
onChange = ''
|
||||
${pkgs.procps}/bin/pkill -u "$USER" ''${VERBOSE+-e} dunst || true
|
||||
'';
|
||||
};
|
||||
|
||||
systemd.user.startServices = true;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue