2023-11-10 10:33:41 +00:00
|
|
|
{ pkgs, lib, config, ... }: {
|
2023-10-08 14:57:57 +00:00
|
|
|
imports = [
|
2024-06-09 20:00:47 +00:00
|
|
|
./modules/home-manager/neovim
|
|
|
|
./modules/home-manager/firefox
|
|
|
|
./modules/home-manager/syncthing
|
|
|
|
./modules/home-manager/keepassxc
|
2023-10-08 14:57:57 +00:00
|
|
|
];
|
|
|
|
|
2024-06-09 20:00:47 +00:00
|
|
|
# Let home-manager manage the X session
|
|
|
|
xsession.enable = true;
|
|
|
|
xdg.userDirs.enable = true;
|
|
|
|
|
2023-10-08 14:57:57 +00:00
|
|
|
home = {
|
|
|
|
username = "pim";
|
|
|
|
homeDirectory = "/home/pim";
|
|
|
|
stateVersion = "23.05";
|
|
|
|
|
|
|
|
packages = with pkgs; [
|
2024-05-03 20:14:13 +00:00
|
|
|
unstable.moonlight-qt
|
|
|
|
unstable.vlc
|
|
|
|
unstable.nicotine-plus
|
|
|
|
unstable.logseq
|
|
|
|
unstable.signal-desktop
|
|
|
|
unstable.telegram-desktop
|
|
|
|
unstable.strawberry
|
|
|
|
unstable.gimp
|
|
|
|
unstable.libreoffice
|
2023-10-26 13:46:47 +00:00
|
|
|
virt-manager
|
2023-11-04 17:38:37 +00:00
|
|
|
gnome.gnome-tweaks
|
2024-05-03 20:14:13 +00:00
|
|
|
unstable.impression
|
2023-12-14 20:39:56 +00:00
|
|
|
poppler_utils # For pdfunite
|
|
|
|
silicon
|
2024-06-04 19:21:38 +00:00
|
|
|
unstable.dbeaver-bin
|
2024-05-03 20:14:13 +00:00
|
|
|
unstable.wireshark
|
2024-01-13 13:00:17 +00:00
|
|
|
units
|
2024-01-20 15:51:25 +00:00
|
|
|
btrfs-progs
|
|
|
|
exfat
|
2024-05-03 20:14:13 +00:00
|
|
|
unstable.qFlipper
|
2024-01-20 15:51:25 +00:00
|
|
|
f3
|
2024-05-03 20:14:13 +00:00
|
|
|
unstable.insomnia
|
|
|
|
unstable.vorta
|
2024-02-18 21:05:23 +00:00
|
|
|
jellyfin-media-player
|
2024-04-20 08:57:13 +00:00
|
|
|
jq
|
|
|
|
kubectl
|
|
|
|
file
|
|
|
|
yq
|
|
|
|
age
|
|
|
|
sops
|
|
|
|
nmap
|
2024-04-20 16:48:35 +00:00
|
|
|
unstable.devenv
|
2024-04-29 13:19:17 +00:00
|
|
|
unstable.attic-client
|
2024-05-05 16:07:40 +00:00
|
|
|
unstable.hexchat
|
2024-05-16 16:48:46 +00:00
|
|
|
sbctl
|
2024-05-25 14:37:37 +00:00
|
|
|
borgbackup
|
2024-06-04 18:50:14 +00:00
|
|
|
unstable.krita
|
|
|
|
unstable.bottles-unwrapped
|
2023-10-08 14:57:57 +00:00
|
|
|
];
|
|
|
|
};
|
|
|
|
|
|
|
|
programs = {
|
|
|
|
home-manager.enable = true;
|
|
|
|
chromium.enable = true;
|
2024-06-09 18:31:39 +00:00
|
|
|
alacritty.enable = true;
|
2024-06-09 20:00:47 +00:00
|
|
|
bat.enable = true;
|
|
|
|
|
|
|
|
thunderbird = {
|
|
|
|
enable = true;
|
|
|
|
profiles.default = { isDefault = true; };
|
|
|
|
};
|
|
|
|
|
|
|
|
direnv = {
|
|
|
|
enable = true;
|
|
|
|
enableBashIntegration = true;
|
|
|
|
nix-direnv.enable = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
fzf = {
|
|
|
|
enable = true;
|
|
|
|
enableBashIntegration = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
bash = {
|
|
|
|
enable = true;
|
|
|
|
shellAliases = {
|
|
|
|
htop = "btop";
|
|
|
|
gp = "git push";
|
|
|
|
gco = "git checkout";
|
|
|
|
gd = "git diff";
|
|
|
|
gc = "git commit";
|
|
|
|
gpl = "git pull";
|
|
|
|
gb = "git branch";
|
|
|
|
ga = "git add";
|
|
|
|
gl = "git log";
|
|
|
|
gs = "git status";
|
|
|
|
tf = "tofu";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
ssh = {
|
|
|
|
enable = true;
|
|
|
|
extraConfig = "User root";
|
|
|
|
|
|
|
|
matchBlocks = {
|
|
|
|
github = lib.hm.dag.entryBefore [ "*" ] {
|
|
|
|
hostname = "github.com";
|
|
|
|
user = "pizzapim";
|
|
|
|
identitiesOnly = true;
|
|
|
|
};
|
|
|
|
lewis = lib.hm.dag.entryBefore [ "*" ] { hostname = "lewis.dmz"; };
|
|
|
|
atlas = lib.hm.dag.entryBefore [ "*" ] { hostname = "atlas.dmz"; };
|
|
|
|
jefke = lib.hm.dag.entryBefore [ "*" ] { hostname = "jefke.dmz"; };
|
|
|
|
warwick = lib.hm.dag.entryBefore [ "*" ] { hostname = "warwick.dmz"; };
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
git = {
|
|
|
|
enable = true;
|
|
|
|
userName = "Pim Kunis";
|
|
|
|
userEmail = "pim@kunis.nl";
|
|
|
|
extraConfig = {
|
|
|
|
push.autoSetupRemote = true;
|
|
|
|
commit.verbose = true;
|
|
|
|
pull.rebase = true;
|
|
|
|
};
|
|
|
|
includes = [{
|
|
|
|
path = "~/git/suecode/.gitconfig";
|
|
|
|
condition = "gitdir:~/git/suecode/**";
|
|
|
|
}];
|
|
|
|
};
|
2024-05-19 11:01:27 +00:00
|
|
|
|
|
|
|
# Currently, it is not possible to have Home Manager manage Liberwolf extensions.
|
|
|
|
# There is a draft PR which addresses this:
|
|
|
|
# https://github.com/nix-community/home-manager/pull/3339
|
|
|
|
# The extensions I currently use are:
|
|
|
|
# - ublock-origin (already installed by librewolf)
|
|
|
|
# - cookie-autodelete
|
|
|
|
# - clearurls
|
|
|
|
# - istilldontcareaboutcookies
|
|
|
|
# - keepassxc-browser
|
|
|
|
# - redirector
|
|
|
|
# - violentmonkey
|
|
|
|
# - boring-rss
|
|
|
|
# - kagi-search
|
|
|
|
# - refined-github
|
|
|
|
librewolf = {
|
|
|
|
enable = true;
|
2024-06-09 20:00:47 +00:00
|
|
|
|
2024-05-19 11:01:27 +00:00
|
|
|
settings = {
|
|
|
|
"identity.fxaccounts.enabled" = true;
|
|
|
|
"privacy.clearOnShutdown.history" = false;
|
|
|
|
"privacy.clearOnShutdown.downloads" = false;
|
|
|
|
"browser.translations.automaticallyPopup" = false;
|
|
|
|
"browser.aboutConfig.showWarning" = false;
|
2024-05-25 14:37:37 +00:00
|
|
|
"privacy.clearOnShutdown.cookies" = false;
|
2024-05-19 11:01:27 +00:00
|
|
|
};
|
|
|
|
};
|
2023-10-08 14:57:57 +00:00
|
|
|
};
|
|
|
|
|
2023-10-16 08:59:27 +00:00
|
|
|
homeage = {
|
2023-11-10 10:33:41 +00:00
|
|
|
identityPaths = [ "/home/pim/.ssh/age_ed25519" ];
|
2023-10-16 08:59:27 +00:00
|
|
|
installationType = "systemd";
|
|
|
|
};
|
2023-10-23 17:44:56 +00:00
|
|
|
|
2023-11-01 15:02:49 +00:00
|
|
|
dconf.settings = with lib.hm.gvariant; {
|
2024-06-09 18:31:39 +00:00
|
|
|
"org/gnome/desktop/sound".allow-volume-above-100-percent = true;
|
|
|
|
"org.gnome.desktop.wm.preferences".auto-raise = true;
|
|
|
|
|
2024-06-09 20:00:47 +00:00
|
|
|
"org/gnome/shell" = {
|
|
|
|
"disable-extension-version-validation" = true;
|
|
|
|
|
|
|
|
enabled-extensions = [
|
|
|
|
"workspace-indicator@gnome-shell-extensions.gcampax.github.com"
|
|
|
|
"pop-shell@system76.com"
|
|
|
|
"windowIsReady_Remover@nunofarruca@gmail.com"
|
|
|
|
];
|
|
|
|
};
|
2024-06-09 18:31:39 +00:00
|
|
|
|
2023-11-01 15:02:49 +00:00
|
|
|
"org/gnome/desktop/input-sources" = {
|
2023-11-10 10:33:41 +00:00
|
|
|
sources = [ (mkTuple [ "xkb" "us" ]) ];
|
|
|
|
xkb-options = [ "terminate:ctrl_alt_bksp" "caps:escape" ];
|
2023-11-01 15:02:49 +00:00
|
|
|
};
|
2023-11-04 17:38:37 +00:00
|
|
|
|
2024-06-09 18:31:39 +00:00
|
|
|
"org/gnome/shell/extensions/pop-shell" = {
|
|
|
|
active-hint = true;
|
|
|
|
fullscreen-launcher = false;
|
|
|
|
mouse-cursor-focus-location = mkUint32 4;
|
|
|
|
mouse-cursor-follows-active-window = true;
|
|
|
|
show-skip-taskbar = false;
|
|
|
|
show-title = true;
|
|
|
|
smart-gaps = false;
|
|
|
|
snap-to-grid = false;
|
|
|
|
stacking-with-mouse = true;
|
|
|
|
tile-by-default = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
|
|
|
|
binding = "<Super>t";
|
|
|
|
command = lib.getExe config.programs.alacritty.package;
|
|
|
|
name = "Terminal";
|
2023-11-04 17:38:37 +00:00
|
|
|
};
|
2023-12-29 10:02:34 +00:00
|
|
|
|
2024-06-09 18:31:39 +00:00
|
|
|
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = {
|
|
|
|
binding = "<Super>e";
|
|
|
|
command = "${lib.getExe config.programs.librewolf.package} --browser";
|
|
|
|
name = "Browser";
|
2023-12-29 10:02:34 +00:00
|
|
|
};
|
2024-05-19 11:01:27 +00:00
|
|
|
|
2024-06-09 18:31:39 +00:00
|
|
|
"org/gnome/desktop/wm/keybindings" = {
|
|
|
|
close = [ "<Shift><Super>q" ];
|
|
|
|
minimize = mkEmptyArray type.string;
|
|
|
|
move-to-workspace-1 = [ "<Shift> <Super> 1" ];
|
|
|
|
move-to-workspace-2 = [ "<Shift><Super>2" ];
|
|
|
|
move-to-workspace-3 = [ "<Shift><Super>3" ];
|
|
|
|
move-to-workspace-4 = [ "<Shift><Super>4" ];
|
|
|
|
switch-applications = mkEmptyArray type.string;
|
|
|
|
switch-applications-backward = mkEmptyArray type.string;
|
|
|
|
switch-to-workspace-1 = [ "<Super>1" ];
|
|
|
|
switch-to-workspace-2 = [ "<Super>2" ];
|
|
|
|
switch-to-workspace-3 = [ "<Super>3" ];
|
|
|
|
switch-to-workspace-4 = [ "<Super>4" ];
|
|
|
|
toggle-fullscreen = [ "<Super>f" ];
|
2024-05-19 11:01:27 +00:00
|
|
|
};
|
2023-11-01 15:02:49 +00:00
|
|
|
};
|
2023-10-08 14:57:57 +00:00
|
|
|
}
|