190 lines
5.1 KiB
Nix
190 lines
5.1 KiB
Nix
|
{ pkgs, config, lib, inputs, self-overlay, ... }:
|
||
|
with lib; let
|
||
|
cfg = config.eboskma.users.erwin;
|
||
|
in
|
||
|
{
|
||
|
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;
|
||
|
|
||
|
home.stateVersion = "23.05";
|
||
|
|
||
|
eboskma = {
|
||
|
programs = {
|
||
|
atuin.enable = true;
|
||
|
bat.enable = true;
|
||
|
emacs = {
|
||
|
enable = true;
|
||
|
# package = with pkgs; ((emacsPackagesFor emacsPgtk).emacsWithPackages (epkgs: [ epkgs.emacsql epkgs.emacsql-sqlite ]));
|
||
|
package =
|
||
|
let
|
||
|
emacs29 = pkgs.emacsPgtk.overrideAttrs (_: {
|
||
|
version = "29.0.90+gitc0ab4e9ca932";
|
||
|
src = pkgs.fetchFromSavannah {
|
||
|
repo = "emacs";
|
||
|
rev = "c0ab4e9ca9326c472ff1d9d01a0e3966f20fda27";
|
||
|
sha256 = "HxwVIVPIPMpp551Uo2qzcSSk2cM1N4YDBH6p3V2P4Rg=";
|
||
|
};
|
||
|
});
|
||
|
in
|
||
|
emacs29.override {
|
||
|
treeSitterPlugins = builtins.attrValues (filterAttrs (_: isDerivation) pkgs.tree-sitter-grammars);
|
||
|
};
|
||
|
|
||
|
daemon = true;
|
||
|
};
|
||
|
electron = {
|
||
|
enable = true;
|
||
|
wayland = true;
|
||
|
};
|
||
|
firefox = {
|
||
|
enable = true;
|
||
|
work = config.eboskma.base.work;
|
||
|
};
|
||
|
fish.enable = true;
|
||
|
foot = {
|
||
|
enable = true;
|
||
|
server = false;
|
||
|
};
|
||
|
git = {
|
||
|
enable = true;
|
||
|
name = "Erwin Boskma";
|
||
|
email = "erwin@datarift.nl";
|
||
|
# signingKey = "EE7ADEFE1D943C7B";
|
||
|
signingKey = "~/.ssh/id_ed25519";
|
||
|
signingKeyFormat = "ssh";
|
||
|
};
|
||
|
gpg.enable = true;
|
||
|
neovim.enable = true;
|
||
|
nushell.enable = true;
|
||
|
rofi = {
|
||
|
enable = true;
|
||
|
package = pkgs.rofi-wayland;
|
||
|
terminal = config.home-manager.users.erwin.wayland.windowManager.sway.config.terminal;
|
||
|
};
|
||
|
ssh.enable = true;
|
||
|
starship.enable = true;
|
||
|
sway.enable = true;
|
||
|
swaynotificationcenter.enable = true;
|
||
|
waybar.enable = true;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
home.packages = with pkgs;
|
||
|
[
|
||
|
atool
|
||
|
bottom
|
||
|
fd
|
||
|
gnome.nautilus
|
||
|
imagemagick
|
||
|
imv
|
||
|
iotop
|
||
|
libnotify
|
||
|
mpv
|
||
|
nordzy-cursor-theme
|
||
|
quintom-cursor-theme
|
||
|
procs
|
||
|
ripgrep
|
||
|
units
|
||
|
unzip
|
||
|
xdg-utils
|
||
|
wl-clipboard
|
||
|
zeal
|
||
|
];
|
||
|
|
||
|
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 = "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 = 1;
|
||
|
gtk-cursor-theme-name = "Nordzy-cursors";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
gtk4.extraConfig = {
|
||
|
gtk-application-prefer-dark-theme = 1;
|
||
|
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
|
||
|
];
|
||
|
}
|
||
|
../../modules/options
|
||
|
] ++ (map (mod: (../../home-manager/modules + "/${mod}")) (builtins.attrNames (builtins.readDir ../../home-manager/modules)));
|
||
|
};
|
||
|
|
||
|
programs.bandwhich.enable = true;
|
||
|
|
||
|
services.ddccontrol.enable = true;
|
||
|
|
||
|
}
|