args@{ config, pkgs, hyprland, split-monitor-workspaces, flatpaks, ... }: { home.username = "zilti"; home.homeDirectory = "/home/zilti"; home.packages = with pkgs; [ SDL2 appimage-run babashka binutils bitwarden brightnessctl chicken clj-kondo clojure clojure-lsp coreutils-full discord file fossil fprintd-tod freetube freetype gamescope gcc git-cola git-doc git-filter-repo grim guix hyprpaper iconv kteatime lagrange libffi libgccjit libsForQt5.dolphin libsForQt5.ksshaskpass libsForQt5.okular libuuid lm_sensors gnumake (nerdfonts.override { fonts = [ "VictorMono" "MPlus" ]; }) nil nixfmt nodejs_20 nwg-displays openstackclient pciutils perl538Packages.DigestHMAC perl538Packages.FileLibMagic perl538Packages.IOSocketINET6 perl538Packages.IOSocketSSL perl538Packages.MIMELite perl538Packages.TermReadKey pharo pijul pinentry-qt pixman plan9port qt6.full edwood podman-compose pwvucontrol qtpass signal-desktop slack slurp space-cadet-pinball sqlite stow swappy sysstat telegram-desktop tofi ungoogled-chromium unzip usbutils wlr-randr zig zls zoom-us ]; imports = [ ./hyprland/hyprland.nix ./waybar/settings.nix ./emacs/emacs.nix ./chicken/chicken.nix ]; home.stateVersion = "23.11"; programs.home-manager.enable = true; home.sessionPath = [ "${config.home.homeDirectory}/.config/emacs/bin" ]; home.sessionVariables = { PASSWORD_STORE_DIR = "${config.home.homeDirectory}/.local/share/password-store"; SSH_ASKPASS = "${pkgs.libsForQt5.ksshaskpass}/bin/ksshaskpass"; }; home.pointerCursor = { package = pkgs.catppuccin-cursors.lattePeach; gtk.enable = true; x11.enable = true; name = "Catppuccin-Latte-Peach-Cursors"; size = 32; }; accounts = { # calendar = { # basePath = "${config.home.homeDirectory}/calendars"; # accounts = { # nextcloud = { # primary = true; # remote = { # type = "caldav"; # url = "https://nextcloud.lyrion.ch/remote.php/dav/calendars/zilti"; # userName = "dziltener@lyrion.ch"; # passwordCommand = [ "pass" "Privat/Nextcloud" ]; # }; # vdirsyncer = { # enable = false; # auth = "guess"; # itemTypes = "caldav"; # }; # khal = { # enable = true; # type = "discover"; # }; # }; # }; # }; # contact = { # basePath = "${config.home.homeDirectory}/contacts"; # accounts = { # nextcloud = { # remote = { # type = "carddav"; # url = # "https://nextcloud.lyrion.ch/rempte.php/dav/addressbooks/users/zilti"; # userName = "dziltener@lyrion.ch"; # passwordCommand = [ "pass" "Privat/Nextcloud" ]; # }; # vdirsyncer = { # enable = false; # auth = "digest"; # }; # khal = { enable = true; }; # khard = { enable = true; }; # }; # }; # }; email = { accounts = { LMail = { realName = "Daniel Ziltener"; userName = "dziltener"; passwordCommand = "pass Privat/Mailaccount | head -n 1"; primary = true; address = "dziltener@lyrion.ch"; imap = { host = "lyrion.ch"; tls = { enable = true; useStartTls = true; }; }; smtp = { host = "lyrion.ch"; tls = { enable = true; useStartTls = true; }; }; thunderbird = { enable = true; }; aerc = { enable = true; }; }; RedSky = { flavor = "gmail.com"; realName = "Daniel Ziltener"; userName = "dz@redsky.io"; passwordCommand = "pass Privat/RedSkyGMail"; address = "dz@redsky.io"; thunderbird = { enable = true; }; }; }; }; }; services.flatpak = { enableModule = true; remotes = { "flathub" = "https://dl.flathub.org/repo/flathub.flatpakrepo"; "flathub-beta" = "https://dl.flathub.org/beta-repo/flathub-beta.flatpakrepo"; }; packages = [ "flathub:app/com.github.tchx84.Flatseal//stable" "flathub:app/com.usebottles.bottles//stable" "flathub:app/com.valvesoftware.Steam//stable" "flathub:app/info.beyondallreason.bar//stable" ]; }; fonts.fontconfig.enable = true; services.plan9port = { fontsrv.enable = true; plumber.enable = true; }; programs.kitty = { enable = true; environment = { }; settings = { background_opacity = "0.85"; kitty_mod = "ctrl+shift"; enabled_layouts = "horizontal"; }; keybindings = { "kitty_mod+enter" = "new_window"; }; font = { name = "VictorMono Nerd Font Mono"; size = 10; }; theme = "Catppuccin-Frappe"; }; programs.bash = { enable = true; enableCompletion = true; bashrcExtra = '' eval "$(${pkgs.starship}/bin/starship init bash)" ''; }; programs.tmux = { enable = true; mouse = true; extraConfig = ''set-option -sa terminal-overrides ",xterm*:Tc"''; }; # https://github.com/nix-community/nix-direnv programs.direnv = { enable = true; enableBashIntegration = true; nix-direnv.enable = true; }; programs.starship = let flavour = "frappe"; in { enable = true; settings = { aws.disabled = true; gcloud.disabled = true; format = "$all"; palette = "catppuccin_${flavour}"; } // builtins.fromTOML (builtins.readFile (pkgs.fetchFromGitHub { owner = "catppuccin"; repo = "starship"; rev = "5629d2356f62a9f2f8efad3ff37476c19969bd4f"; sha256 = "sha256-nsRuxQFKbQkyEI4TXgvAjcroVdG+heKX5Pauq/4Ota0="; } + /palettes/${flavour}.toml)); }; programs.hstr = { enable = true; }; programs.htop = { enable = true; }; programs.ripgrep = { enable = true; }; programs.gpg = { enable = true; }; home.file.".gnupg/gpg-agent.conf" = { enable = true; text = '' grab pinentry-program ${pkgs.pinentry-qt}/bin/pinentry-qt allow-emacs-pinentry allow-loopback-pinentry ''; }; programs.rbw = { enable = true; settings = { base_url = "vaultwarden.lyrion.ch"; email = "dziltener@lyrion.ch"; pinentry = "qt"; }; }; programs.git = { enable = true; userName = "Daniel Ziltener"; userEmail = "dziltener@lyrion.ch"; signing = { key = "37F655BAF43BC0FF300A91A1B38976E82C9DAE42"; signByDefault = true; }; diff-so-fancy = { enable = true; }; extraConfig = { sendemail = { smtpserver = "lyrion.ch"; smtpuser = "dziltener"; smtpencryption = "starttls"; smtpserverport = 465; }; rebase.autoStash = true; pull.rebase = true; push.autoSetupRemote = true; }; }; programs.git-cliff = { enable = true; # https://git-cliff.org/docs/configuration settings = { }; }; programs.tealdeer = { enable = true; }; # https://github.com/ianthehenry/sd programs.script-directory = { enable = true; settings = { SD_EDITOR = "vim"; }; }; programs.keychain = { enable = true; enableBashIntegration = true; enableXsessionIntegration = true; agents = [ "ssh" "gpg" ]; keys = [ "id_rsa" "personal_ed" "37F655BAF43BC0FF300A91A1B38976E82C9DAE42" ]; }; programs.password-store = { enable = true; package = pkgs.pass.withExtensions (exts: [ exts.pass-otp ]); }; programs.browserpass = { enable = true; }; services.pueue = { enable = true; }; services.network-manager-applet.enable = true; services.batsignal = { enable = true; }; # services.fusuma = { # enable = true; # }; services.copyq = { enable = true; }; # programs.vdirsyncer = { # enable = true; # }; # programs.khal = { # enable = true; # }; # programs.khard = { # enable = true; # }; # programs.aerc = { # enable = true; # extraConfig = { general = { unsafe-accounts-conf = true; }; }; # }; services.kdeconnect = { enable = true; indicator = true; }; programs.ssh = { enable = true; matchBlocks = { "github.com" = { user = "git"; hostname = "github.com"; identitiesOnly = true; identityFile = "~/.ssh/personal_ed"; }; "gitea.lyrion.ch" = { user = "git"; hostname = "gitea.lyrion.ch"; port = 7920; identitiesOnly = true; identityFile = "~/.ssh/personal_ed"; }; }; }; services.nextcloud-client = { enable = true; startInBackground = true; }; programs.swaylock = { enable = true; package = "${pkgs.swaylock-effects}"; settings = { screenshots = true; clock = true; indicator-idle-visible = true; grace = 3; fade-in = 3; effect-blur = "7x5"; effect-vignette = "0.5:0.5"; }; }; services.swayidle = { enable = true; events = [ ]; timeouts = [{ timeout = 600; command = "${pkgs.swaylock-effects}/bin/swaylock"; }]; }; services.mako = { enable = true; defaultTimeout = 5000; }; services.gammastep = { enable = true; provider = "geoclue2"; temperature = { day = 5500; night = 2700; }; }; programs.wlogout = { enable = true; }; programs.fuzzel = { enable = true; settings = { main = { terminal = "${pkgs.kitty}/bin/kitty"; width = 100; fields = "filename,name,generic,exec"; filter-desktop = false; layer = "overlay"; }; }; }; home.file.tofi-conf = { enable = true; target = ".config/tofi/config"; text = '' drun-launch = true font = Victor Mono Nerd Font font-size = 12 text-cursor = true terminal = kitty width = 1200 height = 720 '' + (builtins.readFile (pkgs.fetchFromGitHub { owner = "catppuccin"; repo = "tofi"; rev = "2e74ddba0c582b2ca2d9d06f67f5a902c3a093fb"; sha256 = "sha256-XUwixvy2WyfaSRHM8cTnOn8lKv+vbhheDA1Z47ap+Mc="; } + /catppuccin-latte)); }; # qt = { # enable = true; # style.name = "breeze"; # }; programs.firefox = { enable = true; profiles.default = { isDefault = true; }; }; programs.thunderbird = { enable = true; profiles.default = { isDefault = true; }; }; }