nixos-config/users/erwin/work.nix

211 lines
5.8 KiB
Nix

{ pkgs, config, lib, inputs, self-overlay, ... }:
with lib;
let
cfg = config.eboskma.users.erwin;
in
{
config = mkIf cfg.work {
home-manager.users.erwin = {
_module.args.flake-inputs = inputs;
programs.home-manager.enable = true;
programs.command-not-found.enable = true;
home.username = "erwin";
home.homeDirectory = "/home/erwin";
home.sessionVariables = {
EDITOR = "${config.home-manager.users.erwin.eboskma.programs.emacs.package}/bin/emacsclient -c";
};
nixpkgs.config.allowUnfree = true;
eboskma = {
var.workSystem = true;
programs = {
alacritty.enable = true;
bat.enable = true;
dropbox.enable = true;
dunst.enable = true;
emacs = {
enable = true;
package = with pkgs; ((emacsPackagesFor emacsNativeComp).emacsWithPackages (epkgs: [ epkgs.emacsql epkgs.emacsql-sqlite ]));
daemon = true;
};
firefox = {
enable = true;
work = true;
};
fish.enable = true;
git = {
enable = true;
name = "Erwin Boskma";
email = "erwin@horus.nu";
signingKey = "~/.ssh/id_ed25519_sk";
signingKeyFormat = "ssh";
};
gpg.enable = true;
i3.enable = true;
mpd.enable = true;
polybar.enable = true;
neovim.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/rsync-net";
};
}
];
};
rofi.enable = true;
ssh.enable = true;
zellij = {
enable = true;
copyCommand = "${pkgs.xsel}/bin/xsel --clipboard";
};
};
services = {
xbanish.enable = true;
};
};
home.keyboard = {
layout = "us,us";
variant = "colemak,";
model = "pc105";
options = [ "ctrl:nocaps" "eurosign:5" "lv5:ralt_switch" "lv3:rwin_switch" "grp:shifts_toggle" "grp_led:caps" ];
};
home.packages = with pkgs; [
atool
bandwhich
bitwarden
blink1-tool
bottom
cider
fd
ffmpeg_5-full
git
gnome.nautilus
headsetcontrol
imagemagick
iotop
(jetbrains.clion.override { jdk = pkgs.jetbrains.jdk; })
libnotify
libreoffice-fresh
mpv
nordzy-cursor-theme
onefetch
pamedia
quintom-cursor-theme
procs
recursive
ripgrep
signal-desktop
solo2-cli
units
unzip
xdg-utils
xkb-switch
zeal
]
++ (with gst_all_1; [ gstreamer gstreamer.dev gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav gst-vaapi ]);
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";
};
associations = {
added = {
"image/jpeg" = "feh.desktop";
"image/png" = "feh.desktop";
"image/gif" = "feh.desktop";
"application/zip" = "org.gnome.FileRoller.desktop";
};
};
};
userDirs = {
enable = true;
createDirectories = true;
};
};
gtk = {
enable = true;
theme = {
name = "Arc-Dark";
package = pkgs.arc-theme;
};
iconTheme = {
name = "Papirus-Dark";
package = pkgs.papirus-icon-theme;
};
gtk3 = {
bookmarks = [
"file:///home/erwin/workspace"
];
extraConfig = {
gtk-application-prefer-dark-theme = true;
gtk-cursor-theme-name = "Nordzy-cursors";
};
};
};
imports = [
{
nixpkgs.overlays = [
self-overlay
inputs.ha-now-playing.overlays.${pkgs.system}
inputs.pamedia.overlays.${pkgs.system}
inputs.emacs-overlay.overlay
];
}
inputs.hyprland.homeManagerModules.default
../../modules/options
] ++ (map (mod: (../../home-manager/modules + "/${mod}")) (builtins.attrNames (builtins.readDir ../../home-manager/modules)));
home.stateVersion = "22.11";
};
services.xserver = {
layout = "us,us";
xkbVariant = "colemak,";
xkbModel = "pc105";
xkbOptions = "ctrl:nocaps,eurosign:5,lv5:ralt_switch,lv3:rwin_switch,grp:shifts_toggle";
windowManager.i3 = {
enable = true;
package = pkgs.i3-gaps;
extraPackages = with pkgs; [ i3lock-color ];
};
};
programs.wireshark = {
enable = true;
package = pkgs.wireshark;
};
users.groups.wireshark.members = [ "erwin" ];
};
}