508 lines
11 KiB
Nix
508 lines
11 KiB
Nix
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
|
|
edwood
|
|
file
|
|
fossil
|
|
fprintd-tod
|
|
freetube
|
|
freetype
|
|
gamescope
|
|
gcc
|
|
git-cola
|
|
git-doc
|
|
git-filter-repo
|
|
grim
|
|
guix
|
|
home-manager
|
|
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
|
|
podman-compose
|
|
qt6.full
|
|
pwvucontrol
|
|
qtpass
|
|
senpai
|
|
signal-desktop
|
|
slack
|
|
slurp
|
|
space-cadet-pinball
|
|
sqlite
|
|
stow
|
|
swappy
|
|
swayfx
|
|
sysstat
|
|
telegram-desktop
|
|
tofi
|
|
ungoogled-chromium
|
|
unzip
|
|
usbutils
|
|
vlc
|
|
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;
|
|
};
|
|
|
|
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; };
|
|
};
|
|
}
|