dotfiles/home/default.nix

92 lines
2.2 KiB
Nix
Raw Normal View History

2023-02-10 07:46:37 +01:00
{
config,
2023-03-10 09:33:11 +01:00
flakePath,
2023-02-10 07:46:37 +01:00
lib,
pkgs,
...
}: let
inherit (pkgs.stdenv.hostPlatform) isDarwin isLinux;
2023-02-10 07:46:37 +01:00
in {
2023-05-18 15:10:28 +02:00
imports = [
./apps/browsers.nix
./apps/fonts.nix
./apps/git.nix
./apps/gpg.nix
./apps/kubernetes.nix
./apps/mail.nix
./apps/media.nix
2023-05-18 15:10:28 +02:00
./apps/neovim.nix
./apps/newsboat.nix
./apps/rice.nix
2023-06-18 15:50:13 +02:00
./apps/sway.nix
2023-05-18 15:10:28 +02:00
./apps/vscode.nix
./apps/wezterm.nix
./apps/zsh.nix
2023-06-05 22:05:49 +02:00
./langs
2023-05-18 15:10:28 +02:00
./secrets/sops.nix
./xdg.nix
];
home = {
packages = with pkgs; ([
2023-05-22 12:11:25 +02:00
_1password
2023-06-08 22:55:09 +02:00
age
2023-02-10 07:46:37 +01:00
fd
ffmpeg
file
gh
2023-06-16 05:42:34 +02:00
git-crypt
gocryptfs
2023-02-10 07:46:37 +01:00
imagemagick
just
2023-02-10 07:46:37 +01:00
mdcat
mosh
2023-02-10 07:46:37 +01:00
ranger
ripgrep
sops
2023-02-10 07:46:37 +01:00
]
++ lib.optionals isLinux [
_1password-gui
2023-05-13 07:04:20 +02:00
kooha
2023-05-18 15:10:28 +02:00
jetbrains.goland
jetbrains.webstorm
2023-02-10 07:46:37 +01:00
]);
sessionVariables = lib.mkIf isDarwin {
SSH_AUTH_SOCK = "${config.programs.gpg.homedir}/S.gpg-agent.ssh";
};
stateVersion = "22.11";
};
programs = {
home-manager.enable = true;
man.enable = true;
taskwarrior.enable = true;
};
2023-03-10 09:33:11 +01:00
2023-06-19 22:27:04 +02:00
home.activation.set-wallpaper = let
wallpaper = ./wallpapers/dhm_1610.png;
killall = lib.getExe pkgs.killall;
sqlite = lib.getExe pkgs.sqlite;
in
lib.mkIf isDarwin (lib.hm.dag.entryAfter ["writeBoundary"] ''
dpdb="$HOME/Library/Application Support/Dock/desktoppicture.db"
${sqlite} "$dpdb" "insert into data values ('${wallpaper}');"
new_entry=$(${sqlite} "$dpdb" "select max(rowid) from data;")
pics=$(${sqlite} "$dpdb" "select rowid from pictures")
${sqlite} "$dpdb" "delete from preferences;"
for pic in $pics; do
${sqlite} "$dpdb" "insert into preferences (key, data_id, picture_id) values(1, $new_entry, $pic)"
done
${killall} Dock
'');
2023-03-10 09:33:11 +01:00
xdg.configFile."ideavim/ideavimrc".source = config.lib.file.mkOutOfStoreSymlink "${flakePath}/home/apps/ideavim/ideavimrc";
2023-05-19 04:07:58 +02:00
xdg.configFile."Yubico/u2f_keys".text = ''
winston:+SzANNyl5RpjNZFCthItSi7rQgiNqKNQztm2omNDnMOMNYXbnpoxMY/tqNCqoUtcAnkSmfC1/2E3WMZZ+IupFw==,gw1FnUrGJ2/vsxrcyOP17603yWSSk2OaatqvqkzhiEmRd/FAzWuXYE2YA16SBB9n+f6IypjerPgwY06zOw3DOA==,es256,+presence%
'';
}