610 lines
14 KiB
Nix
610 lines
14 KiB
Nix
args@{ config, pkgs, split-monitor-workspaces, flatpaks, ... }:
|
|
|
|
{
|
|
home.username = "zilti";
|
|
home.homeDirectory = "/home/zilti";
|
|
|
|
home.packages = with pkgs; [
|
|
appimage-run
|
|
binutils
|
|
bitwarden-desktop
|
|
bitwarden-cli
|
|
brightnessctl
|
|
coreutils-full
|
|
clojure-lsp
|
|
discord
|
|
edwood
|
|
file
|
|
fossil
|
|
fprintd-tod
|
|
freetube
|
|
freetype
|
|
gcc
|
|
ghostscript
|
|
gimp-with-plugins
|
|
git-cola
|
|
git-doc
|
|
git-filter-repo
|
|
grim
|
|
home-manager
|
|
hyprcursor
|
|
hyprpaper
|
|
iconv
|
|
kteatime
|
|
lagrange
|
|
libreoffice-qt6-fresh
|
|
liquidprompt
|
|
kdePackages.ark
|
|
kdePackages.breeze-icons
|
|
kdePackages.dolphin
|
|
kdePackages.kdesu
|
|
kdePackages.kde-cli-tools
|
|
kdePackages.kitinerary
|
|
kdePackages.ksshaskpass
|
|
kdePackages.okular
|
|
kdePackages.partitionmanager
|
|
kdePackages.qtsvg
|
|
kdePackages.qtwayland
|
|
kdePackages.wayland
|
|
kdePackages.wayland-protocols
|
|
libuuid
|
|
lm_sensors
|
|
gnumake
|
|
mattermost-desktop
|
|
# (nerdfonts.override { fonts = [ "VictorMono" "MPlus" ]; })
|
|
nerdfonts
|
|
nixd
|
|
nixfmt-rfc-style
|
|
nwg-displays
|
|
pciutils
|
|
pharo
|
|
pijul
|
|
pinentry-qt
|
|
pixman
|
|
plan9port
|
|
pynitrokey
|
|
nitrokey-app2
|
|
pwvucontrol
|
|
rar
|
|
retroarchFull
|
|
senpai
|
|
signal-desktop
|
|
slurp
|
|
space-cadet-pinball
|
|
sshfs
|
|
lutris
|
|
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 = "24.05";
|
|
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";
|
|
PATH = "$PATH:~/.local/bin";
|
|
#PASSWORD_STORE_DIR = "$XDG_DATA_HOME/password-store";
|
|
SSH_ASKPASS = "${pkgs.libsForQt5.ksshaskpass}/bin/ksshaskpass";
|
|
CHICKEN_DOC_REPOSITORY = "$XDG_DATA_HOME/chicken/doc";
|
|
CHICKEN_INSTALL_REPOSITORY = "$XDG_DATA_HOME/chicken/eggs";
|
|
CHICKEN_INSTALL_PREFIX = "/home/zilti/.local";
|
|
RTC_USE_PIPEWIRE = "true";
|
|
XCURSOR_SIZE = 48;
|
|
BW_SESSION = (builtins.readFile "${config.home.homeDirectory}/.vw-session-key");
|
|
QT_QPA_PLATFORM = "wayland";
|
|
};
|
|
|
|
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";
|
|
port = 993;
|
|
tls = {
|
|
enable = true;
|
|
};
|
|
};
|
|
smtp = {
|
|
host = "lyrion.ch";
|
|
port = 465;
|
|
tls = {
|
|
enable = true;
|
|
};
|
|
};
|
|
thunderbird = { enable = true; };
|
|
aerc = { enable = true; };
|
|
};
|
|
bevuta = {
|
|
realName = "Daniel Ziltener";
|
|
userName = "daniel.ziltener@bevuta.com";
|
|
passwordCommand = "Bevuta/E-Mail | head -n 1";
|
|
address = "daniel.ziltener@bevuta.com";
|
|
imap = {
|
|
host = "mail.networkname.de";
|
|
tls = {
|
|
enable = true;
|
|
};
|
|
};
|
|
smtp = {
|
|
host = "mail.networkname.de";
|
|
tls = {
|
|
enable = true;
|
|
};
|
|
};
|
|
thunderbird = { enable = true; };
|
|
aerc = { 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/info.beyondallreason.bar//stable"
|
|
"flathub:app/com.valvesoftware.Steam//stable"
|
|
"flathub:runtime/org.freedesktop.Platform.VulkanLayer.gamescope//stable"
|
|
];
|
|
};
|
|
|
|
services.syncthing = {
|
|
enable = true;
|
|
# tray.enable = true;
|
|
};
|
|
|
|
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 = ''
|
|
shopt -s histappend
|
|
shopt -s checkwinsize
|
|
shopt -s extglob
|
|
shopt -s globstar
|
|
shopt -s checkjobs
|
|
eval "$(cat ${pkgs.liquidprompt}/bin/liquidprompt)"
|
|
eval "$(cat ${pkgs.liquidprompt}/share/liquidprompt/themes/alternate_vcs/alternate_vcs.theme)"
|
|
'';
|
|
};
|
|
|
|
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.hstr = { enable = true; };
|
|
|
|
programs.htop = { enable = true; };
|
|
|
|
programs.ripgrep = { 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.".config/xdg-desktop-portal/hyprland-portals.conf" = {
|
|
enable = true;
|
|
text = ''
|
|
[preferred]
|
|
default=hyprland;gtk
|
|
org.freedesktop.impl.portal.FileChooser=kde
|
|
'';
|
|
};
|
|
|
|
programs.gpg = {
|
|
enable = true;
|
|
settings = {
|
|
utf8-strings = true;
|
|
auto-key-retrieve = true;
|
|
};
|
|
};
|
|
|
|
services.gpg-agent = {
|
|
enable = true;
|
|
enableScDaemon = true;
|
|
enableSshSupport = true;
|
|
defaultCacheTtl = 7200;
|
|
maxCacheTtl = 7200;
|
|
defaultCacheTtlSsh = 7200;
|
|
maxCacheTtlSsh = 7200;
|
|
pinentryPackage = pkgs.pinentry-qt;
|
|
extraConfig = ''
|
|
allow-emacs-pinentry
|
|
allow-loopback-pinentry
|
|
'';
|
|
};
|
|
|
|
programs.rbw = {
|
|
enable = true;
|
|
settings = {
|
|
base_url = "vaultwarden.lyrion.ch";
|
|
email = "dziltener@lyrion.ch";
|
|
pinentry = pkgs.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.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;
|
|
package = pkgs.kdePackages.kdeconnect-kde;
|
|
indicator = true;
|
|
};
|
|
|
|
programs.ssh = {
|
|
enable = true;
|
|
addKeysToAgent = "yes";
|
|
matchBlocks = {
|
|
"dev.bevuta.com" = {
|
|
user = "git";
|
|
hostname = "dev.bevuta.com";
|
|
identitiesOnly = true;
|
|
identityFile = "~/.ssh/personal_ed";
|
|
};
|
|
"git.sr.ht" = {
|
|
user = "git";
|
|
hostname = "git.sr.ht";
|
|
identitiesOnly = true;
|
|
identityFile = "~/.ssh/personal_ed";
|
|
};
|
|
"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";
|
|
# };
|
|
# };
|
|
|
|
programs.hyprlock = {
|
|
enable = true;
|
|
settings = {
|
|
general = {
|
|
grace = 3;
|
|
};
|
|
background = {
|
|
path = "screenshot";
|
|
blur_passes = 2;
|
|
blur_size = 8;
|
|
noise = 0.0117;
|
|
contrast = 0.8916;
|
|
brightness = 0.8172;
|
|
vibrancy = 0.1696;
|
|
vibrancy_darkness = 0.0;
|
|
};
|
|
input-field = {
|
|
size = "200, 50";
|
|
outline_thickness = 3;
|
|
dots_size = 0.33;
|
|
dots_spacing = 0.15;
|
|
dots_center = true;
|
|
dots_rounding = -1;
|
|
outer_color = "rgb(151515)";
|
|
inner_color = "rgb(200,200,200)";
|
|
font_color = "rgb(10,10,10)";
|
|
fade_on_empty = true;
|
|
fade_timeout = 1000;
|
|
placeholder_text = "<i>Input Password...</i>";
|
|
hide_input = false;
|
|
rounding = -1;
|
|
check_color = "rgb(204,136,34)";
|
|
fail_color = "rgb(204,34,34)";
|
|
fail_text = "<i>$FAIL <b>($ATTEMPTS)</b></i>";
|
|
fail_transition = 300;
|
|
capslock_color = -1;
|
|
numlock_color = -1;
|
|
bothlock_color = -1;
|
|
invert_numlock = false;
|
|
position = "0, -20";
|
|
halign = "center";
|
|
valign = "center";
|
|
};
|
|
};
|
|
};
|
|
|
|
# services.swayidle = {
|
|
# enable = true;
|
|
# events = [ ];
|
|
# timeouts = [{
|
|
# timeout = 600;
|
|
# #command = "${pkgs.swaylock-effects}/bin/swaylock";
|
|
# command = "hyprlock";
|
|
# }];
|
|
# };
|
|
|
|
services.hypridle = {
|
|
enable = true;
|
|
settings = {
|
|
general = {
|
|
after_sleep_cmd = "hyprctl dispatch dpms on";
|
|
};
|
|
listener = [
|
|
{
|
|
timeout = 300;
|
|
on-timeout = "${pkgs.hyprlock}/bin/hyprlock";
|
|
}
|
|
{
|
|
timeout = 1200;
|
|
on-timeout = "hyprctl dispatch dpms off";
|
|
on-resume = "hyprctl dispatch dpms on";
|
|
}
|
|
];
|
|
};
|
|
};
|
|
|
|
services.hyprpaper ={
|
|
enable = true;
|
|
settings = {
|
|
ipc = "on";
|
|
splash = true;
|
|
splash_offset = 2.0;
|
|
preload = [
|
|
"${config.home.homeDirectory}/Stow/Desktop/config/wallpapers/Next/contents/images/3840x2160.png"
|
|
];
|
|
wallpaper = [
|
|
",${config.home.homeDirectory}/Stow/Desktop/config/wallpapers/Next/contents/images/3840x2160.png"
|
|
];
|
|
};
|
|
};
|
|
|
|
# services.mako = {
|
|
# enable = true;
|
|
# defaultTimeout = 5000;
|
|
# };
|
|
|
|
# services.gammastep = {
|
|
# enable = true;
|
|
# provider = "geoclue2";
|
|
# temperature = {
|
|
# day = 5500;
|
|
# night = 2700;
|
|
# };
|
|
# };
|
|
|
|
|
|
services.swaync = {
|
|
enable = true;
|
|
# https://github.com/ErikReider/SwayNotificationCenter/blob/main/src/configSchema.json
|
|
settings = {
|
|
notification-inline-replies = true;
|
|
};
|
|
};
|
|
|
|
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";
|
|
};
|
|
};
|
|
};
|
|
|
|
qt = {
|
|
enable = true;
|
|
style = {
|
|
name = "breeze";
|
|
package = pkgs.kdePackages.breeze;
|
|
};
|
|
};
|
|
|
|
programs.firefox = {
|
|
enable = true;
|
|
profiles.default = { isDefault = true; };
|
|
};
|
|
|
|
programs.thunderbird = {
|
|
enable = true;
|
|
profiles.default = { isDefault = true; };
|
|
};
|
|
}
|