mirror of
https://github.com/Swarsel/.dotfiles.git
synced 2025-12-06 09:07:21 +01:00
Compare commits
7 commits
95fa226b9e
...
41240db5c9
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
41240db5c9 | ||
|
|
deaa3d5889 | ||
|
|
9ce9a7ec6a | ||
|
|
101f4d3183 | ||
|
|
fb37690bc0 | ||
|
|
e07b3c2b6e | ||
|
|
9da6bd15ab |
22 changed files with 3815 additions and 1291 deletions
|
|
@ -412,8 +412,9 @@ A short overview over each input and what it does:
|
||||||
swarsel-modules.url = "github:Swarsel/swarsel-modules/main";
|
swarsel-modules.url = "github:Swarsel/swarsel-modules/main";
|
||||||
swarsel-nix.url = "github:Swarsel/swarsel-nix/main";
|
swarsel-nix.url = "github:Swarsel/swarsel-nix/main";
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager";
|
# url = "github:nix-community/home-manager";
|
||||||
# url = "github:Swarsel/home-manager/module/pizauth";
|
# url = "github:Swarsel/home-manager/main";
|
||||||
|
url = "github:JuneStepp/home-manager/anki-fix-booleans";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
swarsel.url = "github:Swarsel/.dotfiles";
|
swarsel.url = "github:Swarsel/.dotfiles";
|
||||||
|
|
@ -1988,8 +1989,8 @@ My work machine. Built for more security, this is the gold standard of my config
|
||||||
# '';
|
# '';
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
# kernelPackages = lib.mkDefault pkgs.kernel.linuxPackages;
|
kernelPackages = lib.mkDefault pkgs.kernel.linuxPackages;
|
||||||
kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
|
# kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
|
||||||
binfmt.emulatedSystems = [ "aarch64-linux" ];
|
binfmt.emulatedSystems = [ "aarch64-linux" ];
|
||||||
initrd = {
|
initrd = {
|
||||||
availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "cryptd" "usbhid" "sd_mod" "r8152" ];
|
availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "cryptd" "usbhid" "sd_mod" "r8152" ];
|
||||||
|
|
@ -2005,7 +2006,8 @@ My work machine. Built for more security, this is the gold standard of my config
|
||||||
|
|
||||||
kernelModules = [ "kvm-amd" ];
|
kernelModules = [ "kvm-amd" ];
|
||||||
kernelParams = [
|
kernelParams = [
|
||||||
"mem_sleep_default=deep"
|
# deep sleep is discontinued by amd
|
||||||
|
# "mem_sleep_default=deep"
|
||||||
# supposedly, this helps save power on laptops
|
# supposedly, this helps save power on laptops
|
||||||
# in reality (at least on this model), this just generate excessive heat on the CPUs
|
# in reality (at least on this model), this just generate excessive heat on the CPUs
|
||||||
# "amd_pstate=passive"
|
# "amd_pstate=passive"
|
||||||
|
|
@ -4225,6 +4227,7 @@ We enable the use of =home-manager= as a NixoS module. A nice trick here is the
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
verbose = true;
|
verbose = true;
|
||||||
|
backupFileExtension = "hm-bak";
|
||||||
users.${config.swarselsystems.mainUser}.imports = [
|
users.${config.swarselsystems.mainUser}.imports = [
|
||||||
inputs.nix-index-database.homeModules.nix-index
|
inputs.nix-index-database.homeModules.nix-index
|
||||||
inputs.sops-nix.homeManagerModules.sops
|
inputs.sops-nix.homeManagerModules.sops
|
||||||
|
|
@ -4728,6 +4731,9 @@ Mostly used to install some compilers and lsp's that I want to have available wh
|
||||||
"jitsi-meet-1.0.8043"
|
"jitsi-meet-1.0.8043"
|
||||||
"electron-29.4.6"
|
"electron-29.4.6"
|
||||||
"SDL_ttf-2.0.11"
|
"SDL_ttf-2.0.11"
|
||||||
|
# audacity?
|
||||||
|
"mbedtls-2.28.10"
|
||||||
|
# "qtwebengine-5.15.19"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -10536,9 +10542,16 @@ This holds configuration that is specific to framework laptops.
|
||||||
boot = {
|
boot = {
|
||||||
kernelParams = [
|
kernelParams = [
|
||||||
"resume_offset=${builtins.toString config.swarselsystems.hibernation.offset}"
|
"resume_offset=${builtins.toString config.swarselsystems.hibernation.offset}"
|
||||||
|
# "mem_sleep_default=deep"
|
||||||
];
|
];
|
||||||
inherit (config.swarselsystems.hibernation) resumeDevice;
|
inherit (config.swarselsystems.hibernation) resumeDevice;
|
||||||
};
|
};
|
||||||
|
systemd.services."systemd-suspend-then-hibernate".aliases = [ "systemd-suspend.service" ];
|
||||||
|
powerManagement.enable = true;
|
||||||
|
systemd.sleep.extraConfig = ''
|
||||||
|
HibernateDelaySec=120m
|
||||||
|
SuspendState=freeze
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
@ -10664,11 +10677,13 @@ Options that I need specifically at work. There are more options at [[#h:f0b2ea9
|
||||||
id = "VBC";
|
id = "VBC";
|
||||||
type = "wifi";
|
type = "wifi";
|
||||||
autoconnect-priority = "500";
|
autoconnect-priority = "500";
|
||||||
|
uuid = "3988f10e-6451-381f-9330-a12e66f45051";
|
||||||
secondaries = "48d09de4-0521-47d7-9bd5-43f97e23ff82"; # vpn uuid
|
secondaries = "48d09de4-0521-47d7-9bd5-43f97e23ff82"; # vpn uuid
|
||||||
};
|
};
|
||||||
ipv4 = { method = "auto"; };
|
ipv4 = { method = "auto"; };
|
||||||
ipv6 = {
|
ipv6 = {
|
||||||
addr-gen-mode = "default";
|
# addr-gen-mode = "default";
|
||||||
|
addr-gen-mode = "stable-privacy";
|
||||||
method = "auto";
|
method = "auto";
|
||||||
};
|
};
|
||||||
proxy = { };
|
proxy = { };
|
||||||
|
|
@ -10681,7 +10696,7 @@ Options that I need specifically at work. There are more options at [[#h:f0b2ea9
|
||||||
ssid = "VBC";
|
ssid = "VBC";
|
||||||
};
|
};
|
||||||
wifi-security = {
|
wifi-security = {
|
||||||
auth-alg = "open";
|
# auth-alg = "open";
|
||||||
key-mgmt = "wpa-eap";
|
key-mgmt = "wpa-eap";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
@ -10711,20 +10726,22 @@ Options that I need specifically at work. There are more options at [[#h:f0b2ea9
|
||||||
runAsRoot = true;
|
runAsRoot = true;
|
||||||
swtpm.enable = true;
|
swtpm.enable = true;
|
||||||
vhostUserPackages = with pkgs; [ virtiofsd ];
|
vhostUserPackages = with pkgs; [ virtiofsd ];
|
||||||
ovmf = {
|
# ovmf = {
|
||||||
enable = true;
|
# enable = true;
|
||||||
packages = [
|
# packages = [
|
||||||
(pkgs.OVMFFull.override {
|
# (pkgs.OVMFFull.override {
|
||||||
secureBoot = true;
|
# secureBoot = true;
|
||||||
tpmSupport = true;
|
# tpmSupport = true;
|
||||||
}).fd
|
# }).fd
|
||||||
];
|
# ];
|
||||||
};
|
# };
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
remmina
|
||||||
|
# gp-onsaml-gui
|
||||||
stable24_11.python39
|
stable24_11.python39
|
||||||
qemu
|
qemu
|
||||||
packer
|
packer
|
||||||
|
|
@ -10778,6 +10795,7 @@ Options that I need specifically at work. There are more options at [[#h:f0b2ea9
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# ACTION=="remove", ENV{PRODUCT}=="3/1050/407/110", RUN+="${pkgs.kanshi}/bin/kanshictl switch laptoponly"
|
||||||
udev.extraRules = ''
|
udev.extraRules = ''
|
||||||
# lock screen when yubikey removed
|
# lock screen when yubikey removed
|
||||||
ACTION=="remove", ENV{PRODUCT}=="3/1050/407/110", RUN+="${pkgs.systemd}/bin/systemctl suspend"
|
ACTION=="remove", ENV{PRODUCT}=="3/1050/407/110", RUN+="${pkgs.systemd}/bin/systemctl suspend"
|
||||||
|
|
@ -11328,6 +11346,7 @@ This is just a separate container for derivations defined in [[#h:64a5cc16-6b16-
|
||||||
swarselzellij
|
swarselzellij
|
||||||
sshrm
|
sshrm
|
||||||
endme
|
endme
|
||||||
|
git-replace
|
||||||
|
|
||||||
rustdesk-vbc
|
rustdesk-vbc
|
||||||
];
|
];
|
||||||
|
|
@ -11559,7 +11578,9 @@ TODO: Non-NixOS machines (=sp3) should not use these by default, but instead the
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg.mimeApps = {
|
xdg = {
|
||||||
|
configFile."mimeapps.list".force = true;
|
||||||
|
mimeApps = {
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultApplications = {
|
defaultApplications = {
|
||||||
"application/epub+zip" = [ "calibre-ebook-viewer.desktop" ];
|
"application/epub+zip" = [ "calibre-ebook-viewer.desktop" ];
|
||||||
|
|
@ -11605,6 +11626,7 @@ TODO: Non-NixOS machines (=sp3) should not use these by default, but instead the
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
|
@ -11736,7 +11758,53 @@ This section is for programs that require no further configuration. zsh Integrat
|
||||||
sioyek.enable = true;
|
sioyek.enable = true;
|
||||||
swayr.enable = true;
|
swayr.enable = true;
|
||||||
timidity.enable = true;
|
timidity.enable = true;
|
||||||
wlogout.enable = true;
|
wlogout ={
|
||||||
|
enable = true;
|
||||||
|
layout = [
|
||||||
|
{
|
||||||
|
label = "lock";
|
||||||
|
action = "loginctl lock-session";
|
||||||
|
text = "Lock";
|
||||||
|
keybind = "l";
|
||||||
|
circular = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
label = "hibernate";
|
||||||
|
action = "systemctl hibernate";
|
||||||
|
text = "Hibernate";
|
||||||
|
keybind = "h";
|
||||||
|
circular = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
label = "logout";
|
||||||
|
action = "loginctl terminate-user $USER";
|
||||||
|
text = "Logout";
|
||||||
|
keybind = "u";
|
||||||
|
circular = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
label = "shutdown";
|
||||||
|
action = "systemctl poweroff";
|
||||||
|
text = "Shutdown";
|
||||||
|
keybind = "p";
|
||||||
|
circular = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
label = "suspend";
|
||||||
|
action = "systemctl suspend";
|
||||||
|
text = "Suspend";
|
||||||
|
keybind = "s";
|
||||||
|
circular = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
label = "reboot";
|
||||||
|
action = "systemctl reboot";
|
||||||
|
text = "Reboot";
|
||||||
|
keybind = "r";
|
||||||
|
circular = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
yt-dlp.enable = true;
|
yt-dlp.enable = true;
|
||||||
zoxide = {
|
zoxide = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -14298,7 +14366,10 @@ Currently, I am too lazy to explain every option here, but most of it is very se
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
name = "lidopen";
|
name = "lidopen";
|
||||||
exec = [ "${pkgs.swaybg}/bin/swaybg --output '${monitor}' --image ${self}/files/wallpaper/standwp.png --mode ${config.stylix.imageScalingMode}" ];
|
exec = [
|
||||||
|
"${pkgs.swaybg}/bin/swaybg --output '${config.swarselsystems.sharescreen}' --image ${config.swarselsystems.wallpaper} --mode ${config.stylix.imageScalingMode}"
|
||||||
|
"${pkgs.swaybg}/bin/swaybg --output '${monitor}' --image ${self}/files/wallpaper/standwp.png --mode ${config.stylix.imageScalingMode}"
|
||||||
|
];
|
||||||
outputs = [
|
outputs = [
|
||||||
{
|
{
|
||||||
criteria = config.swarselsystems.sharescreen;
|
criteria = config.swarselsystems.sharescreen;
|
||||||
|
|
@ -14441,7 +14512,7 @@ This service changes the screen hue at night. I am not sure if that really does
|
||||||
programs.spicetify = {
|
programs.spicetify = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# spotifyPackage = pkgs.stable24_11.spotify;
|
# spotifyPackage = pkgs.stable24_11.spotify;
|
||||||
spotifyPackage = pkgs.spotify;
|
spotifyPackage = pkgs.stable.spotify;
|
||||||
enabledExtensions = with spicePkgs.extensions; [
|
enabledExtensions = with spicePkgs.extensions; [
|
||||||
fullAppDisplay
|
fullAppDisplay
|
||||||
shuffle
|
shuffle
|
||||||
|
|
@ -14462,14 +14533,19 @@ This service changes the screen hue at night. I am not sure if that really does
|
||||||
let
|
let
|
||||||
moduleName = "obsidian";
|
moduleName = "obsidian";
|
||||||
inherit (nixosConfig.repo.secrets.common.obsidian) userIgnoreFilters;
|
inherit (nixosConfig.repo.secrets.common.obsidian) userIgnoreFilters;
|
||||||
|
name = "Main";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} with settings";
|
options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} with settings";
|
||||||
config = lib.mkIf config.swarselmodules.${moduleName} {
|
config = lib.mkIf config.swarselmodules.${moduleName} {
|
||||||
|
|
||||||
|
home.file = {
|
||||||
|
"${config.programs.obsidian.vaults.${name}.target}/.obsidian/app.json".force = true;
|
||||||
|
"${config.programs.obsidian.vaults.${name}.target}/.obsidian/appearance.json".force = true;
|
||||||
|
"${config.programs.obsidian.vaults.${name}.target}/.obsidian/core-plugins.json".force = true;
|
||||||
|
};
|
||||||
|
|
||||||
programs.obsidian =
|
programs.obsidian =
|
||||||
let
|
|
||||||
name = "Main";
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.obsidian;
|
package = pkgs.obsidian;
|
||||||
|
|
@ -14614,7 +14690,7 @@ This service changes the screen hue at night. I am not sure if that really does
|
||||||
|
|
||||||
programs.anki = {
|
programs.anki = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.anki;
|
# # package = pkgs.anki;
|
||||||
hideBottomBar = true;
|
hideBottomBar = true;
|
||||||
hideBottomBarMode = "always";
|
hideBottomBarMode = "always";
|
||||||
hideTopBar = true;
|
hideTopBar = true;
|
||||||
|
|
@ -14625,6 +14701,7 @@ This service changes the screen hue at night. I am not sure if that really does
|
||||||
sync = {
|
sync = {
|
||||||
autoSync = false; # sync on profile close will delay system shutdown
|
autoSync = false; # sync on profile close will delay system shutdown
|
||||||
syncMedia = true;
|
syncMedia = true;
|
||||||
|
autoSyncMediaMinutes = 5;
|
||||||
url = "https://${globals.services.ankisync.domain}";
|
url = "https://${globals.services.ankisync.domain}";
|
||||||
usernameFile = nixosConfig.sops.secrets.anki-user.path;
|
usernameFile = nixosConfig.sops.secrets.anki-user.path;
|
||||||
# this is not the password but the syncKey
|
# this is not the password but the syncKey
|
||||||
|
|
@ -14853,6 +14930,18 @@ This service changes the screen hue at night. I am not sure if that really does
|
||||||
config = lib.mkIf config.swarselmodules.${moduleName} {
|
config = lib.mkIf config.swarselmodules.${moduleName} {
|
||||||
services.${moduleName} = {
|
services.${moduleName} = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
extraArgs = [
|
||||||
|
"-W"
|
||||||
|
" Consider charging the battery"
|
||||||
|
"-C"
|
||||||
|
" Battery is low; plug in charger now"
|
||||||
|
"-D"
|
||||||
|
" Device will lose power in a few seconds"
|
||||||
|
"-c"
|
||||||
|
"10"
|
||||||
|
"-d"
|
||||||
|
"5"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -14892,7 +14981,7 @@ This service changes the screen hue at night. I am not sure if that really does
|
||||||
let
|
let
|
||||||
brightnessctl = "${lib.getExe pkgs.brightnessctl}";
|
brightnessctl = "${lib.getExe pkgs.brightnessctl}";
|
||||||
swaylock = "${lib.getExe pkgs.swaylock-effects}";
|
swaylock = "${lib.getExe pkgs.swaylock-effects}";
|
||||||
suspend = "${pkgs.systemd}/bin/systemctl";
|
suspend = "${pkgs.systemd}/bin/systemctl suspend";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -14907,6 +14996,7 @@ This service changes the screen hue at night. I am not sure if that really does
|
||||||
];
|
];
|
||||||
events = [
|
events = [
|
||||||
# { event = "before-sleep"; command = "${lib.getExe pkgs.swaylock-effects} -f --screenshots --clock --effect-blur 7x5 --effect-vignette 0.5:0.5 --fade-in 0.2"; }
|
# { event = "before-sleep"; command = "${lib.getExe pkgs.swaylock-effects} -f --screenshots --clock --effect-blur 7x5 --effect-vignette 0.5:0.5 --fade-in 0.2"; }
|
||||||
|
# { event = "after-resume"; command = "${swaylock} -f "; }
|
||||||
{ event = "before-sleep"; command = "${swaylock} -f "; }
|
{ event = "before-sleep"; command = "${swaylock} -f "; }
|
||||||
{ event = "lock"; command = "${swaylock} -f "; }
|
{ event = "lock"; command = "${swaylock} -f "; }
|
||||||
];
|
];
|
||||||
|
|
@ -15242,16 +15332,16 @@ The rest of the settings is at [[#h:bbf2ecb6-c8ff-4462-b5d5-d45b28604ddf][work]]
|
||||||
awscli = {
|
awscli = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.stable24_05.awscli2;
|
package = pkgs.stable24_05.awscli2;
|
||||||
settings = {
|
# settings = {
|
||||||
"default" = { };
|
# "default" = { };
|
||||||
"profile s3-imagebuilder-prod" = { };
|
# "profile s3-imagebuilder-prod" = { };
|
||||||
};
|
# };
|
||||||
credentials = {
|
# credentials = {
|
||||||
"s3-imagebuilder-prod" = {
|
# "s3-imagebuilder-prod" = {
|
||||||
aws_access_key_id = "5OYXY4879EJG9I91K1B6";
|
# aws_access_key_id = "5OYXY4879EJG9I91K1B6";
|
||||||
credential_process = "${pkgs.pass}/bin/pass show work/awscli/s3-imagebuilder-prod/secret-key";
|
# credential_process = "${pkgs.pass}/bin/pass show work/awscli/s3-imagebuilder-prod/secret-key";
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
};
|
};
|
||||||
git.userEmail = lib.mkForce gitMail;
|
git.userEmail = lib.mkForce gitMail;
|
||||||
|
|
||||||
|
|
@ -15415,6 +15505,7 @@ The rest of the settings is at [[#h:bbf2ecb6-c8ff-4462-b5d5-d45b28604ddf][work]]
|
||||||
profile = {
|
profile = {
|
||||||
name = "lidopen";
|
name = "lidopen";
|
||||||
exec = [
|
exec = [
|
||||||
|
"${pkgs.swaybg}/bin/swaybg --output '${config.swarselsystems.sharescreen}' --image ${config.swarselsystems.wallpaper} --mode ${config.stylix.imageScalingMode}"
|
||||||
"${pkgs.swaybg}/bin/swaybg --output 'HP Inc. HP 732pk CNC4080YL5' --image ${self}/files/wallpaper/botanicswp.png --mode ${config.stylix.imageScalingMode}"
|
"${pkgs.swaybg}/bin/swaybg --output 'HP Inc. HP 732pk CNC4080YL5' --image ${self}/files/wallpaper/botanicswp.png --mode ${config.stylix.imageScalingMode}"
|
||||||
"${pkgs.swaybg}/bin/swaybg --output 'Hewlett Packard HP Z24i CN44250RDT' --image ${self}/files/wallpaper/op6wp.png --mode ${config.stylix.imageScalingMode}"
|
"${pkgs.swaybg}/bin/swaybg --output 'Hewlett Packard HP Z24i CN44250RDT' --image ${self}/files/wallpaper/op6wp.png --mode ${config.stylix.imageScalingMode}"
|
||||||
];
|
];
|
||||||
|
|
@ -15449,6 +15540,7 @@ The rest of the settings is at [[#h:bbf2ecb6-c8ff-4462-b5d5-d45b28604ddf][work]]
|
||||||
{
|
{
|
||||||
name = "lidopen";
|
name = "lidopen";
|
||||||
exec = [
|
exec = [
|
||||||
|
"${pkgs.swaybg}/bin/swaybg --output '${config.swarselsystems.sharescreen}' --image ${config.swarselsystems.wallpaper} --mode ${config.stylix.imageScalingMode}"
|
||||||
"${pkgs.swaybg}/bin/swaybg --output '${monitor}' --image ${self}/files/wallpaper/navidrome.png --mode ${config.stylix.imageScalingMode}"
|
"${pkgs.swaybg}/bin/swaybg --output '${monitor}' --image ${self}/files/wallpaper/navidrome.png --mode ${config.stylix.imageScalingMode}"
|
||||||
"${pkgs.kanshare}/bin/kanshare ${config.swarselsystems.sharescreen} '${monitor}'"
|
"${pkgs.kanshare}/bin/kanshare ${config.swarselsystems.sharescreen} '${monitor}'"
|
||||||
];
|
];
|
||||||
|
|
@ -18047,6 +18139,25 @@ Sometimes my DE crashes after putting it to suspend - to be precise, it happens
|
||||||
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
*** git-replace
|
||||||
|
|
||||||
|
This script allows for quick git replace of a string.
|
||||||
|
|
||||||
|
|
||||||
|
#+begin_src nix-ts :tangle pkgs/git-replace/default.nix
|
||||||
|
{ name, writeShellApplication, git, gnugrep, findutils, ... }:
|
||||||
|
|
||||||
|
writeShellApplication {
|
||||||
|
inherit name;
|
||||||
|
runtimeInputs = [ git gnugrep findutils ];
|
||||||
|
text = ''
|
||||||
|
git grep -l "$1" | xargs sed -i "s/$1/$2/g"
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#+end_src
|
||||||
|
|
||||||
** Profiles
|
** Profiles
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:CUSTOM_ID: h:f0f1c961-3e7a-47b8-99ab-1654bb45dffc
|
:CUSTOM_ID: h:f0f1c961-3e7a-47b8-99ab-1654bb45dffc
|
||||||
|
|
@ -22093,10 +22204,13 @@ bind gd tabdetach
|
||||||
bind gD composite tabduplicate; tabdetach
|
bind gD composite tabduplicate; tabdetach
|
||||||
bind d composite tabprev; tabclose #
|
bind d composite tabprev; tabclose #
|
||||||
bind D tabclose
|
bind D tabclose
|
||||||
bind c hint
|
bind c hint -J
|
||||||
bindurl ^http(s)?://www\.google\.com c hint -Jc [class="LC20lb MBeuO DKV0Md"],[class="YmvwI"],[class="YyVfkd"],[class="fl"]
|
bindurl ^http(s)?://www\.google\.com c hint -Jc [class="LC20lb MBeuO DKV0Md"],[class="YmvwI"],[class="YyVfkd"],[class="fl"]
|
||||||
bindurl ^http(s)?://news\.ycombinator\.com c hint -Jc [class="titleline"],[class="age"]
|
bindurl ^http(s)?://news\.ycombinator\.com c hint -Jc [class="titleline"],[class="age"]
|
||||||
bindurl ^http(s)?://lobste\.rs c hint -Jc [class="u-url"],[class="comments_label"]
|
bindurl ^http(s)?://lobste\.rs c hint -Jc [class="u-url"],[class="comments_label"]
|
||||||
|
bindurl ^http(s)?://reddit\.com c hint -Jc [class="title may-blank loggedin"],[class="bylink comments may-blank"]
|
||||||
|
bindurl ^http(s)?://github\.com c hint -Jc [class="Link--primary"],[class="AppHeader-button Button--secondary Button--medium Button p-0 color-fg-muted"],[class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"],[class="prc-ActionList-ItemLabel-TmBhn"],[class="PRIVATE_TreeView-item-content-text prc-TreeView-TreeViewItemContentText-smZM-"]
|
||||||
|
bindurl ^http(s)?://vbc\.atlassian\.net\/wiki c hint -Jc [class="_1reo15vq _18m915vq _1bto1l2s _kqswh2mm _o5721q9c _syaz1fxt"],[class="_11c81ixg _1reo15vq _18m915vq _18s81b66 _kqswh2mm _k48p1wq8 _o5721q9c _1bto1l2s _u5f31b66"],[class="_1r04ze3t _kqswstnw"],[class="css-a61etj"],[class="jira-macro-table-underline-pdfexport"]
|
||||||
bindurl ^http(s)?://www\.google\.com gi composite focusinput -l ; text.end_of_line
|
bindurl ^http(s)?://www\.google\.com gi composite focusinput -l ; text.end_of_line
|
||||||
|
|
||||||
" Work
|
" Work
|
||||||
|
|
|
||||||
|
|
@ -25,10 +25,13 @@ bind gd tabdetach
|
||||||
bind gD composite tabduplicate; tabdetach
|
bind gD composite tabduplicate; tabdetach
|
||||||
bind d composite tabprev; tabclose #
|
bind d composite tabprev; tabclose #
|
||||||
bind D tabclose
|
bind D tabclose
|
||||||
bind c hint
|
bind c hint -J
|
||||||
bindurl ^http(s)?://www\.google\.com c hint -Jc [class="LC20lb MBeuO DKV0Md"],[class="YmvwI"],[class="YyVfkd"],[class="fl"]
|
bindurl ^http(s)?://www\.google\.com c hint -Jc [class="LC20lb MBeuO DKV0Md"],[class="YmvwI"],[class="YyVfkd"],[class="fl"]
|
||||||
bindurl ^http(s)?://news\.ycombinator\.com c hint -Jc [class="titleline"],[class="age"]
|
bindurl ^http(s)?://news\.ycombinator\.com c hint -Jc [class="titleline"],[class="age"]
|
||||||
bindurl ^http(s)?://lobste\.rs c hint -Jc [class="u-url"],[class="comments_label"]
|
bindurl ^http(s)?://lobste\.rs c hint -Jc [class="u-url"],[class="comments_label"]
|
||||||
|
bindurl ^http(s)?://reddit\.com c hint -Jc [class="title may-blank loggedin"],[class="bylink comments may-blank"]
|
||||||
|
bindurl ^http(s)?://github\.com c hint -Jc [class="Link--primary"],[class="AppHeader-button Button--secondary Button--medium Button p-0 color-fg-muted"],[class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"],[class="prc-ActionList-ItemLabel-TmBhn"],[class="PRIVATE_TreeView-item-content-text prc-TreeView-TreeViewItemContentText-smZM-"]
|
||||||
|
bindurl ^http(s)?://vbc\.atlassian\.net\/wiki c hint -Jc [class="_1reo15vq _18m915vq _1bto1l2s _kqswh2mm _o5721q9c _syaz1fxt"],[class="_11c81ixg _1reo15vq _18m915vq _18s81b66 _kqswh2mm _k48p1wq8 _o5721q9c _1bto1l2s _u5f31b66"],[class="_1r04ze3t _kqswstnw"],[class="css-a61etj"],[class="jira-macro-table-underline-pdfexport"]
|
||||||
bindurl ^http(s)?://www\.google\.com gi composite focusinput -l ; text.end_of_line
|
bindurl ^http(s)?://www\.google\.com gi composite focusinput -l ; text.end_of_line
|
||||||
|
|
||||||
" Work
|
" Work
|
||||||
|
|
|
||||||
3757
flake.lock
generated
3757
flake.lock
generated
File diff suppressed because it is too large
Load diff
|
|
@ -20,8 +20,9 @@
|
||||||
swarsel-modules.url = "github:Swarsel/swarsel-modules/main";
|
swarsel-modules.url = "github:Swarsel/swarsel-modules/main";
|
||||||
swarsel-nix.url = "github:Swarsel/swarsel-nix/main";
|
swarsel-nix.url = "github:Swarsel/swarsel-nix/main";
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager";
|
# url = "github:nix-community/home-manager";
|
||||||
# url = "github:Swarsel/home-manager/module/pizauth";
|
# url = "github:Swarsel/home-manager/main";
|
||||||
|
url = "github:JuneStepp/home-manager/anki-fix-booleans";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
swarsel.url = "github:Swarsel/.dotfiles";
|
swarsel.url = "github:Swarsel/.dotfiles";
|
||||||
|
|
|
||||||
|
|
@ -22,8 +22,8 @@
|
||||||
# '';
|
# '';
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
# kernelPackages = lib.mkDefault pkgs.kernel.linuxPackages;
|
kernelPackages = lib.mkDefault pkgs.kernel.linuxPackages;
|
||||||
kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
|
# kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
|
||||||
binfmt.emulatedSystems = [ "aarch64-linux" ];
|
binfmt.emulatedSystems = [ "aarch64-linux" ];
|
||||||
initrd = {
|
initrd = {
|
||||||
availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "cryptd" "usbhid" "sd_mod" "r8152" ];
|
availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "cryptd" "usbhid" "sd_mod" "r8152" ];
|
||||||
|
|
@ -39,7 +39,8 @@
|
||||||
|
|
||||||
kernelModules = [ "kvm-amd" ];
|
kernelModules = [ "kvm-amd" ];
|
||||||
kernelParams = [
|
kernelParams = [
|
||||||
"mem_sleep_default=deep"
|
# deep sleep is discontinued by amd
|
||||||
|
# "mem_sleep_default=deep"
|
||||||
# supposedly, this helps save power on laptops
|
# supposedly, this helps save power on laptops
|
||||||
# in reality (at least on this model), this just generate excessive heat on the CPUs
|
# in reality (at least on this model), this just generate excessive heat on the CPUs
|
||||||
# "amd_pstate=passive"
|
# "amd_pstate=passive"
|
||||||
|
|
|
||||||
343
index.html
343
index.html
|
|
@ -3,7 +3,7 @@
|
||||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||||
<head>
|
<head>
|
||||||
<!-- 2025-10-11 Sa 23:49 -->
|
<!-- 2025-10-21 Di 13:09 -->
|
||||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<title>SwarselSystems: NixOS + Emacs Configurationo</title>
|
<title>SwarselSystems: NixOS + Emacs Configurationo</title>
|
||||||
|
|
@ -443,8 +443,8 @@
|
||||||
<li><a href="#h:15b581ab-09fe-4f84-af26-2f1fbf7d726b">3.2.5.8. Hibernation</a></li>
|
<li><a href="#h:15b581ab-09fe-4f84-af26-2f1fbf7d726b">3.2.5.8. Hibernation</a></li>
|
||||||
<li><a href="#h:86fb3236-9e18-43f0-8a08-3a2acd61cc98">3.2.5.9. BTRFS</a></li>
|
<li><a href="#h:86fb3236-9e18-43f0-8a08-3a2acd61cc98">3.2.5.9. BTRFS</a></li>
|
||||||
<li><a href="#h:bbf2ecb6-c8ff-4462-b5d5-d45b28604ddf">3.2.5.10. work</a></li>
|
<li><a href="#h:bbf2ecb6-c8ff-4462-b5d5-d45b28604ddf">3.2.5.10. work</a></li>
|
||||||
<li><a href="#org1dbc3ca">3.2.5.11. microvm-host</a></li>
|
<li><a href="#orgcb2fcb7">3.2.5.11. microvm-host</a></li>
|
||||||
<li><a href="#orgbf7a0ff">3.2.5.12. microvm-guest</a></li>
|
<li><a href="#orgcf7e090">3.2.5.12. microvm-guest</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
@ -472,7 +472,7 @@
|
||||||
<li><a href="#h:4486b02f-4fb8-432b-bfa2-2e786206341d">3.3.1.12. Sourcing environment variables</a></li>
|
<li><a href="#h:4486b02f-4fb8-432b-bfa2-2e786206341d">3.3.1.12. Sourcing environment variables</a></li>
|
||||||
<li><a href="#h:f0e0b580-2e1c-4ca6-a983-f05d3ebbbcde">3.3.1.13. General Programs: bottom, imv, less, lesspipe, sioyek, bat, carapace, wlogout, swayr, yt-dlp, mpv, jq, nix-index, ripgrep, pandoc, fzf, zoxide, timidity</a></li>
|
<li><a href="#h:f0e0b580-2e1c-4ca6-a983-f05d3ebbbcde">3.3.1.13. General Programs: bottom, imv, less, lesspipe, sioyek, bat, carapace, wlogout, swayr, yt-dlp, mpv, jq, nix-index, ripgrep, pandoc, fzf, zoxide, timidity</a></li>
|
||||||
<li><a href="#h:64dbbb9e-8097-4c1b-813c-8c10cf9b9748">3.3.1.14. nix-index</a></li>
|
<li><a href="#h:64dbbb9e-8097-4c1b-813c-8c10cf9b9748">3.3.1.14. nix-index</a></li>
|
||||||
<li><a href="#orge4d0c6e">3.3.1.15. nix-your-shell</a></li>
|
<li><a href="#org0bc7fbc">3.3.1.15. nix-your-shell</a></li>
|
||||||
<li><a href="#h:ac0e5e62-0dbf-4782-9a96-9e558eae86ae">3.3.1.16. password-store</a></li>
|
<li><a href="#h:ac0e5e62-0dbf-4782-9a96-9e558eae86ae">3.3.1.16. password-store</a></li>
|
||||||
<li><a href="#h:1ab84307-b3fb-4c32-9def-4b89a53a8547">3.3.1.17. direnv</a></li>
|
<li><a href="#h:1ab84307-b3fb-4c32-9def-4b89a53a8547">3.3.1.17. direnv</a></li>
|
||||||
<li><a href="#h:1bd6b0c7-f201-43e2-9624-6c50de00a1f6">3.3.1.18. eza</a></li>
|
<li><a href="#h:1bd6b0c7-f201-43e2-9624-6c50de00a1f6">3.3.1.18. eza</a></li>
|
||||||
|
|
@ -495,12 +495,12 @@
|
||||||
<li><a href="#h:99d05729-df35-4958-9940-3319d6a41359">3.3.1.31.3. Mako</a></li>
|
<li><a href="#h:99d05729-df35-4958-9940-3319d6a41359">3.3.1.31.3. Mako</a></li>
|
||||||
<li><a href="#h:388e71be-f00a-4d45-ade1-218ce942057d">3.3.1.31.4. SwayOSD</a></li>
|
<li><a href="#h:388e71be-f00a-4d45-ade1-218ce942057d">3.3.1.31.4. SwayOSD</a></li>
|
||||||
<li><a href="#h:1598c90b-f195-41a0-9132-94612edf3586">3.3.1.31.5. yubikey-touch-detector</a></li>
|
<li><a href="#h:1598c90b-f195-41a0-9132-94612edf3586">3.3.1.31.5. yubikey-touch-detector</a></li>
|
||||||
<li><a href="#orga8387ad">3.3.1.31.6. blueman-applet</a></li>
|
<li><a href="#org2568de8">3.3.1.31.6. blueman-applet</a></li>
|
||||||
<li><a href="#org3e03cb0">3.3.1.31.7. network-manager-applet</a></li>
|
<li><a href="#org84c1201">3.3.1.31.7. network-manager-applet</a></li>
|
||||||
<li><a href="#org2248ba5">3.3.1.31.8. obsidian service for tray</a></li>
|
<li><a href="#org43f6e21">3.3.1.31.8. obsidian service for tray</a></li>
|
||||||
<li><a href="#org349a389">3.3.1.31.9. anki service for tray</a></li>
|
<li><a href="#orgaa41ee3">3.3.1.31.9. anki service for tray</a></li>
|
||||||
<li><a href="#org367079d">3.3.1.31.10. element service for tray</a></li>
|
<li><a href="#orgcb4f253">3.3.1.31.10. element service for tray</a></li>
|
||||||
<li><a href="#orga654c87">3.3.1.31.11. vesktop service for tray</a></li>
|
<li><a href="#orgb766ab8">3.3.1.31.11. vesktop service for tray</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a href="#h:02df9dfc-d1af-4a37-a7a0-d8da0af96a20">3.3.1.32. Sway</a></li>
|
<li><a href="#h:02df9dfc-d1af-4a37-a7a0-d8da0af96a20">3.3.1.32. Sway</a></li>
|
||||||
|
|
@ -509,17 +509,17 @@
|
||||||
<li><a href="#h:7d384e3b-1be7-4644-b304-ada4af0b692b">3.3.1.35. gpg-agent</a></li>
|
<li><a href="#h:7d384e3b-1be7-4644-b304-ada4af0b692b">3.3.1.35. gpg-agent</a></li>
|
||||||
<li><a href="#h:74e236be-a977-4d38-b8c5-0b9feef8af91">3.3.1.36. gammastep</a></li>
|
<li><a href="#h:74e236be-a977-4d38-b8c5-0b9feef8af91">3.3.1.36. gammastep</a></li>
|
||||||
<li><a href="#h:d1fb3075-ad52-4c1b-ba45-5ddbd0d3b708">3.3.1.37. Spicetify</a></li>
|
<li><a href="#h:d1fb3075-ad52-4c1b-ba45-5ddbd0d3b708">3.3.1.37. Spicetify</a></li>
|
||||||
<li><a href="#org76d116f">3.3.1.38. Obsidian</a></li>
|
<li><a href="#org3f19616">3.3.1.38. Obsidian</a></li>
|
||||||
<li><a href="#orga008c2b">3.3.1.39. Anki</a></li>
|
<li><a href="#orgd0e6499">3.3.1.39. Anki</a></li>
|
||||||
<li><a href="#org890c5fe">3.3.1.40. Element-desktop</a></li>
|
<li><a href="#orgb6ac1d9">3.3.1.40. Element-desktop</a></li>
|
||||||
<li><a href="#orgc19c8f7">3.3.1.41. Hexchat</a></li>
|
<li><a href="#org68fbf73">3.3.1.41. Hexchat</a></li>
|
||||||
<li><a href="#org4080c55">3.3.1.42. obs-studio</a></li>
|
<li><a href="#orgea285a9">3.3.1.42. obs-studio</a></li>
|
||||||
<li><a href="#org0a8046e">3.3.1.43. spotify-player</a></li>
|
<li><a href="#orgd003fee">3.3.1.43. spotify-player</a></li>
|
||||||
<li><a href="#orga246a4c">3.3.1.44. vesktop</a></li>
|
<li><a href="#org8616bfa">3.3.1.44. vesktop</a></li>
|
||||||
<li><a href="#org47c4dda">3.3.1.45. batsignal</a></li>
|
<li><a href="#orgab3d85e">3.3.1.45. batsignal</a></li>
|
||||||
<li><a href="#orgafe3a00">3.3.1.46. autotiling</a></li>
|
<li><a href="#orgde9dc92">3.3.1.46. autotiling</a></li>
|
||||||
<li><a href="#orgc152f86">3.3.1.47. swayidle</a></li>
|
<li><a href="#orge7185ca">3.3.1.47. swayidle</a></li>
|
||||||
<li><a href="#orgd6d4110">3.3.1.48. swaylock</a></li>
|
<li><a href="#org4e801e4">3.3.1.48. swaylock</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a href="#h:b1a00339-6e9b-4ae4-b5dc-6fd5669a2ddb">3.3.2. Server</a>
|
<li><a href="#h:b1a00339-6e9b-4ae4-b5dc-6fd5669a2ddb">3.3.2. Server</a>
|
||||||
|
|
@ -584,7 +584,8 @@
|
||||||
<li><a href="#h:c3362d4e-d3a8-43e8-9ef7-272b6de0572e">3.5.31. swarsel-build</a></li>
|
<li><a href="#h:c3362d4e-d3a8-43e8-9ef7-272b6de0572e">3.5.31. swarsel-build</a></li>
|
||||||
<li><a href="#h:95ebfd13-1f6b-427f-950d-e30c1ed6f9fa">3.5.32. swarsel-instantiate</a></li>
|
<li><a href="#h:95ebfd13-1f6b-427f-950d-e30c1ed6f9fa">3.5.32. swarsel-instantiate</a></li>
|
||||||
<li><a href="#h:02842543-caca-4d4c-a4d2-7ac749b5c136">3.5.33. sshrm</a></li>
|
<li><a href="#h:02842543-caca-4d4c-a4d2-7ac749b5c136">3.5.33. sshrm</a></li>
|
||||||
<li><a href="#orgfa84748">3.5.34. endme</a></li>
|
<li><a href="#org6a36b50">3.5.34. endme</a></li>
|
||||||
|
<li><a href="#orgb3faf9e">3.5.35. git-replace</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a href="#h:f0f1c961-3e7a-47b8-99ab-1654bb45dffc">3.6. Profiles</a>
|
<li><a href="#h:f0f1c961-3e7a-47b8-99ab-1654bb45dffc">3.6. Profiles</a>
|
||||||
|
|
@ -593,7 +594,7 @@
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="#h:32d654de-8db2-403a-9a27-4c46d7b9172d">3.6.1.1. Personal</a></li>
|
<li><a href="#h:32d654de-8db2-403a-9a27-4c46d7b9172d">3.6.1.1. Personal</a></li>
|
||||||
<li><a href="#h:b926f0c8-7968-4079-924c-a5d0ae4d3a45">3.6.1.2. Minimal</a></li>
|
<li><a href="#h:b926f0c8-7968-4079-924c-a5d0ae4d3a45">3.6.1.2. Minimal</a></li>
|
||||||
<li><a href="#org76fa275">3.6.1.3. Optionals</a></li>
|
<li><a href="#orgefd2161">3.6.1.3. Optionals</a></li>
|
||||||
<li><a href="#h:b79fbb59-9cf2-48eb-b469-2589223dda95">3.6.1.4. Chaostheatre</a></li>
|
<li><a href="#h:b79fbb59-9cf2-48eb-b469-2589223dda95">3.6.1.4. Chaostheatre</a></li>
|
||||||
<li><a href="#h:cb3631a8-9c1b-42f2-ab01-502c7b4c273d">3.6.1.5. Work</a></li>
|
<li><a href="#h:cb3631a8-9c1b-42f2-ab01-502c7b4c273d">3.6.1.5. Work</a></li>
|
||||||
<li><a href="#h:87a83b10-3c2f-407c-89aa-922ad77748a4">3.6.1.6. Uni</a></li>
|
<li><a href="#h:87a83b10-3c2f-407c-89aa-922ad77748a4">3.6.1.6. Uni</a></li>
|
||||||
|
|
@ -836,7 +837,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<p>
|
<p>
|
||||||
<b>This file has 95668 words spanning 24729 lines and was last revised on 2025-10-11 23:49:08 +0200.</b>
|
<b>This file has 96128 words spanning 24842 lines and was last revised on 2025-10-21 13:09:36 +0200.</b>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
|
|
@ -905,7 +906,7 @@ This section defines my Emacs configuration. For a while, I considered to use ry
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
My emacs is built using the emacs-overlay nix flake, which builds a bleeding edge emacs on wayland (pgtk) with utilities like treesitter support. By executing the below source block, the current build setting can be updated at any time, and you can see my most up-to-date build options (last updated: 2025-10-11 23:49:08 +0200)
|
My emacs is built using the emacs-overlay nix flake, which builds a bleeding edge emacs on wayland (pgtk) with utilities like treesitter support. By executing the below source block, the current build setting can be updated at any time, and you can see my most up-to-date build options (last updated: 2025-10-21 13:09:36 +0200)
|
||||||
</p></li>
|
</p></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
@ -917,7 +918,7 @@ system-configuration-options
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<pre class="example">
|
<pre class="example">
|
||||||
--prefix=/nix/store/qrqw5n6fivwcqfpg83x28bj1klpgfzg8-emacs-git-pgtk-20250928.0 --disable-build-details --with-modules --with-pgtk --with-compress-install --with-toolkit-scroll-bars --with-native-compilation --without-imagemagick --with-mailutils --without-small-ja-dic --with-tree-sitter --without-xinput2 --without-xwidgets --with-dbus --with-selinux
|
--prefix=/nix/store/x7csgsyxznfca0sn3mank9rp0xd7dh5n-emacs-git-pgtk-20251013.0 --disable-build-details --with-modules --with-pgtk --disable-gc-mark-trace --with-compress-install --with-toolkit-scroll-bars --with-native-compilation --without-imagemagick --with-mailutils --without-small-ja-dic --with-tree-sitter --without-xinput2 --without-xwidgets --with-dbus --with-selinux
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1352,8 +1353,9 @@ This provides devshell support for flake-parts</li>
|
||||||
swarsel-modules.url = "github:Swarsel/swarsel-modules/main";
|
swarsel-modules.url = "github:Swarsel/swarsel-modules/main";
|
||||||
swarsel-nix.url = "github:Swarsel/swarsel-nix/main";
|
swarsel-nix.url = "github:Swarsel/swarsel-nix/main";
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager";
|
# url = "github:nix-community/home-manager";
|
||||||
# url = "github:Swarsel/home-manager/module/pizauth";
|
# url = "github:Swarsel/home-manager/main";
|
||||||
|
url = "github:JuneStepp/home-manager/anki-fix-booleans";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
swarsel.url = "github:Swarsel/.dotfiles";
|
swarsel.url = "github:Swarsel/.dotfiles";
|
||||||
|
|
@ -3074,8 +3076,8 @@ in
|
||||||
# '';
|
# '';
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
# kernelPackages = lib.mkDefault pkgs.kernel.linuxPackages;
|
kernelPackages = lib.mkDefault pkgs.kernel.linuxPackages;
|
||||||
kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
|
# kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
|
||||||
binfmt.emulatedSystems = [ "aarch64-linux" ];
|
binfmt.emulatedSystems = [ "aarch64-linux" ];
|
||||||
initrd = {
|
initrd = {
|
||||||
availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "cryptd" "usbhid" "sd_mod" "r8152" ];
|
availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "cryptd" "usbhid" "sd_mod" "r8152" ];
|
||||||
|
|
@ -3091,7 +3093,8 @@ in
|
||||||
|
|
||||||
kernelModules = [ "kvm-amd" ];
|
kernelModules = [ "kvm-amd" ];
|
||||||
kernelParams = [
|
kernelParams = [
|
||||||
"mem_sleep_default=deep"
|
# deep sleep is discontinued by amd
|
||||||
|
# "mem_sleep_default=deep"
|
||||||
# supposedly, this helps save power on laptops
|
# supposedly, this helps save power on laptops
|
||||||
# in reality (at least on this model), this just generate excessive heat on the CPUs
|
# in reality (at least on this model), this just generate excessive heat on the CPUs
|
||||||
# "amd_pstate=passive"
|
# "amd_pstate=passive"
|
||||||
|
|
@ -5372,6 +5375,7 @@ We enable the use of <code>home-manager</code> as a NixoS module. A nice trick h
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
verbose = true;
|
verbose = true;
|
||||||
|
backupFileExtension = "hm-bak";
|
||||||
users.${config.swarselsystems.mainUser}.imports = [
|
users.${config.swarselsystems.mainUser}.imports = [
|
||||||
inputs.nix-index-database.homeModules.nix-index
|
inputs.nix-index-database.homeModules.nix-index
|
||||||
inputs.sops-nix.homeManagerModules.sops
|
inputs.sops-nix.homeManagerModules.sops
|
||||||
|
|
@ -5896,6 +5900,9 @@ Mostly used to install some compilers and lsp's that I want to have available wh
|
||||||
"jitsi-meet-1.0.8043"
|
"jitsi-meet-1.0.8043"
|
||||||
"electron-29.4.6"
|
"electron-29.4.6"
|
||||||
"SDL_ttf-2.0.11"
|
"SDL_ttf-2.0.11"
|
||||||
|
# audacity?
|
||||||
|
"mbedtls-2.28.10"
|
||||||
|
# "qtwebengine-5.15.19"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -11848,9 +11855,16 @@ This holds configuration that is specific to framework laptops.
|
||||||
boot = {
|
boot = {
|
||||||
kernelParams = [
|
kernelParams = [
|
||||||
"resume_offset=${builtins.toString config.swarselsystems.hibernation.offset}"
|
"resume_offset=${builtins.toString config.swarselsystems.hibernation.offset}"
|
||||||
|
# "mem_sleep_default=deep"
|
||||||
];
|
];
|
||||||
inherit (config.swarselsystems.hibernation) resumeDevice;
|
inherit (config.swarselsystems.hibernation) resumeDevice;
|
||||||
};
|
};
|
||||||
|
systemd.services."systemd-suspend-then-hibernate".aliases = [ "systemd-suspend.service" ];
|
||||||
|
powerManagement.enable = true;
|
||||||
|
systemd.sleep.extraConfig = ''
|
||||||
|
HibernateDelaySec=120m
|
||||||
|
SuspendState=freeze
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
</pre>
|
</pre>
|
||||||
|
|
@ -11978,11 +11992,13 @@ in
|
||||||
id = "VBC";
|
id = "VBC";
|
||||||
type = "wifi";
|
type = "wifi";
|
||||||
autoconnect-priority = "500";
|
autoconnect-priority = "500";
|
||||||
|
uuid = "3988f10e-6451-381f-9330-a12e66f45051";
|
||||||
secondaries = "48d09de4-0521-47d7-9bd5-43f97e23ff82"; # vpn uuid
|
secondaries = "48d09de4-0521-47d7-9bd5-43f97e23ff82"; # vpn uuid
|
||||||
};
|
};
|
||||||
ipv4 = { method = "auto"; };
|
ipv4 = { method = "auto"; };
|
||||||
ipv6 = {
|
ipv6 = {
|
||||||
addr-gen-mode = "default";
|
# addr-gen-mode = "default";
|
||||||
|
addr-gen-mode = "stable-privacy";
|
||||||
method = "auto";
|
method = "auto";
|
||||||
};
|
};
|
||||||
proxy = { };
|
proxy = { };
|
||||||
|
|
@ -11995,7 +12011,7 @@ in
|
||||||
ssid = "VBC";
|
ssid = "VBC";
|
||||||
};
|
};
|
||||||
wifi-security = {
|
wifi-security = {
|
||||||
auth-alg = "open";
|
# auth-alg = "open";
|
||||||
key-mgmt = "wpa-eap";
|
key-mgmt = "wpa-eap";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
@ -12025,20 +12041,22 @@ in
|
||||||
runAsRoot = true;
|
runAsRoot = true;
|
||||||
swtpm.enable = true;
|
swtpm.enable = true;
|
||||||
vhostUserPackages = with pkgs; [ virtiofsd ];
|
vhostUserPackages = with pkgs; [ virtiofsd ];
|
||||||
ovmf = {
|
# ovmf = {
|
||||||
enable = true;
|
# enable = true;
|
||||||
packages = [
|
# packages = [
|
||||||
(pkgs.OVMFFull.override {
|
# (pkgs.OVMFFull.override {
|
||||||
secureBoot = true;
|
# secureBoot = true;
|
||||||
tpmSupport = true;
|
# tpmSupport = true;
|
||||||
}).fd
|
# }).fd
|
||||||
];
|
# ];
|
||||||
};
|
# };
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
remmina
|
||||||
|
# gp-onsaml-gui
|
||||||
stable24_11.python39
|
stable24_11.python39
|
||||||
qemu
|
qemu
|
||||||
packer
|
packer
|
||||||
|
|
@ -12092,6 +12110,7 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# ACTION=="remove", ENV{PRODUCT}=="3/1050/407/110", RUN+="${pkgs.kanshi}/bin/kanshictl switch laptoponly"
|
||||||
udev.extraRules = ''
|
udev.extraRules = ''
|
||||||
# lock screen when yubikey removed
|
# lock screen when yubikey removed
|
||||||
ACTION=="remove", ENV{PRODUCT}=="3/1050/407/110", RUN+="${pkgs.systemd}/bin/systemctl suspend"
|
ACTION=="remove", ENV{PRODUCT}=="3/1050/407/110", RUN+="${pkgs.systemd}/bin/systemctl suspend"
|
||||||
|
|
@ -12115,8 +12134,8 @@ in
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="outline-container-org1dbc3ca" class="outline-5">
|
<div id="outline-container-orgcb2fcb7" class="outline-5">
|
||||||
<h5 id="org1dbc3ca"><span class="section-number-5">3.2.5.11.</span> microvm-host</h5>
|
<h5 id="orgcb2fcb7"><span class="section-number-5">3.2.5.11.</span> microvm-host</h5>
|
||||||
<div class="outline-text-5" id="text-3-2-5-11">
|
<div class="outline-text-5" id="text-3-2-5-11">
|
||||||
<p>
|
<p>
|
||||||
Some standard options that should be set for every microvm host.
|
Some standard options that should be set for every microvm host.
|
||||||
|
|
@ -12142,8 +12161,8 @@ Some standard options that should be set for every microvm host.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="outline-container-orgbf7a0ff" class="outline-5">
|
<div id="outline-container-orgcf7e090" class="outline-5">
|
||||||
<h5 id="orgbf7a0ff"><span class="section-number-5">3.2.5.12.</span> microvm-guest</h5>
|
<h5 id="orgcf7e090"><span class="section-number-5">3.2.5.12.</span> microvm-guest</h5>
|
||||||
<div class="outline-text-5" id="text-3-2-5-12">
|
<div class="outline-text-5" id="text-3-2-5-12">
|
||||||
<p>
|
<p>
|
||||||
Some standard options that should be set vor every microvm guest. We set the default
|
Some standard options that should be set vor every microvm guest. We set the default
|
||||||
|
|
@ -12672,6 +12691,7 @@ This is just a separate container for derivations defined in <a href="#h:64a5cc1
|
||||||
swarselzellij
|
swarselzellij
|
||||||
sshrm
|
sshrm
|
||||||
endme
|
endme
|
||||||
|
git-replace
|
||||||
|
|
||||||
rustdesk-vbc
|
rustdesk-vbc
|
||||||
];
|
];
|
||||||
|
|
@ -12924,7 +12944,9 @@ TODO: Non-NixOS machines (=sp3) should not use these by default, but instead the
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg.mimeApps = {
|
xdg = {
|
||||||
|
configFile."mimeapps.list".force = true;
|
||||||
|
mimeApps = {
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultApplications = {
|
defaultApplications = {
|
||||||
"application/epub+zip" = [ "calibre-ebook-viewer.desktop" ];
|
"application/epub+zip" = [ "calibre-ebook-viewer.desktop" ];
|
||||||
|
|
@ -12970,6 +12992,7 @@ TODO: Non-NixOS machines (=sp3) should not use these by default, but instead the
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
</pre>
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -13111,7 +13134,53 @@ This section is for programs that require no further configuration. zsh Integrat
|
||||||
sioyek.enable = true;
|
sioyek.enable = true;
|
||||||
swayr.enable = true;
|
swayr.enable = true;
|
||||||
timidity.enable = true;
|
timidity.enable = true;
|
||||||
wlogout.enable = true;
|
wlogout ={
|
||||||
|
enable = true;
|
||||||
|
layout = [
|
||||||
|
{
|
||||||
|
label = "lock";
|
||||||
|
action = "loginctl lock-session";
|
||||||
|
text = "Lock";
|
||||||
|
keybind = "l";
|
||||||
|
circular = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
label = "hibernate";
|
||||||
|
action = "systemctl hibernate";
|
||||||
|
text = "Hibernate";
|
||||||
|
keybind = "h";
|
||||||
|
circular = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
label = "logout";
|
||||||
|
action = "loginctl terminate-user $USER";
|
||||||
|
text = "Logout";
|
||||||
|
keybind = "u";
|
||||||
|
circular = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
label = "shutdown";
|
||||||
|
action = "systemctl poweroff";
|
||||||
|
text = "Shutdown";
|
||||||
|
keybind = "p";
|
||||||
|
circular = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
label = "suspend";
|
||||||
|
action = "systemctl suspend";
|
||||||
|
text = "Suspend";
|
||||||
|
keybind = "s";
|
||||||
|
circular = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
label = "reboot";
|
||||||
|
action = "systemctl reboot";
|
||||||
|
text = "Reboot";
|
||||||
|
keybind = "r";
|
||||||
|
circular = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
yt-dlp.enable = true;
|
yt-dlp.enable = true;
|
||||||
zoxide = {
|
zoxide = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -13163,8 +13232,8 @@ nix-index provides a way to find out which packages are provided by which deriva
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="outline-container-orge4d0c6e" class="outline-5">
|
<div id="outline-container-org0bc7fbc" class="outline-5">
|
||||||
<h5 id="orge4d0c6e"><span class="section-number-5">3.3.1.15.</span> nix-your-shell</h5>
|
<h5 id="org0bc7fbc"><span class="section-number-5">3.3.1.15.</span> nix-your-shell</h5>
|
||||||
<div class="outline-text-5" id="text-3-3-1-15">
|
<div class="outline-text-5" id="text-3-3-1-15">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-nix-ts">{ lib, config, ... }:
|
<pre class="src src-nix-ts">{ lib, config, ... }:
|
||||||
|
|
@ -14877,8 +14946,8 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="outline-container-orga8387ad" class="outline-6">
|
<div id="outline-container-org2568de8" class="outline-6">
|
||||||
<h6 id="orga8387ad"><span class="section-number-6">3.3.1.31.6.</span> blueman-applet</h6>
|
<h6 id="org2568de8"><span class="section-number-6">3.3.1.31.6.</span> blueman-applet</h6>
|
||||||
<div class="outline-text-6" id="text-3-3-1-31-6">
|
<div class="outline-text-6" id="text-3-3-1-31-6">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-nix-ts">{ lib, config, ... }:
|
<pre class="src src-nix-ts">{ lib, config, ... }:
|
||||||
|
|
@ -14892,8 +14961,8 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="outline-container-org3e03cb0" class="outline-6">
|
<div id="outline-container-org84c1201" class="outline-6">
|
||||||
<h6 id="org3e03cb0"><span class="section-number-6">3.3.1.31.7.</span> network-manager-applet</h6>
|
<h6 id="org84c1201"><span class="section-number-6">3.3.1.31.7.</span> network-manager-applet</h6>
|
||||||
<div class="outline-text-6" id="text-3-3-1-31-7">
|
<div class="outline-text-6" id="text-3-3-1-31-7">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-nix-ts">{ lib, config, ... }:
|
<pre class="src src-nix-ts">{ lib, config, ... }:
|
||||||
|
|
@ -14908,8 +14977,8 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="outline-container-org2248ba5" class="outline-6">
|
<div id="outline-container-org43f6e21" class="outline-6">
|
||||||
<h6 id="org2248ba5"><span class="section-number-6">3.3.1.31.8.</span> obsidian service for tray</h6>
|
<h6 id="org43f6e21"><span class="section-number-6">3.3.1.31.8.</span> obsidian service for tray</h6>
|
||||||
<div class="outline-text-6" id="text-3-3-1-31-8">
|
<div class="outline-text-6" id="text-3-3-1-31-8">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-nix-ts">{ lib, config, ... }:
|
<pre class="src src-nix-ts">{ lib, config, ... }:
|
||||||
|
|
@ -14943,8 +15012,8 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="outline-container-org349a389" class="outline-6">
|
<div id="outline-container-orgaa41ee3" class="outline-6">
|
||||||
<h6 id="org349a389"><span class="section-number-6">3.3.1.31.9.</span> anki service for tray</h6>
|
<h6 id="orgaa41ee3"><span class="section-number-6">3.3.1.31.9.</span> anki service for tray</h6>
|
||||||
<div class="outline-text-6" id="text-3-3-1-31-9">
|
<div class="outline-text-6" id="text-3-3-1-31-9">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-nix-ts">{ lib, config, ... }:
|
<pre class="src src-nix-ts">{ lib, config, ... }:
|
||||||
|
|
@ -14982,8 +15051,8 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="outline-container-org367079d" class="outline-6">
|
<div id="outline-container-orgcb4f253" class="outline-6">
|
||||||
<h6 id="org367079d"><span class="section-number-6">3.3.1.31.10.</span> element service for tray</h6>
|
<h6 id="orgcb4f253"><span class="section-number-6">3.3.1.31.10.</span> element service for tray</h6>
|
||||||
<div class="outline-text-6" id="text-3-3-1-31-10">
|
<div class="outline-text-6" id="text-3-3-1-31-10">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-nix-ts">{ lib, config, pkgs, ... }:
|
<pre class="src src-nix-ts">{ lib, config, pkgs, ... }:
|
||||||
|
|
@ -15017,8 +15086,8 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="outline-container-orga654c87" class="outline-6">
|
<div id="outline-container-orgb766ab8" class="outline-6">
|
||||||
<h6 id="orga654c87"><span class="section-number-6">3.3.1.31.11.</span> vesktop service for tray</h6>
|
<h6 id="orgb766ab8"><span class="section-number-6">3.3.1.31.11.</span> vesktop service for tray</h6>
|
||||||
<div class="outline-text-6" id="text-3-3-1-31-11">
|
<div class="outline-text-6" id="text-3-3-1-31-11">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-nix-ts">{ lib, config, pkgs, ... }:
|
<pre class="src src-nix-ts">{ lib, config, pkgs, ... }:
|
||||||
|
|
@ -15311,10 +15380,9 @@ Currently, I am too lazy to explain every option here, but most of it is very se
|
||||||
{ command = "sleep 60; kitty -T spotifytui -o confirm_os_window_close=0 spotify_player"; }
|
{ command = "sleep 60; kitty -T spotifytui -o confirm_os_window_close=0 spotify_player"; }
|
||||||
];
|
];
|
||||||
seat = {
|
seat = {
|
||||||
"*" = [
|
"*" = {
|
||||||
{ hide_cursor = "when-typing enable"; }
|
hide_cursor = "when-typing enable";
|
||||||
{ hide_cursor = "2000"; }
|
};
|
||||||
];
|
|
||||||
};
|
};
|
||||||
window = {
|
window = {
|
||||||
border = 1;
|
border = 1;
|
||||||
|
|
@ -15481,7 +15549,7 @@ Currently, I am too lazy to explain every option here, but most of it is very se
|
||||||
exec systemctl --user import-environment
|
exec systemctl --user import-environment
|
||||||
# exec swayidle -w
|
# exec swayidle -w
|
||||||
|
|
||||||
# seat * hide_cursor 2000
|
seat * hide_cursor 2000
|
||||||
|
|
||||||
exec_always kill -1 $(pidof kanshi)
|
exec_always kill -1 $(pidof kanshi)
|
||||||
|
|
||||||
|
|
@ -15768,7 +15836,10 @@ Currently, I am too lazy to explain every option here, but most of it is very se
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
name = "lidopen";
|
name = "lidopen";
|
||||||
exec = [ "${pkgs.swaybg}/bin/swaybg --output '${monitor}' --image ${self}/files/wallpaper/standwp.png --mode ${config.stylix.imageScalingMode}" ];
|
exec = [
|
||||||
|
"${pkgs.swaybg}/bin/swaybg --output '${config.swarselsystems.sharescreen}' --image ${config.swarselsystems.wallpaper} --mode ${config.stylix.imageScalingMode}"
|
||||||
|
"${pkgs.swaybg}/bin/swaybg --output '${monitor}' --image ${self}/files/wallpaper/standwp.png --mode ${config.stylix.imageScalingMode}"
|
||||||
|
];
|
||||||
outputs = [
|
outputs = [
|
||||||
{
|
{
|
||||||
criteria = config.swarselsystems.sharescreen;
|
criteria = config.swarselsystems.sharescreen;
|
||||||
|
|
@ -15914,7 +15985,7 @@ in
|
||||||
programs.spicetify = {
|
programs.spicetify = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# spotifyPackage = pkgs.stable24_11.spotify;
|
# spotifyPackage = pkgs.stable24_11.spotify;
|
||||||
spotifyPackage = pkgs.spotify;
|
spotifyPackage = pkgs.stable.spotify;
|
||||||
enabledExtensions = with spicePkgs.extensions; [
|
enabledExtensions = with spicePkgs.extensions; [
|
||||||
fullAppDisplay
|
fullAppDisplay
|
||||||
shuffle
|
shuffle
|
||||||
|
|
@ -15930,22 +16001,27 @@ in
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="outline-container-org76d116f" class="outline-5">
|
<div id="outline-container-org3f19616" class="outline-5">
|
||||||
<h5 id="org76d116f"><span class="section-number-5">3.3.1.38.</span> Obsidian</h5>
|
<h5 id="org3f19616"><span class="section-number-5">3.3.1.38.</span> Obsidian</h5>
|
||||||
<div class="outline-text-5" id="text-3-3-1-38">
|
<div class="outline-text-5" id="text-3-3-1-38">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-nix-ts">{ lib, config, pkgs, nixosConfig ? config, ... }:
|
<pre class="src src-nix-ts">{ lib, config, pkgs, nixosConfig ? config, ... }:
|
||||||
let
|
let
|
||||||
moduleName = "obsidian";
|
moduleName = "obsidian";
|
||||||
inherit (nixosConfig.repo.secrets.common.obsidian) userIgnoreFilters;
|
inherit (nixosConfig.repo.secrets.common.obsidian) userIgnoreFilters;
|
||||||
|
name = "Main";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} with settings";
|
options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} with settings";
|
||||||
config = lib.mkIf config.swarselmodules.${moduleName} {
|
config = lib.mkIf config.swarselmodules.${moduleName} {
|
||||||
|
|
||||||
|
home.file = {
|
||||||
|
"${config.programs.obsidian.vaults.${name}.target}/.obsidian/app.json".force = true;
|
||||||
|
"${config.programs.obsidian.vaults.${name}.target}/.obsidian/appearance.json".force = true;
|
||||||
|
"${config.programs.obsidian.vaults.${name}.target}/.obsidian/core-plugins.json".force = true;
|
||||||
|
};
|
||||||
|
|
||||||
programs.obsidian =
|
programs.obsidian =
|
||||||
let
|
|
||||||
name = "Main";
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.obsidian;
|
package = pkgs.obsidian;
|
||||||
|
|
@ -16070,8 +16146,8 @@ in
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="outline-container-orga008c2b" class="outline-5">
|
<div id="outline-container-orgd0e6499" class="outline-5">
|
||||||
<h5 id="orga008c2b"><span class="section-number-5">3.3.1.39.</span> Anki</h5>
|
<h5 id="orgd0e6499"><span class="section-number-5">3.3.1.39.</span> Anki</h5>
|
||||||
<div class="outline-text-5" id="text-3-3-1-39">
|
<div class="outline-text-5" id="text-3-3-1-39">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-nix-ts">{ lib, config, pkgs, globals, nixosConfig ? config, ... }:
|
<pre class="src src-nix-ts">{ lib, config, pkgs, globals, nixosConfig ? config, ... }:
|
||||||
|
|
@ -16092,7 +16168,7 @@ in
|
||||||
|
|
||||||
programs.anki = {
|
programs.anki = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.anki;
|
# # package = pkgs.anki;
|
||||||
hideBottomBar = true;
|
hideBottomBar = true;
|
||||||
hideBottomBarMode = "always";
|
hideBottomBarMode = "always";
|
||||||
hideTopBar = true;
|
hideTopBar = true;
|
||||||
|
|
@ -16103,6 +16179,7 @@ in
|
||||||
sync = {
|
sync = {
|
||||||
autoSync = false; # sync on profile close will delay system shutdown
|
autoSync = false; # sync on profile close will delay system shutdown
|
||||||
syncMedia = true;
|
syncMedia = true;
|
||||||
|
autoSyncMediaMinutes = 5;
|
||||||
url = "https://${globals.services.ankisync.domain}";
|
url = "https://${globals.services.ankisync.domain}";
|
||||||
usernameFile = nixosConfig.sops.secrets.anki-user.path;
|
usernameFile = nixosConfig.sops.secrets.anki-user.path;
|
||||||
# this is not the password but the syncKey
|
# this is not the password but the syncKey
|
||||||
|
|
@ -16142,8 +16219,8 @@ in
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="outline-container-org890c5fe" class="outline-5">
|
<div id="outline-container-orgb6ac1d9" class="outline-5">
|
||||||
<h5 id="org890c5fe"><span class="section-number-5">3.3.1.40.</span> Element-desktop</h5>
|
<h5 id="orgb6ac1d9"><span class="section-number-5">3.3.1.40.</span> Element-desktop</h5>
|
||||||
<div class="outline-text-5" id="text-3-3-1-40">
|
<div class="outline-text-5" id="text-3-3-1-40">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-nix-ts">{ lib, config, ... }:
|
<pre class="src src-nix-ts">{ lib, config, ... }:
|
||||||
|
|
@ -16179,8 +16256,8 @@ in
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="outline-container-orgc19c8f7" class="outline-5">
|
<div id="outline-container-org68fbf73" class="outline-5">
|
||||||
<h5 id="orgc19c8f7"><span class="section-number-5">3.3.1.41.</span> Hexchat</h5>
|
<h5 id="org68fbf73"><span class="section-number-5">3.3.1.41.</span> Hexchat</h5>
|
||||||
<div class="outline-text-5" id="text-3-3-1-41">
|
<div class="outline-text-5" id="text-3-3-1-41">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-nix-ts">{ lib, config, nixosConfig ? config, ... }:
|
<pre class="src src-nix-ts">{ lib, config, nixosConfig ? config, ... }:
|
||||||
|
|
@ -16204,8 +16281,8 @@ in
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="outline-container-org4080c55" class="outline-5">
|
<div id="outline-container-orgea285a9" class="outline-5">
|
||||||
<h5 id="org4080c55"><span class="section-number-5">3.3.1.42.</span> obs-studio</h5>
|
<h5 id="orgea285a9"><span class="section-number-5">3.3.1.42.</span> obs-studio</h5>
|
||||||
<div class="outline-text-5" id="text-3-3-1-42">
|
<div class="outline-text-5" id="text-3-3-1-42">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-nix-ts">{ lib, config, ... }:
|
<pre class="src src-nix-ts">{ lib, config, ... }:
|
||||||
|
|
@ -16225,8 +16302,8 @@ in
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="outline-container-org0a8046e" class="outline-5">
|
<div id="outline-container-orgd003fee" class="outline-5">
|
||||||
<h5 id="org0a8046e"><span class="section-number-5">3.3.1.43.</span> spotify-player</h5>
|
<h5 id="orgd003fee"><span class="section-number-5">3.3.1.43.</span> spotify-player</h5>
|
||||||
<div class="outline-text-5" id="text-3-3-1-43">
|
<div class="outline-text-5" id="text-3-3-1-43">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-nix-ts">{ lib, config, ... }:
|
<pre class="src src-nix-ts">{ lib, config, ... }:
|
||||||
|
|
@ -16246,8 +16323,8 @@ in
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="outline-container-orga246a4c" class="outline-5">
|
<div id="outline-container-org8616bfa" class="outline-5">
|
||||||
<h5 id="orga246a4c"><span class="section-number-5">3.3.1.44.</span> vesktop</h5>
|
<h5 id="org8616bfa"><span class="section-number-5">3.3.1.44.</span> vesktop</h5>
|
||||||
<div class="outline-text-5" id="text-3-3-1-44">
|
<div class="outline-text-5" id="text-3-3-1-44">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-nix-ts">{ lib, config, ... }:
|
<pre class="src src-nix-ts">{ lib, config, ... }:
|
||||||
|
|
@ -16333,8 +16410,8 @@ in
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="outline-container-org47c4dda" class="outline-5">
|
<div id="outline-container-orgab3d85e" class="outline-5">
|
||||||
<h5 id="org47c4dda"><span class="section-number-5">3.3.1.45.</span> batsignal</h5>
|
<h5 id="orgab3d85e"><span class="section-number-5">3.3.1.45.</span> batsignal</h5>
|
||||||
<div class="outline-text-5" id="text-3-3-1-45">
|
<div class="outline-text-5" id="text-3-3-1-45">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-nix-ts">{ lib, config, ... }:
|
<pre class="src src-nix-ts">{ lib, config, ... }:
|
||||||
|
|
@ -16346,6 +16423,18 @@ in
|
||||||
config = lib.mkIf config.swarselmodules.${moduleName} {
|
config = lib.mkIf config.swarselmodules.${moduleName} {
|
||||||
services.${moduleName} = {
|
services.${moduleName} = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
extraArgs = [
|
||||||
|
"-W"
|
||||||
|
" Consider charging the battery"
|
||||||
|
"-C"
|
||||||
|
" Battery is low; plug in charger now"
|
||||||
|
"-D"
|
||||||
|
" Device will lose power in a few seconds"
|
||||||
|
"-c"
|
||||||
|
"10"
|
||||||
|
"-d"
|
||||||
|
"5"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -16354,8 +16443,8 @@ in
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="outline-container-orgafe3a00" class="outline-5">
|
<div id="outline-container-orgde9dc92" class="outline-5">
|
||||||
<h5 id="orgafe3a00"><span class="section-number-5">3.3.1.46.</span> autotiling</h5>
|
<h5 id="orgde9dc92"><span class="section-number-5">3.3.1.46.</span> autotiling</h5>
|
||||||
<div class="outline-text-5" id="text-3-3-1-46">
|
<div class="outline-text-5" id="text-3-3-1-46">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-nix-ts">{ lib, config, ... }:
|
<pre class="src src-nix-ts">{ lib, config, ... }:
|
||||||
|
|
@ -16376,8 +16465,8 @@ in
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="outline-container-orgc152f86" class="outline-5">
|
<div id="outline-container-orge7185ca" class="outline-5">
|
||||||
<h5 id="orgc152f86"><span class="section-number-5">3.3.1.47.</span> swayidle</h5>
|
<h5 id="orge7185ca"><span class="section-number-5">3.3.1.47.</span> swayidle</h5>
|
||||||
<div class="outline-text-5" id="text-3-3-1-47">
|
<div class="outline-text-5" id="text-3-3-1-47">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-nix-ts">{ lib, config, pkgs, ... }:
|
<pre class="src src-nix-ts">{ lib, config, pkgs, ... }:
|
||||||
|
|
@ -16391,7 +16480,7 @@ in
|
||||||
let
|
let
|
||||||
brightnessctl = "${lib.getExe pkgs.brightnessctl}";
|
brightnessctl = "${lib.getExe pkgs.brightnessctl}";
|
||||||
swaylock = "${lib.getExe pkgs.swaylock-effects}";
|
swaylock = "${lib.getExe pkgs.swaylock-effects}";
|
||||||
suspend = "${pkgs.systemd}/bin/systemctl";
|
suspend = "${pkgs.systemd}/bin/systemctl suspend";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -16406,6 +16495,7 @@ in
|
||||||
];
|
];
|
||||||
events = [
|
events = [
|
||||||
# { event = "before-sleep"; command = "${lib.getExe pkgs.swaylock-effects} -f --screenshots --clock --effect-blur 7x5 --effect-vignette 0.5:0.5 --fade-in 0.2"; }
|
# { event = "before-sleep"; command = "${lib.getExe pkgs.swaylock-effects} -f --screenshots --clock --effect-blur 7x5 --effect-vignette 0.5:0.5 --fade-in 0.2"; }
|
||||||
|
# { event = "after-resume"; command = "${swaylock} -f "; }
|
||||||
{ event = "before-sleep"; command = "${swaylock} -f "; }
|
{ event = "before-sleep"; command = "${swaylock} -f "; }
|
||||||
{ event = "lock"; command = "${swaylock} -f "; }
|
{ event = "lock"; command = "${swaylock} -f "; }
|
||||||
];
|
];
|
||||||
|
|
@ -16417,8 +16507,8 @@ in
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="outline-container-orgd6d4110" class="outline-5">
|
<div id="outline-container-org4e801e4" class="outline-5">
|
||||||
<h5 id="orgd6d4110"><span class="section-number-5">3.3.1.48.</span> swaylock</h5>
|
<h5 id="org4e801e4"><span class="section-number-5">3.3.1.48.</span> swaylock</h5>
|
||||||
<div class="outline-text-5" id="text-3-3-1-48">
|
<div class="outline-text-5" id="text-3-3-1-48">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-nix-ts">{ lib, config, pkgs, ... }:
|
<pre class="src src-nix-ts">{ lib, config, pkgs, ... }:
|
||||||
|
|
@ -16759,16 +16849,16 @@ The rest of the settings is at <a href="#h:bbf2ecb6-c8ff-4462-b5d5-d45b28604ddf"
|
||||||
awscli = {
|
awscli = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.stable24_05.awscli2;
|
package = pkgs.stable24_05.awscli2;
|
||||||
settings = {
|
# settings = {
|
||||||
"default" = { };
|
# "default" = { };
|
||||||
"profile s3-imagebuilder-prod" = { };
|
# "profile s3-imagebuilder-prod" = { };
|
||||||
};
|
# };
|
||||||
credentials = {
|
# credentials = {
|
||||||
"s3-imagebuilder-prod" = {
|
# "s3-imagebuilder-prod" = {
|
||||||
aws_access_key_id = "5OYXY4879EJG9I91K1B6";
|
# aws_access_key_id = "5OYXY4879EJG9I91K1B6";
|
||||||
credential_process = "${pkgs.pass}/bin/pass show work/awscli/s3-imagebuilder-prod/secret-key";
|
# credential_process = "${pkgs.pass}/bin/pass show work/awscli/s3-imagebuilder-prod/secret-key";
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
};
|
};
|
||||||
git.userEmail = lib.mkForce gitMail;
|
git.userEmail = lib.mkForce gitMail;
|
||||||
|
|
||||||
|
|
@ -16932,6 +17022,7 @@ The rest of the settings is at <a href="#h:bbf2ecb6-c8ff-4462-b5d5-d45b28604ddf"
|
||||||
profile = {
|
profile = {
|
||||||
name = "lidopen";
|
name = "lidopen";
|
||||||
exec = [
|
exec = [
|
||||||
|
"${pkgs.swaybg}/bin/swaybg --output '${config.swarselsystems.sharescreen}' --image ${config.swarselsystems.wallpaper} --mode ${config.stylix.imageScalingMode}"
|
||||||
"${pkgs.swaybg}/bin/swaybg --output 'HP Inc. HP 732pk CNC4080YL5' --image ${self}/files/wallpaper/botanicswp.png --mode ${config.stylix.imageScalingMode}"
|
"${pkgs.swaybg}/bin/swaybg --output 'HP Inc. HP 732pk CNC4080YL5' --image ${self}/files/wallpaper/botanicswp.png --mode ${config.stylix.imageScalingMode}"
|
||||||
"${pkgs.swaybg}/bin/swaybg --output 'Hewlett Packard HP Z24i CN44250RDT' --image ${self}/files/wallpaper/op6wp.png --mode ${config.stylix.imageScalingMode}"
|
"${pkgs.swaybg}/bin/swaybg --output 'Hewlett Packard HP Z24i CN44250RDT' --image ${self}/files/wallpaper/op6wp.png --mode ${config.stylix.imageScalingMode}"
|
||||||
];
|
];
|
||||||
|
|
@ -16966,6 +17057,7 @@ The rest of the settings is at <a href="#h:bbf2ecb6-c8ff-4462-b5d5-d45b28604ddf"
|
||||||
{
|
{
|
||||||
name = "lidopen";
|
name = "lidopen";
|
||||||
exec = [
|
exec = [
|
||||||
|
"${pkgs.swaybg}/bin/swaybg --output '${config.swarselsystems.sharescreen}' --image ${config.swarselsystems.wallpaper} --mode ${config.stylix.imageScalingMode}"
|
||||||
"${pkgs.swaybg}/bin/swaybg --output '${monitor}' --image ${self}/files/wallpaper/navidrome.png --mode ${config.stylix.imageScalingMode}"
|
"${pkgs.swaybg}/bin/swaybg --output '${monitor}' --image ${self}/files/wallpaper/navidrome.png --mode ${config.stylix.imageScalingMode}"
|
||||||
"${pkgs.kanshare}/bin/kanshare ${config.swarselsystems.sharescreen} '${monitor}'"
|
"${pkgs.kanshare}/bin/kanshare ${config.swarselsystems.sharescreen} '${monitor}'"
|
||||||
];
|
];
|
||||||
|
|
@ -19621,8 +19713,8 @@ writeShellApplication {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="outline-container-orgfa84748" class="outline-4">
|
<div id="outline-container-org6a36b50" class="outline-4">
|
||||||
<h4 id="orgfa84748"><span class="section-number-4">3.5.34.</span> endme</h4>
|
<h4 id="org6a36b50"><span class="section-number-4">3.5.34.</span> endme</h4>
|
||||||
<div class="outline-text-4" id="text-3-5-34">
|
<div class="outline-text-4" id="text-3-5-34">
|
||||||
<p>
|
<p>
|
||||||
Sometimes my DE crashes after putting it to suspend - to be precise, it happens when I put it into suspend when I have multiple screens plugged in. I have never taken the time to debug the issue, but instead just switch to a different TTY and then use this script to kill the hanging session.
|
Sometimes my DE crashes after putting it to suspend - to be precise, it happens when I put it into suspend when I have multiple screens plugged in. I have never taken the time to debug the issue, but instead just switch to a different TTY and then use this script to kill the hanging session.
|
||||||
|
|
@ -19639,6 +19731,30 @@ writeShellApplication {
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="outline-container-orgb3faf9e" class="outline-4">
|
||||||
|
<h4 id="orgb3faf9e"><span class="section-number-4">3.5.35.</span> git-replace</h4>
|
||||||
|
<div class="outline-text-4" id="text-3-5-35">
|
||||||
|
<p>
|
||||||
|
This script allows for quick git replace of a string.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-nix-ts">{ name, writeShellApplication, git, gnugrep, findutils, ... }:
|
||||||
|
|
||||||
|
writeShellApplication {
|
||||||
|
inherit name;
|
||||||
|
runtimeInputs = [ git gnugrep findutils ];
|
||||||
|
text = ''
|
||||||
|
git grep -l "$1" | xargs sed -i "s/$1/$2/g"
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
</pre>
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -19782,8 +19898,8 @@ in
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="outline-container-org76fa275" class="outline-5">
|
<div id="outline-container-orgefd2161" class="outline-5">
|
||||||
<h5 id="org76fa275"><span class="section-number-5">3.6.1.3.</span> Optionals</h5>
|
<h5 id="orgefd2161"><span class="section-number-5">3.6.1.3.</span> Optionals</h5>
|
||||||
<div class="outline-text-5" id="text-3-6-1-3">
|
<div class="outline-text-5" id="text-3-6-1-3">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-nix-ts">{ lib, config, ... }:
|
<pre class="src src-nix-ts">{ lib, config, ... }:
|
||||||
|
|
@ -24088,10 +24204,13 @@ bind gd tabdetach
|
||||||
bind gD composite tabduplicate; tabdetach
|
bind gD composite tabduplicate; tabdetach
|
||||||
bind d composite tabprev; tabclose #
|
bind d composite tabprev; tabclose #
|
||||||
bind D tabclose
|
bind D tabclose
|
||||||
bind c hint
|
bind c hint -J
|
||||||
bindurl ^http(s)?://www\.google\.com c hint -Jc [class="LC20lb MBeuO DKV0Md"],[class="YmvwI"],[class="YyVfkd"],[class="fl"]
|
bindurl ^http(s)?://www\.google\.com c hint -Jc [class="LC20lb MBeuO DKV0Md"],[class="YmvwI"],[class="YyVfkd"],[class="fl"]
|
||||||
bindurl ^http(s)?://news\.ycombinator\.com c hint -Jc [class="titleline"],[class="age"]
|
bindurl ^http(s)?://news\.ycombinator\.com c hint -Jc [class="titleline"],[class="age"]
|
||||||
bindurl ^http(s)?://lobste\.rs c hint -Jc [class="u-url"],[class="comments_label"]
|
bindurl ^http(s)?://lobste\.rs c hint -Jc [class="u-url"],[class="comments_label"]
|
||||||
|
bindurl ^http(s)?://reddit\.com c hint -Jc [class="title may-blank loggedin"],[class="bylink comments may-blank"]
|
||||||
|
bindurl ^http(s)?://github\.com c hint -Jc [class="Link--primary"],[class="AppHeader-button Button--secondary Button--medium Button p-0 color-fg-muted"],[class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"],[class="prc-ActionList-ItemLabel-TmBhn"],[class="PRIVATE_TreeView-item-content-text prc-TreeView-TreeViewItemContentText-smZM-"]
|
||||||
|
bindurl ^http(s)?://vbc\.atlassian\.net\/wiki c hint -Jc [class="_1reo15vq _18m915vq _1bto1l2s _kqswh2mm _o5721q9c _syaz1fxt"],[class="_11c81ixg _1reo15vq _18m915vq _18s81b66 _kqswh2mm _k48p1wq8 _o5721q9c _1bto1l2s _u5f31b66"],[class="_1r04ze3t _kqswstnw"],[class="css-a61etj"],[class="jira-macro-table-underline-pdfexport"]
|
||||||
bindurl ^http(s)?://www\.google\.com gi composite focusinput -l ; text.end_of_line
|
bindurl ^http(s)?://www\.google\.com gi composite focusinput -l ; text.end_of_line
|
||||||
|
|
||||||
" Work
|
" Work
|
||||||
|
|
@ -26874,7 +26993,7 @@ similarly, there exists an version that starts from the right.
|
||||||
</div>
|
</div>
|
||||||
<div id="postamble" class="status">
|
<div id="postamble" class="status">
|
||||||
<p class="author">Author: Leon Schwarzäugl</p>
|
<p class="author">Author: Leon Schwarzäugl</p>
|
||||||
<p class="date">Created: 2025-10-11 Sa 23:49</p>
|
<p class="date">Created: 2025-10-21 Di 13:09</p>
|
||||||
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
|
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ in
|
||||||
|
|
||||||
programs.anki = {
|
programs.anki = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.anki;
|
# # package = pkgs.anki;
|
||||||
hideBottomBar = true;
|
hideBottomBar = true;
|
||||||
hideBottomBarMode = "always";
|
hideBottomBarMode = "always";
|
||||||
hideTopBar = true;
|
hideTopBar = true;
|
||||||
|
|
@ -27,6 +27,7 @@ in
|
||||||
sync = {
|
sync = {
|
||||||
autoSync = false; # sync on profile close will delay system shutdown
|
autoSync = false; # sync on profile close will delay system shutdown
|
||||||
syncMedia = true;
|
syncMedia = true;
|
||||||
|
autoSyncMediaMinutes = 5;
|
||||||
url = "https://${globals.services.ankisync.domain}";
|
url = "https://${globals.services.ankisync.domain}";
|
||||||
usernameFile = nixosConfig.sops.secrets.anki-user.path;
|
usernameFile = nixosConfig.sops.secrets.anki-user.path;
|
||||||
# this is not the password but the syncKey
|
# this is not the password but the syncKey
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,18 @@ in
|
||||||
config = lib.mkIf config.swarselmodules.${moduleName} {
|
config = lib.mkIf config.swarselmodules.${moduleName} {
|
||||||
services.${moduleName} = {
|
services.${moduleName} = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
extraArgs = [
|
||||||
|
"-W"
|
||||||
|
" Consider charging the battery"
|
||||||
|
"-C"
|
||||||
|
" Battery is low; plug in charger now"
|
||||||
|
"-D"
|
||||||
|
" Device will lose power in a few seconds"
|
||||||
|
"-c"
|
||||||
|
"10"
|
||||||
|
"-d"
|
||||||
|
"5"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,7 @@
|
||||||
swarselzellij
|
swarselzellij
|
||||||
sshrm
|
sshrm
|
||||||
endme
|
endme
|
||||||
|
git-replace
|
||||||
|
|
||||||
rustdesk-vbc
|
rustdesk-vbc
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,9 @@
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg.mimeApps = {
|
xdg = {
|
||||||
|
configFile."mimeapps.list".force = true;
|
||||||
|
mimeApps = {
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultApplications = {
|
defaultApplications = {
|
||||||
"application/epub+zip" = [ "calibre-ebook-viewer.desktop" ];
|
"application/epub+zip" = [ "calibre-ebook-viewer.desktop" ];
|
||||||
|
|
@ -101,4 +103,5 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,10 @@
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
name = "lidopen";
|
name = "lidopen";
|
||||||
exec = [ "${pkgs.swaybg}/bin/swaybg --output '${monitor}' --image ${self}/files/wallpaper/standwp.png --mode ${config.stylix.imageScalingMode}" ];
|
exec = [
|
||||||
|
"${pkgs.swaybg}/bin/swaybg --output '${config.swarselsystems.sharescreen}' --image ${config.swarselsystems.wallpaper} --mode ${config.stylix.imageScalingMode}"
|
||||||
|
"${pkgs.swaybg}/bin/swaybg --output '${monitor}' --image ${self}/files/wallpaper/standwp.png --mode ${config.stylix.imageScalingMode}"
|
||||||
|
];
|
||||||
outputs = [
|
outputs = [
|
||||||
{
|
{
|
||||||
criteria = config.swarselsystems.sharescreen;
|
criteria = config.swarselsystems.sharescreen;
|
||||||
|
|
|
||||||
|
|
@ -2,14 +2,19 @@
|
||||||
let
|
let
|
||||||
moduleName = "obsidian";
|
moduleName = "obsidian";
|
||||||
inherit (nixosConfig.repo.secrets.common.obsidian) userIgnoreFilters;
|
inherit (nixosConfig.repo.secrets.common.obsidian) userIgnoreFilters;
|
||||||
|
name = "Main";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} with settings";
|
options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} with settings";
|
||||||
config = lib.mkIf config.swarselmodules.${moduleName} {
|
config = lib.mkIf config.swarselmodules.${moduleName} {
|
||||||
|
|
||||||
|
home.file = {
|
||||||
|
"${config.programs.obsidian.vaults.${name}.target}/.obsidian/app.json".force = true;
|
||||||
|
"${config.programs.obsidian.vaults.${name}.target}/.obsidian/appearance.json".force = true;
|
||||||
|
"${config.programs.obsidian.vaults.${name}.target}/.obsidian/core-plugins.json".force = true;
|
||||||
|
};
|
||||||
|
|
||||||
programs.obsidian =
|
programs.obsidian =
|
||||||
let
|
|
||||||
name = "Main";
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.obsidian;
|
package = pkgs.obsidian;
|
||||||
|
|
|
||||||
|
|
@ -81,8 +81,8 @@
|
||||||
# spotify
|
# spotify
|
||||||
# vesktop # discord client
|
# vesktop # discord client
|
||||||
# nextcloud-client # enables a systemd service that I do not want
|
# nextcloud-client # enables a systemd service that I do not want
|
||||||
# element-desktop
|
|
||||||
# spotify-player
|
# spotify-player
|
||||||
|
# element-desktop
|
||||||
|
|
||||||
nicotine-plus
|
nicotine-plus
|
||||||
stable.transmission_3
|
stable.transmission_3
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,53 @@
|
||||||
sioyek.enable = true;
|
sioyek.enable = true;
|
||||||
swayr.enable = true;
|
swayr.enable = true;
|
||||||
timidity.enable = true;
|
timidity.enable = true;
|
||||||
wlogout.enable = true;
|
wlogout = {
|
||||||
|
enable = true;
|
||||||
|
layout = [
|
||||||
|
{
|
||||||
|
label = "lock";
|
||||||
|
action = "loginctl lock-session";
|
||||||
|
text = "Lock";
|
||||||
|
keybind = "l";
|
||||||
|
circular = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
label = "hibernate";
|
||||||
|
action = "systemctl hibernate";
|
||||||
|
text = "Hibernate";
|
||||||
|
keybind = "h";
|
||||||
|
circular = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
label = "logout";
|
||||||
|
action = "loginctl terminate-user $USER";
|
||||||
|
text = "Logout";
|
||||||
|
keybind = "u";
|
||||||
|
circular = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
label = "shutdown";
|
||||||
|
action = "systemctl poweroff";
|
||||||
|
text = "Shutdown";
|
||||||
|
keybind = "p";
|
||||||
|
circular = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
label = "suspend";
|
||||||
|
action = "systemctl suspend";
|
||||||
|
text = "Suspend";
|
||||||
|
keybind = "s";
|
||||||
|
circular = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
label = "reboot";
|
||||||
|
action = "systemctl reboot";
|
||||||
|
text = "Reboot";
|
||||||
|
keybind = "r";
|
||||||
|
circular = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
yt-dlp.enable = true;
|
yt-dlp.enable = true;
|
||||||
zoxide = {
|
zoxide = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ in
|
||||||
programs.spicetify = {
|
programs.spicetify = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# spotifyPackage = pkgs.stable24_11.spotify;
|
# spotifyPackage = pkgs.stable24_11.spotify;
|
||||||
spotifyPackage = pkgs.spotify;
|
spotifyPackage = pkgs.stable.spotify;
|
||||||
enabledExtensions = with spicePkgs.extensions; [
|
enabledExtensions = with spicePkgs.extensions; [
|
||||||
fullAppDisplay
|
fullAppDisplay
|
||||||
shuffle
|
shuffle
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ in
|
||||||
let
|
let
|
||||||
brightnessctl = "${lib.getExe pkgs.brightnessctl}";
|
brightnessctl = "${lib.getExe pkgs.brightnessctl}";
|
||||||
swaylock = "${lib.getExe pkgs.swaylock-effects}";
|
swaylock = "${lib.getExe pkgs.swaylock-effects}";
|
||||||
suspend = "${pkgs.systemd}/bin/systemctl";
|
suspend = "${pkgs.systemd}/bin/systemctl suspend";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -24,6 +24,7 @@ in
|
||||||
];
|
];
|
||||||
events = [
|
events = [
|
||||||
# { event = "before-sleep"; command = "${lib.getExe pkgs.swaylock-effects} -f --screenshots --clock --effect-blur 7x5 --effect-vignette 0.5:0.5 --fade-in 0.2"; }
|
# { event = "before-sleep"; command = "${lib.getExe pkgs.swaylock-effects} -f --screenshots --clock --effect-blur 7x5 --effect-vignette 0.5:0.5 --fade-in 0.2"; }
|
||||||
|
# { event = "after-resume"; command = "${swaylock} -f "; }
|
||||||
{ event = "before-sleep"; command = "${swaylock} -f "; }
|
{ event = "before-sleep"; command = "${swaylock} -f "; }
|
||||||
{ event = "lock"; command = "${swaylock} -f "; }
|
{ event = "lock"; command = "${swaylock} -f "; }
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -126,16 +126,16 @@ in
|
||||||
awscli = {
|
awscli = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.stable24_05.awscli2;
|
package = pkgs.stable24_05.awscli2;
|
||||||
settings = {
|
# settings = {
|
||||||
"default" = { };
|
# "default" = { };
|
||||||
"profile s3-imagebuilder-prod" = { };
|
# "profile s3-imagebuilder-prod" = { };
|
||||||
};
|
# };
|
||||||
credentials = {
|
# credentials = {
|
||||||
"s3-imagebuilder-prod" = {
|
# "s3-imagebuilder-prod" = {
|
||||||
aws_access_key_id = "5OYXY4879EJG9I91K1B6";
|
# aws_access_key_id = "5OYXY4879EJG9I91K1B6";
|
||||||
credential_process = "${pkgs.pass}/bin/pass show work/awscli/s3-imagebuilder-prod/secret-key";
|
# credential_process = "${pkgs.pass}/bin/pass show work/awscli/s3-imagebuilder-prod/secret-key";
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
};
|
};
|
||||||
git.userEmail = lib.mkForce gitMail;
|
git.userEmail = lib.mkForce gitMail;
|
||||||
|
|
||||||
|
|
@ -299,6 +299,7 @@ in
|
||||||
profile = {
|
profile = {
|
||||||
name = "lidopen";
|
name = "lidopen";
|
||||||
exec = [
|
exec = [
|
||||||
|
"${pkgs.swaybg}/bin/swaybg --output '${config.swarselsystems.sharescreen}' --image ${config.swarselsystems.wallpaper} --mode ${config.stylix.imageScalingMode}"
|
||||||
"${pkgs.swaybg}/bin/swaybg --output 'HP Inc. HP 732pk CNC4080YL5' --image ${self}/files/wallpaper/botanicswp.png --mode ${config.stylix.imageScalingMode}"
|
"${pkgs.swaybg}/bin/swaybg --output 'HP Inc. HP 732pk CNC4080YL5' --image ${self}/files/wallpaper/botanicswp.png --mode ${config.stylix.imageScalingMode}"
|
||||||
"${pkgs.swaybg}/bin/swaybg --output 'Hewlett Packard HP Z24i CN44250RDT' --image ${self}/files/wallpaper/op6wp.png --mode ${config.stylix.imageScalingMode}"
|
"${pkgs.swaybg}/bin/swaybg --output 'Hewlett Packard HP Z24i CN44250RDT' --image ${self}/files/wallpaper/op6wp.png --mode ${config.stylix.imageScalingMode}"
|
||||||
];
|
];
|
||||||
|
|
@ -333,6 +334,7 @@ in
|
||||||
{
|
{
|
||||||
name = "lidopen";
|
name = "lidopen";
|
||||||
exec = [
|
exec = [
|
||||||
|
"${pkgs.swaybg}/bin/swaybg --output '${config.swarselsystems.sharescreen}' --image ${config.swarselsystems.wallpaper} --mode ${config.stylix.imageScalingMode}"
|
||||||
"${pkgs.swaybg}/bin/swaybg --output '${monitor}' --image ${self}/files/wallpaper/navidrome.png --mode ${config.stylix.imageScalingMode}"
|
"${pkgs.swaybg}/bin/swaybg --output '${monitor}' --image ${self}/files/wallpaper/navidrome.png --mode ${config.stylix.imageScalingMode}"
|
||||||
"${pkgs.kanshare}/bin/kanshare ${config.swarselsystems.sharescreen} '${monitor}'"
|
"${pkgs.kanshare}/bin/kanshare ${config.swarselsystems.sharescreen} '${monitor}'"
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -88,6 +88,9 @@
|
||||||
"jitsi-meet-1.0.8043"
|
"jitsi-meet-1.0.8043"
|
||||||
"electron-29.4.6"
|
"electron-29.4.6"
|
||||||
"SDL_ttf-2.0.11"
|
"SDL_ttf-2.0.11"
|
||||||
|
# audacity?
|
||||||
|
"mbedtls-2.28.10"
|
||||||
|
# "qtwebengine-5.15.19"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
verbose = true;
|
verbose = true;
|
||||||
|
backupFileExtension = "hm-bak";
|
||||||
users.${config.swarselsystems.mainUser}.imports = [
|
users.${config.swarselsystems.mainUser}.imports = [
|
||||||
inputs.nix-index-database.homeModules.nix-index
|
inputs.nix-index-database.homeModules.nix-index
|
||||||
inputs.sops-nix.homeManagerModules.sops
|
inputs.sops-nix.homeManagerModules.sops
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,15 @@
|
||||||
boot = {
|
boot = {
|
||||||
kernelParams = [
|
kernelParams = [
|
||||||
"resume_offset=${builtins.toString config.swarselsystems.hibernation.offset}"
|
"resume_offset=${builtins.toString config.swarselsystems.hibernation.offset}"
|
||||||
|
# "mem_sleep_default=deep"
|
||||||
];
|
];
|
||||||
inherit (config.swarselsystems.hibernation) resumeDevice;
|
inherit (config.swarselsystems.hibernation) resumeDevice;
|
||||||
};
|
};
|
||||||
|
systemd.services."systemd-suspend-then-hibernate".aliases = [ "systemd-suspend.service" ];
|
||||||
|
powerManagement.enable = true;
|
||||||
|
systemd.sleep.extraConfig = ''
|
||||||
|
HibernateDelaySec=120m
|
||||||
|
SuspendState=freeze
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -94,11 +94,13 @@ in
|
||||||
id = "VBC";
|
id = "VBC";
|
||||||
type = "wifi";
|
type = "wifi";
|
||||||
autoconnect-priority = "500";
|
autoconnect-priority = "500";
|
||||||
|
uuid = "3988f10e-6451-381f-9330-a12e66f45051";
|
||||||
secondaries = "48d09de4-0521-47d7-9bd5-43f97e23ff82"; # vpn uuid
|
secondaries = "48d09de4-0521-47d7-9bd5-43f97e23ff82"; # vpn uuid
|
||||||
};
|
};
|
||||||
ipv4 = { method = "auto"; };
|
ipv4 = { method = "auto"; };
|
||||||
ipv6 = {
|
ipv6 = {
|
||||||
addr-gen-mode = "default";
|
# addr-gen-mode = "default";
|
||||||
|
addr-gen-mode = "stable-privacy";
|
||||||
method = "auto";
|
method = "auto";
|
||||||
};
|
};
|
||||||
proxy = { };
|
proxy = { };
|
||||||
|
|
@ -111,7 +113,7 @@ in
|
||||||
ssid = "VBC";
|
ssid = "VBC";
|
||||||
};
|
};
|
||||||
wifi-security = {
|
wifi-security = {
|
||||||
auth-alg = "open";
|
# auth-alg = "open";
|
||||||
key-mgmt = "wpa-eap";
|
key-mgmt = "wpa-eap";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
@ -141,20 +143,22 @@ in
|
||||||
runAsRoot = true;
|
runAsRoot = true;
|
||||||
swtpm.enable = true;
|
swtpm.enable = true;
|
||||||
vhostUserPackages = with pkgs; [ virtiofsd ];
|
vhostUserPackages = with pkgs; [ virtiofsd ];
|
||||||
ovmf = {
|
# ovmf = {
|
||||||
enable = true;
|
# enable = true;
|
||||||
packages = [
|
# packages = [
|
||||||
(pkgs.OVMFFull.override {
|
# (pkgs.OVMFFull.override {
|
||||||
secureBoot = true;
|
# secureBoot = true;
|
||||||
tpmSupport = true;
|
# tpmSupport = true;
|
||||||
}).fd
|
# }).fd
|
||||||
];
|
# ];
|
||||||
};
|
# };
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
remmina
|
||||||
|
# gp-onsaml-gui
|
||||||
stable24_11.python39
|
stable24_11.python39
|
||||||
qemu
|
qemu
|
||||||
packer
|
packer
|
||||||
|
|
@ -208,6 +212,7 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# ACTION=="remove", ENV{PRODUCT}=="3/1050/407/110", RUN+="${pkgs.kanshi}/bin/kanshictl switch laptoponly"
|
||||||
udev.extraRules = ''
|
udev.extraRules = ''
|
||||||
# lock screen when yubikey removed
|
# lock screen when yubikey removed
|
||||||
ACTION=="remove", ENV{PRODUCT}=="3/1050/407/110", RUN+="${pkgs.systemd}/bin/systemctl suspend"
|
ACTION=="remove", ENV{PRODUCT}=="3/1050/407/110", RUN+="${pkgs.systemd}/bin/systemctl suspend"
|
||||||
|
|
|
||||||
9
pkgs/git-replace/default.nix
Normal file
9
pkgs/git-replace/default.nix
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
{ name, writeShellApplication, git, gnugrep, findutils, ... }:
|
||||||
|
|
||||||
|
writeShellApplication {
|
||||||
|
inherit name;
|
||||||
|
runtimeInputs = [ git gnugrep findutils ];
|
||||||
|
text = ''
|
||||||
|
git grep -l "$1" | xargs sed -i "s/$1/$2/g"
|
||||||
|
'';
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue