nixos-laptop/home-manager/default.nix

184 lines
4.6 KiB
Nix
Raw Normal View History

{ pkgs, lib, config, ... }: {
2023-10-08 14:57:57 +00:00
imports = [
./bash
./neovim
2023-10-19 07:34:06 +00:00
./firefox
2023-10-08 14:57:57 +00:00
./ssh
./syncthing
./keepassxc
./git
./direnv
./thunderbird
./fzf
./bat
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
(pkgs.nerdfonts.override { fonts = [ "Hack" ]; })
virt-manager
gnome.gnome-tweaks
2024-05-03 20:14:13 +00:00
unstable.impression
poppler_utils # For pdfunite
silicon
2024-05-03 20:14:13 +00:00
unstable.dbeaver
unstable.wireshark
units
btrfs-progs
exfat
2024-05-03 20:14:13 +00:00
unstable.qFlipper
f3
2024-05-03 20:14:13 +00:00
unstable.insomnia
unstable.vorta
2024-02-18 21:05:23 +00:00
jellyfin-media-player
jq
kubectl
file
yq
age
sops
nmap
2024-04-20 16:48:35 +00:00
unstable.devenv
unstable.attic-client
unstable.hexchat
2024-05-16 16:48:46 +00:00
sbctl
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;
2023-11-03 11:15:59 +00:00
terminator = {
2023-11-03 11:15:59 +00:00
enable = true;
config = {
profiles.default = {
# Gruvbox theme: https://github.com/egel/terminator-gruvbox
background_color = "#282828";
cursor_color = "#7c6f64";
foreground_color = "#ebdbb2";
palette =
"#181818:#cc241d:#98971a:#d79921:#458588:#b16286:#689d6a:#a89984:#928374:#fb4934:#b8bb26:#fabd2f:#83a598:#d3869b:#8ec07c:#ebdbb2";
};
keybindings = {
zoom_in = "<Ctrl>plus";
zoom_out = "<Ctrl>minus";
new_tab = "<Ctrl><Shift>T";
cycle_next = "<Ctrl>Tab";
cycle_prev = "<Ctrl><Shift>Tab";
2023-11-05 17:14:11 +00:00
split_horiz = "<Alt>C";
split_vert = "<Alt>V";
go_left = "<Alt>H";
go_right = "<Alt>L";
go_up = "<Alt>K";
go_down = "<Alt>J";
copy = "<Ctrl><Shift>C";
paste = "<Ctrl><Shift>V";
layout_launcher = ""; # Default <Alt>L
};
};
2023-11-03 11:15:59 +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;
settings = {
"identity.fxaccounts.enabled" = true;
"privacy.clearOnShutdown.history" = false;
"privacy.clearOnShutdown.downloads" = false;
"browser.translations.automaticallyPopup" = false;
"browser.aboutConfig.showWarning" = false;
"privacy.clearOnShutdown.cookies" = false;
};
};
2023-10-08 14:57:57 +00:00
};
# Let home-manager manage the X session
xsession = { enable = true; };
2023-10-08 14:57:57 +00:00
xdg = {
userDirs.enable = true;
configFile."home/postgresql_server.crt".source = ./postgresql_server.crt;
configFile."home/postgresql_client.crt".source = ./postgresql_client.crt;
};
2023-10-13 14:24:11 +00:00
homeage = {
identityPaths = [ "/home/pim/.ssh/age_ed25519" ];
installationType = "systemd";
file."common-pg-tfbackend" = {
source = ../secrets/common-pg-tfbackend.age;
symlinks = [ "${config.xdg.configHome}/home/common.pg.tfbackend" ];
};
2023-10-26 17:56:23 +00:00
file."ansible-vault-secret" = {
source = ../secrets/ansible-vault-secret.age;
symlinks = [ "${config.xdg.configHome}/home/ansible-vault-secret" ];
2023-10-26 17:56:23 +00:00
};
2023-10-26 18:11:59 +00:00
file."powerdns-api-key" = {
source = ../secrets/powerdns-api-key.json.age;
symlinks = [ "${config.xdg.configHome}/home/powerdns-api-key.json" ];
2023-10-26 18:11:59 +00:00
};
file."postgresql_client.key" = {
source = ../secrets/postgresql_client.key.age;
symlinks = [ "${config.xdg.configHome}/home/postgresql_client.key" ];
};
};
fonts.fontconfig.enable = true;
2023-11-01 15:02:49 +00:00
dconf.settings = with lib.hm.gvariant; {
"org/gnome/desktop/input-sources" = {
sources = [ (mkTuple [ "xkb" "us" ]) ];
xkb-options = [ "terminate:ctrl_alt_bksp" "caps:escape" ];
2023-11-01 15:02:49 +00:00
};
"org/gnome/desktop/interface" = {
monospace-font-name = "Hack Nerd Font Mono 10";
};
2023-12-29 10:02:34 +00:00
"org/gnome/desktop/sound" = {
allow-volume-above-100-percent = true;
};
"org.gnome.desktop.wm.preferences" = {
auto-raise = true;
};
2023-11-01 15:02:49 +00:00
};
2023-10-08 14:57:57 +00:00
}