nixos-config/users/erwin/home.nix

380 lines
11 KiB
Nix
Raw Normal View History

{ pkgs, config, lib, inputs, ... }:
with lib; let
cfg = config.eboskma.users.erwin;
bt = config.eboskma.bluetooth;
ewwDaemon =
let
path = lib.makeBinPath (with pkgs; [ ha-now-playing jaq pamedia bash helvum pavucontrol ]);
in
pkgs.writeShellScript "eww-daemon" ''
export PATH=${path}:''${PATH}
${config.home-manager.users.erwin.eboskma.programs.eww.package}/bin/eww $@
'';
in
{
config =
2022-11-11 12:51:48 +01:00
mkIf cfg.home {
2022-11-11 11:54:21 +01:00
home-manager.users.erwin = {
_module.args.flake-inputs = inputs;
eboskma = {
programs = {
2023-04-25 09:48:32 +02:00
alacritty.enable = false;
anyrun.enable = true;
2023-04-25 09:48:32 +02:00
atuin.enable = true;
bat.enable = true;
2023-03-13 15:42:44 +01:00
cargo = {
enable = true;
settings = {
2023-05-08 17:05:32 +02:00
registries.crates-io = {
2023-03-13 15:42:44 +01:00
protocol = "sparse";
};
};
};
dropbox.enable = true;
dunst.enable = false;
emacs = {
enable = true;
package = pkgs.emacs-unstable-pgtk;
# .override {
# treeSitterPlugins = builtins.attrValues (filterAttrs (_: isDerivation) pkgs.tree-sitter-grammars);
# }
daemon = true;
};
electron = {
enable = true;
wayland = true;
};
2023-07-19 14:04:10 +02:00
eww = {
enable = true;
package = pkgs.eww-wayland;
};
firefox = {
enable = true;
work = config.eboskma.base.work;
};
fish.enable = true;
2022-11-30 19:23:41 +01:00
foot = {
enable = true;
server = false;
2022-11-30 19:23:41 +01:00
};
git = {
enable = true;
name = "Erwin Boskma";
email = "erwin@datarift.nl";
# signingKey = "EE7ADEFE1D943C7B";
2023-05-01 10:54:40 +02:00
signingKey = "~/.ssh/id_ed25519";
signingKeyFormat = "ssh";
};
gpg.enable = true;
2022-11-25 12:01:00 +01:00
mpd.enable = true;
neovim.enable = true;
nushell.enable = true;
obs-studio.enable = true;
rclone = {
enable = true;
mounts = [
{
remote = "org-roam";
local = "/home/erwin/org-roam";
remoteConfig = {
type = "sftp";
host = "zh2088.rsync.net";
user = "zh2088";
key_file = "~/.ssh/id_ed25519-rsync.net";
md5sum_command = "md5 -r";
sha2sum_command = "sha1 -r";
};
}
];
};
2022-11-11 11:54:21 +01:00
rofi = {
enable = true;
package = pkgs.rofi-wayland;
2023-04-25 09:48:32 +02:00
terminal = config.home-manager.users.erwin.wayland.windowManager.sway.config.terminal;
2022-11-11 11:54:21 +01:00
};
vscode.enable = true;
solvespace.enable = true;
ssh.enable = true;
starship.enable = true;
sway = {
enable = true;
output = {
"DP-2" = {
bg = "${../../home-manager/modules/sway/wallpapers/jwst-saturn-nircam-2560.png} fill";
mode = "2560x1440@165Hz";
adaptive_sync = "on";
max_render_time = "2";
};
};
input = {
"36125:40349:splitKB_Kyria" = {
xkb_layout = "us";
xkb_options = "lv3:ralt_switch,eurosign:5";
};
"1133:49291:Logitech_G502_HERO_SE" = {
natural_scroll = "enabled";
};
};
startup = [
{ command = "${ewwDaemon} --restart open bar-home"; always = true; }
];
};
swaynotificationcenter.enable = true;
tea = {
enable = true;
settings = {
logins = [
{
name = "datarift";
url = "https://git.datarift.nl";
token = "abc";
default = true;
ssh_host = "git.datarift.nl";
user = "erwin";
}
];
};
};
tmux.enable = true;
2023-08-10 16:47:43 +02:00
waybar.enable = false;
zathura.enable = true;
2022-11-17 14:06:39 +01:00
zellij = {
enable = true;
copyCommand = "${pkgs.wl-clipboard}/bin/wl-copy";
};
};
};
2023-09-13 14:50:03 +02:00
home = {
username = "erwin";
homeDirectory = "/home/erwin";
sessionVariables = { };
stateVersion = "21.11";
packages = with pkgs;
[
ardour
atool
bitwarden
blink1-tool
bottom
dbeaver
easyeffects
fd
ffmpeg_5-full
freecad
gnome.nautilus
helvum
horizon-eda
imagemagick
imv
iotop
(jetbrains.clion.override { jdk = pkgs.jetbrains.jdk; })
kicad
larynx
libnotify
libreoffice-fresh
minio-client
mpv
nomachine-client
nordzy-cursor-theme
(noson.overrideAttrs (_: { qtWrapperArgs = ''--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ pkgs.libpulseaudio ]}''; }))
pamedia
pass
pavucontrol
povray
quintom-cursor-theme
procs
prusa-slicer
qgis
remmina
2023-09-13 14:50:03 +02:00
ripgrep
scid-vs-pc
signal-desktop
solo2-cli
steam
steamcmd
steam-tui
stellarium
2023-09-13 14:50:03 +02:00
# super-slicer-latest
units
unzip
xdg-utils
wl-clipboard
zeal
]
++ (with gst_all_1; [ gstreamer gstreamer.dev gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav gst-vaapi ]);
pointerCursor = {
name = "elementary";
package = pkgs.pantheon.elementary-gtk-theme;
gtk.enable = true;
x11.enable = true;
};
2023-09-13 14:50:03 +02:00
};
xdg = {
enable = true;
mime.enable = true;
mimeApps = {
enable = true;
defaultApplications = {
"x-scheme-handler/http" = "firefox.desktop";
"x-scheme-handler/https" = "firefox.desktop";
"x-scheme-handler/chrome" = "firefox.desktop";
"x-scheme-handler/terminal" = "${cfg.terminal}.desktop";
"text/html" = "firefox.desktop";
"application/x-extension-htm" = "firefox.desktop";
"application/x-extension-html" = "firefox.desktop";
"application/x-extension-shtml" = "firefox.desktop";
"application/xhtml+xml" = "firefox.desktop";
"application/x-extension-xhtml" = "firefox.desktop";
"application/x-extension-xht" = "firefox.desktop";
"application/pdf" = "org.pwmt.zathura-pdf-mupdf.desktop";
};
associations = {
added = {
"image/jpeg" = "imv.desktop";
"image/png" = "imv.desktop";
"image/gif" = "imv.desktop";
"application/zip" = "org.gnome.FileRoller.desktop";
};
};
};
userDirs = {
enable = true;
createDirectories = true;
};
};
i18n.inputMethod = {
enabled = "fcitx5";
fcitx5.addons = with pkgs; [ fcitx5-m17n fcitx5-gtk fcitx5-configtool ];
};
gtk = {
enable = true;
theme = {
name = "elementary";
package = pkgs.pantheon.elementary-gtk-theme;
};
iconTheme = {
name = "elementary";
package = pkgs.pantheon.elementary-icon-theme;
};
gtk3 = {
bookmarks = [
"file:///home/erwin/workspace"
];
extraConfig = {
gtk-application-prefer-dark-theme = 1;
gtk-cursor-theme-name = "elementary";
};
};
2022-12-17 13:32:57 +01:00
gtk4.extraConfig = {
gtk-application-prefer-dark-theme = 1;
gtk-cursor-theme-name = "elementary";
2022-12-17 13:32:57 +01:00
};
};
2023-09-13 14:50:03 +02:00
programs = {
home-manager.enable = true;
command-not-found.enable = true;
};
services = {
blueman-applet.enable = bt.enable;
gnome-keyring = {
enable = true;
components = [ "pkcs11" "ssh" "secrets" ];
};
udiskie = {
enable = true;
tray = "auto";
notify = true;
settings = {
program_options = {
menu = "nested";
};
device_config = [
{
device_file = "/dev/loop*";
ignore = true;
}
];
};
};
};
imports = [
2022-11-14 18:49:06 +01:00
../../modules/options
inputs.anyrun.nixosModules.home-manager
] ++ (map (mod: (../../home-manager/modules + "/${mod}")) (builtins.attrNames (builtins.readDir ../../home-manager/modules)));
};
2023-03-21 17:22:18 +01:00
# OBS control websocket
networking.firewall.allowedTCPPorts = [ 4455 ];
2023-09-13 14:50:03 +02:00
programs = {
steam = {
enable = true;
package = pkgs.steam.override {
extraPkgs = sp: with sp; [ gamescope ];
};
gamescopeSession = {
enable = true;
args = [
"--rt"
"--output-width"
"2560"
"--output-height"
"1440"
"--adaptive-sync"
"--filter"
"fsr"
"--expose-wayland"
];
# env = config.environment.sessionVariables;
};
2023-09-13 14:50:03 +02:00
};
gamescope = {
enable = true;
capSysNice = true;
2023-09-13 14:50:03 +02:00
args = [
"--output-width"
"2560"
"--output-height"
"1440"
"--filter"
"fsr"
2023-09-13 14:50:03 +02:00
"--rt"
"--fullscreen"
];
};
bandwhich.enable = true;
noisetorch.enable = true;
wireshark = {
enable = true;
package = pkgs.wireshark;
2023-09-11 20:16:15 +02:00
};
};
2022-10-10 18:35:14 +02:00
2023-01-31 17:13:02 +01:00
services.ddccontrol.enable = true;
2022-07-26 17:18:17 +02:00
users.groups.wireshark.members = [ "erwin" ];
};
}