args@{ config, pkgs, hyprland, split-monitor-workspaces, flatpaks, ... }: { home.username = "zilti"; home.homeDirectory = "/home/zilti"; home.packages = with pkgs; [ appimage-run binutils bitwarden brightnessctl coreutils-full discord edwood file fossil fprintd-tod freetube freetype gamescope gcc git-cola git-doc git-filter-repo grim guile guix home-manager hyprpaper iconv kteatime lagrange libffi libgccjit kdePackages.plasma-desktop kdePackages.plasma-workspace kdePackages.dolphin kdePackages.ksshaskpass kdePackages.okular libuuid lm_sensors gnumake # (nerdfonts.override { fonts = [ "VictorMono" "MPlus" ]; }) nerdfonts nil nixfmt # nwg-displays pciutils # perl538Packages.DigestHMAC # perl538Packages.FileLibMagic # perl538Packages.IOSocketINET6 # perl538Packages.IOSocketSSL # perl538Packages.MIMELite # perl538Packages.TermReadKey pharo pijul pinentry-qt pixman plan9port pwvucontrol senpai signal-desktop slurp space-cadet-pinball sqlite stow swappy sysstat telegram-desktop ungoogled-chromium unzip usbutils vlc wlr-randr ]; 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" "${config.home.homeDirectory}/.local/bin" ]; home.sessionVariables = { PASSWORD_STORE_DIR = "${config.home.homeDirectory}/.local/share/password-store"; SSH_ASKPASS = "${pkgs.libsForQt5.ksshaskpass}/bin/ksshaskpass"; CHICKEN_DOC_REPOSITORY = "/home/zilti/.local/share/chicken-doc"; CHICKEN_INSTALL_REPOSITORY = "/home/zilti/.local/share/chicken/11/eggs"; CHICKEN_INSTALL_PREFIX = "/home/zilti/.local/bin"; }; home.pointerCursor = { package = pkgs.catppuccin-cursors.lattePeach; gtk.enable = true; x11.enable = true; name = "Catppuccin-Latte-Peach-Cursors"; size = 32; }; home.file.".config/sway/config" = { enable = true; text = builtins.readFile /opt/nixconfig/swayfx/config.in; }; 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.".config/senpai/senpai.scfg" = { enable = true; text = '' address ircs://lyrion.ch nickname zilti realname "Daniel Ziltener" password-cmd pass show Privat/Soju ''; }; 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"; # show-actions = true; # 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; }; }; }