{ config, pkgs, ... }: { home = { username = "hms"; homeDirectory = "/home/hms"; # Packages packages = with pkgs; [ # Utilities xz zip unzip ripgrep tealdeer zoxide just # Applications blackbox-terminal zotero zulip discord signal-desktop gapless # Development ## Typst, LaTeX tinymist texliveFull ## Nix nixfmt-rfc-style nil ]; # Bash configuration shell.enableBashIntegration = true; shellAliases = { ":q" = "exit"; "h" = "hx"; "o" = "xdg-open"; "update" = "sudo nixos-rebuild switch --flake ~/dev/nixos"; }; # Custom files file = { "firefox-gnome-theme" = { target = ".mozilla/firefox/default/chrome/firefox-gnome-theme"; source = ( fetchTarball { url = "https://github.com/rafaelmardojai/firefox-gnome-theme/archive/v143.tar.gz"; sha256 = "1gkfi77n8cn5xzl3wi9mggh7adirjrsnbqygg1mcvjy0ynmd6kfh"; } ); }; }; stateVersion = "25.11"; }; programs = { home-manager.enable = true; # Helix configuration helix = { enable = true; defaultEditor = true; settings = { theme = "adwaita-dark"; editor = { lsp.display-messages = true; inline-diagnostics.cursor-line = "info"; rulers = [ 81 ]; gutters.layout = [ "diagnostics" ]; }; keys.insert.j.k = "normal_mode"; }; }; jujutsu = { enable = true; settings = { user = { name = "Henri Saudubray"; email = "henri.saudubray@proton.me"; }; ui.default-command = "log"; }; }; firefox = { enable = true; profiles.default = { name = "Default"; settings = { "toolkit.legacyUserProfileCustomizations.stylesheets" = true; "svg.context-properties.content.enabled" = true; "gnomeTheme.hideSingleTab" = true; }; userChrome = '' @import "firefox-gnome-theme/userChrome.css"; @import "firefox-gnome-theme/theme/colors/dark.css"; ''; }; }; bat.enable = true; git = { enable = true; settings = { user = { email = "henri.saudubray@proton.me"; name = "Henri Saudubray"; }; init.defaultBranch = "main"; }; signing.format = "openpgp"; }; bash = { enable = true; bashrcExtra = '' export PS1=" \W \[\e[33m\]λ\[\e[0m\] " ''; }; gpg.enable = true; zoxide = { enable = true; enableBashIntegration = true; options = [ "--cmd cd" ]; }; }; xdg.userDirs = { enable = true; createDirectories = true; desktop = "${config.home.homeDirectory}/dsk"; documents = "${config.home.homeDirectory}/doc"; download = "${config.home.homeDirectory}/dwn"; music = "${config.home.homeDirectory}/aud"; pictures = "${config.home.homeDirectory}/img"; publicShare = "${config.home.homeDirectory}/pub"; templates = "${config.home.homeDirectory}/tpl"; videos = "${config.home.homeDirectory}/vid"; }; dconf.settings = { "org/gnome/TextEditor" = { keybindings = "vim"; }; }; }