699 lines
15 KiB
Nix
699 lines
15 KiB
Nix
args@{
|
|
config,
|
|
pkgs,
|
|
split-monitor-workspaces,
|
|
nix-flatpak,
|
|
...
|
|
}:
|
|
|
|
{
|
|
home.username = "zilti";
|
|
home.homeDirectory = "/home/zilti";
|
|
|
|
home.packages = with pkgs; [
|
|
appimage-run
|
|
binutils
|
|
bitwarden-cli
|
|
blueman
|
|
brightnessctl
|
|
coreutils-full
|
|
clojure-lsp
|
|
discord
|
|
edwood
|
|
file
|
|
fossil
|
|
fprintd-tod
|
|
freetube
|
|
freetype
|
|
gamescope
|
|
gamescope-wsi
|
|
gcc
|
|
ghostscript
|
|
gimp-with-plugins
|
|
git-cola
|
|
git-doc
|
|
git-filter-repo
|
|
gparted
|
|
grim
|
|
home-manager
|
|
#hyprcursor
|
|
iconv
|
|
inkscape-with-extensions
|
|
krita
|
|
kteatime
|
|
lagrange
|
|
libreoffice-qt6-fresh
|
|
liquidprompt
|
|
kdePackages.ark
|
|
kdePackages.breeze-icons
|
|
kdePackages.dolphin
|
|
# kdePackages.kdesu
|
|
# kdePackages.kde-cli-tools
|
|
kdePackages.kitinerary
|
|
kdePackages.ksshaskpass
|
|
kdePackages.ktorrent
|
|
kdePackages.okular
|
|
kdePackages.partitionmanager
|
|
kdePackages.qtsvg
|
|
kdePackages.qtwayland
|
|
kdePackages.wayland
|
|
kdePackages.wayland-protocols
|
|
libsForQt5.kde-cli-tools
|
|
libuuid
|
|
lm_sensors
|
|
gnumake
|
|
mattermost-desktop
|
|
# (nerdfonts.override { fonts = [ "VictorMono" "MPlus" ]; })
|
|
nerdfonts
|
|
nixd
|
|
nixfmt-rfc-style
|
|
nwg-displays
|
|
obs-studio
|
|
pciutils
|
|
pharo
|
|
pijul
|
|
pinentry-qt
|
|
pixman
|
|
plan9port
|
|
# pynitrokey
|
|
# nitrokey-app2
|
|
pwvucontrol
|
|
rar
|
|
# retroarchFull
|
|
rlwrap
|
|
signal-desktop
|
|
slurp
|
|
sshfs
|
|
subversionClient
|
|
sqlite
|
|
stow
|
|
swappy
|
|
sysstat
|
|
telegram-desktop
|
|
ungoogled-chromium
|
|
unzip
|
|
usbutils
|
|
vlc
|
|
wine64Packages.waylandFull
|
|
wlr-randr
|
|
];
|
|
|
|
imports = [
|
|
./hyprland/hyprland.nix
|
|
./waybar/settings.nix
|
|
./emacs/emacs.nix
|
|
# ./chicken/chicken.nix
|
|
# ./kodi/kodi.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 = "${config.home.homeDirectory}/.local/chicken/doc/chicken-doc";
|
|
# CHICKEN_INSTALL_REPOSITORY = "${config.home.homeDirectory}/.local/chicken/eggs";
|
|
# CHICKEN_REPOSITORY_PATH = "$CHICKEN_REPOSITORY_PATH:${config.home.sessionVariables.CHICKEN_INSTALL_REPOSITORY}";
|
|
# CHICKEN_INSTALL_PREFIX = "/home/zilti/.local";
|
|
RTC_USE_PIPEWIRE = "true";
|
|
HYPRCURSOR_SIZE = 32;
|
|
BW_SESSION = (builtins.readFile "${config.home.homeDirectory}/.vw-session-key");
|
|
QT_QPA_PLATFORM = "wayland";
|
|
};
|
|
|
|
home.shellAliases = {
|
|
"git-init" = "git init --object-format=sha256";
|
|
};
|
|
|
|
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 = "pass Bevuta/E-Mail | head -n 1";
|
|
address = "daniel.ziltener@bevuta.com";
|
|
imap = {
|
|
host = "mail.networkname.de";
|
|
port = 993;
|
|
tls = {
|
|
enable = true;
|
|
};
|
|
};
|
|
smtp = {
|
|
host = "mail.networkname.de";
|
|
port = 465;
|
|
tls = {
|
|
enable = true;
|
|
};
|
|
};
|
|
thunderbird = {
|
|
enable = true;
|
|
};
|
|
aerc = {
|
|
enable = true;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
programs.msmtp = {
|
|
enable = true;
|
|
extraAccounts = ''
|
|
account lmail
|
|
host lyrion.ch
|
|
port 465
|
|
auth on
|
|
tls on
|
|
tls_starttls off
|
|
from dziltener@lyrion.ch
|
|
user dziltener
|
|
passwordeval "pass Privat/Mailaccount | head -n 1"
|
|
'';
|
|
};
|
|
|
|
services.flatpak = {
|
|
enable = true;
|
|
uninstallUnmanaged = true;
|
|
update = {
|
|
onActivation = true;
|
|
auto = {
|
|
enable = true;
|
|
onCalendar = "weekly";
|
|
};
|
|
};
|
|
remotes = [
|
|
{
|
|
name = "flathub";
|
|
location = "https://dl.flathub.org/repo/flathub.flatpakrepo";
|
|
}
|
|
{
|
|
name = "flathub-beta";
|
|
location = "https://dl.flathub.org/beta-repo/flathub-beta.flatpakrepo";
|
|
}
|
|
];
|
|
packages = [
|
|
"com.github.tchx84.Flatseal"
|
|
"com.usebottles.bottles"
|
|
"info.beyondallreason.bar"
|
|
"com.valvesoftware.Steam"
|
|
"net.lutris.Lutris"
|
|
"tv.kodi.Kodi"
|
|
"org.kde.itinerary"
|
|
"net.scribus.Scribus"
|
|
"org.libretro.RetroArch"
|
|
"org.freedesktop.Platform.VulkanLayer.gamescope/x86_64/23.08"
|
|
"org.freedesktop.Platform.VulkanLayer.gamescope/x86_64/24.08"
|
|
"com.stremio.Stremio"
|
|
];
|
|
};
|
|
|
|
gtk.enable = true;
|
|
|
|
home.pointerCursor = {
|
|
package = pkgs.hackneyed;
|
|
name = "Hackneyed";
|
|
size = 32;
|
|
};
|
|
|
|
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;
|
|
};
|
|
};
|
|
|
|
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;
|
|
};
|
|
|
|
programs.senpai = {
|
|
enable = true;
|
|
config = {
|
|
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 = {
|
|
annotate = true;
|
|
smtpserver = "lyrion.ch";
|
|
smtpuser = "dziltener";
|
|
smtpencryption = "ssl";
|
|
smtpserverport = 465;
|
|
};
|
|
rebase.autoStash = true;
|
|
pull.rebase = true;
|
|
push.autoSetupRemote = true;
|
|
init = {
|
|
defaultBranch = "master";
|
|
};
|
|
extensions = {
|
|
objectFormat = "sha256";
|
|
};
|
|
"gitlab.dev.bevuta.com/api/v4" = {
|
|
user = "daniel.ziltener@bevuta.com";
|
|
};
|
|
};
|
|
};
|
|
|
|
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 = "emacsclient";
|
|
SD_ROOT = "${config.home.homeDirectory}/.local/nixconfig/sd";
|
|
};
|
|
};
|
|
|
|
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";
|
|
};
|
|
"forgejo.lyrion.ch" = {
|
|
user = "git";
|
|
hostname = "forgejo.lyrion.ch";
|
|
port = 7920;
|
|
identitiesOnly = true;
|
|
identityFile = "~/.ssh/personal_ed";
|
|
};
|
|
};
|
|
};
|
|
|
|
# services.nextcloud-client = {
|
|
# enable = true;
|
|
# startInBackground = true;
|
|
# };
|
|
|
|
programs.hyprlock = {
|
|
enable = true;
|
|
settings = {
|
|
general = {
|
|
grace = 3;
|
|
};
|
|
background = {
|
|
path = "screenshot";
|
|
blur_passes = 2;
|
|
blur_size = 8;
|
|
noise = 1.17e-2;
|
|
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.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;
|
|
};
|
|
};
|
|
}
|