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
|
{ config, lib, ... }: # home-manager
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [ "${depot.third_party.impermanence}/home-manager.nix" ];
|
imports = [
|
||||||
|
depot.users.tazjin.home.shared
|
||||||
|
];
|
||||||
|
|
||||||
home.persistence."/persist/tazjin/home" = {
|
home.persistence."/persist/tazjin/home" = {
|
||||||
allowOther = true;
|
|
||||||
|
|
||||||
directories = [
|
directories = [
|
||||||
".cargo"
|
|
||||||
".config/audacity"
|
|
||||||
".config/google-chrome"
|
|
||||||
".config/quassel-irc.org"
|
|
||||||
".config/spotify"
|
".config/spotify"
|
||||||
".config/syncthing"
|
|
||||||
".config/unity3d"
|
".config/unity3d"
|
||||||
".electrum"
|
|
||||||
".elfeed"
|
|
||||||
".gnupg"
|
|
||||||
".local/share/Steam"
|
".local/share/Steam"
|
||||||
".local/share/audacity"
|
".electrum"
|
||||||
".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;
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue