Compare commits

...

20 commits

Author SHA1 Message Date
ea75affaac
move macbook display to its home/hosts 2026-02-24 12:13:31 -05:00
5565859b02
changes to niri & firefox 2026-02-23 18:43:22 -05:00
35fc2c77f1
peach -> hopscotch theme 2026-02-23 16:30:44 -05:00
35eb538c85
change niri and noctalia opacities 2026-02-22 16:27:15 -05:00
0f5d8c83de
fix VM 2026-02-22 13:02:46 -05:00
9bd6e7793e
colorize wallpaper 2026-02-22 12:17:46 -05:00
862b60c351
switch from awww to wbg, fight over? 2026-02-22 11:54:32 -05:00
cc05f03bd8
reformat niri 2026-02-22 11:49:11 -05:00
0ae6192f1d
wallpaper updates in prep to switch to wbg 2026-02-22 11:48:53 -05:00
6249eba566
refactor session vars 2026-02-21 20:02:46 -05:00
cd53682017
update system/default.nix 2026-02-21 20:02:46 -05:00
f720895b42
add niri blur 2026-02-21 20:02:42 -05:00
f34538c20a
make systemd services more robust 2026-02-21 20:02:39 -05:00
581526011b
peach: frappe -> mocha 2026-02-20 22:01:49 -05:00
8ca6241077
switch from mpvpaper to awww, refactor wallpaper 2026-02-20 21:56:56 -05:00
f1abbd7e0b
fix: wallpaper aspect ratio 2026-02-20 18:30:49 -05:00
14cfc58bf2
add torrenting config 2026-02-20 16:44:06 -05:00
7aad2c1daf
move searxng to port 5364 2026-02-20 16:43:31 -05:00
dde21dfb81
switch from wpaperd to mpvpaper 2026-02-20 14:56:55 -05:00
bda3095a15
update flake 2026-02-19 13:26:42 -05:00
19 changed files with 477 additions and 458 deletions

141
flake.lock generated
View file

@ -8,11 +8,11 @@
]
},
"locked": {
"lastModified": 1771215876,
"narHash": "sha256-aei7McII5+y4tROXfmOVyLbPO62sWttNkOKUlCSEIcg=",
"lastModified": 1771513958,
"narHash": "sha256-KoDcVuYgmP/kX6pd9uCW5Wo5Xn3y0SumrMaCLu5ojdY=",
"owner": "nyakase",
"repo": "aerothemeplasma-nix",
"rev": "b922785202501754c4503232aa5f172aeaef8b00",
"rev": "348cbf661738840d0ae02d5eda7f4c076e59b733",
"type": "github"
},
"original": {
@ -27,11 +27,11 @@
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1771054135,
"narHash": "sha256-0RYmnOk40U4ZGbW/+3rHlNndrsuHCz9h+xequKWgwHQ=",
"lastModified": 1771511514,
"narHash": "sha256-qhtonMK07BCVC/wZ+pZ9/MKhcTric7YUaCpW6pOg8IM=",
"owner": "nix-community",
"repo": "nixos-apple-silicon",
"rev": "357186cca0f4c7801ff16970e4b6a05e74fd88e0",
"rev": "2b92d495204be0b10845c66361444dbc8441c68d",
"type": "github"
},
"original": {
@ -61,11 +61,11 @@
"base16-discord": {
"flake": false,
"locked": {
"lastModified": 1768273180,
"narHash": "sha256-uw7lz53YHxvPEyXZiS+NJFhKMb6AMUvVpCLH81NjM7U=",
"lastModified": 1771164756,
"narHash": "sha256-6NU5HQZVZ1mSNaIyZxE+U35nF46uXH/768y3auhQdiI=",
"owner": "imbypass",
"repo": "base16-discord",
"rev": "d4df17db31276d94cc1a8988f34e813aae1f3fb4",
"rev": "8b005607e5783f751fe369f0442965a86eed8051",
"type": "github"
},
"original": {
@ -93,11 +93,11 @@
"cachyos-kernel-patches": {
"flake": false,
"locked": {
"lastModified": 1771246613,
"narHash": "sha256-GftqKiyIgMcSgVkbNqXQq7oNnoL1+EB9V71XG4lPBRs=",
"lastModified": 1771399550,
"narHash": "sha256-Q2rMJcwZiI1rn8H27gLleKA3ATW/EykukyGR6S1tBPk=",
"owner": "CachyOS",
"repo": "kernel-patches",
"rev": "cb320a13e3c92f32ada27acb1fba8a828a22ae60",
"rev": "021aae790c8555a4bb6e2135c6b777bf6fdcba02",
"type": "github"
},
"original": {
@ -109,11 +109,11 @@
"catppuccin-discord": {
"flake": false,
"locked": {
"lastModified": 1769446491,
"narHash": "sha256-7v1Hu6QofOyFOGnHeqHFK0JsxUxdJ9uTjI7nM7mdTsg=",
"lastModified": 1770426312,
"narHash": "sha256-rxvHIifq5CYIBPwFA2SpOrWT+sG/z0ItXT3sx2wbEqg=",
"owner": "catppuccin",
"repo": "discord",
"rev": "f235754322320211a8646d963466fac402e5c297",
"rev": "b9b5547f0b32296d2389716ef606de87b3c1e7c7",
"type": "github"
},
"original": {
@ -197,11 +197,11 @@
]
},
"locked": {
"lastModified": 1768135262,
"narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=",
"lastModified": 1769996383,
"narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac",
"rev": "57928607ea566b5db3ad13af0e57e921e6b12381",
"type": "github"
},
"original": {
@ -254,11 +254,11 @@
]
},
"locked": {
"lastModified": 1769579508,
"narHash": "sha256-EE2bs7xFrC64qrj0N2zP6E6e/nmhcdw6v/grdYi+BiY=",
"lastModified": 1771519029,
"narHash": "sha256-H59Qf82wv5kBXVoyXsmUKW+9J3o8FqgY4uKaLdsLdLg=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "eec72f127831326b042d1f35003767a4ab6a9516",
"rev": "167e0b6837115e672ec5f58e2b0ea39093abe807",
"type": "github"
},
"original": {
@ -269,8 +269,12 @@
},
"niri": {
"inputs": {
"niri-stable": "niri-stable",
"niri-unstable": "niri-unstable",
"niri-stable": [
"niri-blur"
],
"niri-unstable": [
"niri-blur"
],
"nixpkgs": [
"nixpkgs"
],
@ -281,48 +285,33 @@
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
},
"locked": {
"lastModified": 1771514840,
"narHash": "sha256-t3WbZvwoDj/75YDX/nwkZuxanZLZaWr9meSfKswaN6g=",
"owner": "sodiboo",
"lastModified": 1771682768,
"narHash": "sha256-RJ9RVJSAktCgWiqLDCjYmx9KgMuLaszUrI28k92Pa2I=",
"owner": "sckova",
"repo": "niri-flake",
"rev": "4f69ab280e9bb34e2c0b67fdfa6f0978a170ef56",
"rev": "383bd9d32706b163807b05983418069b2e692310",
"type": "github"
},
"original": {
"owner": "sodiboo",
"owner": "sckova",
"ref": "feat/blur",
"repo": "niri-flake",
"type": "github"
}
},
"niri-stable": {
"niri-blur": {
"flake": false,
"locked": {
"lastModified": 1756556321,
"narHash": "sha256-RLD89dfjN0RVO86C/Mot0T7aduCygPGaYbog566F0Qo=",
"owner": "YaLTeR",
"lastModified": 1771672342,
"narHash": "sha256-52CxMRH2kVGpsPBiZM+996b6i/3XkmOrySm5zqwWc+o=",
"owner": "niri-wm",
"repo": "niri",
"rev": "01be0e65f4eb91a9cd624ac0b76aaeab765c7294",
"rev": "86f42d1ed9ab787c52ace073e0b3218e26530d25",
"type": "github"
},
"original": {
"owner": "YaLTeR",
"ref": "v25.08",
"repo": "niri",
"type": "github"
}
},
"niri-unstable": {
"flake": false,
"locked": {
"lastModified": 1771305475,
"narHash": "sha256-lqweVTwHhYc+9T33cysp38gVwxaibGJHriOPZXWyhCY=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "a2a52911757cb3b497db9407592f9b4c439571ea",
"type": "github"
},
"original": {
"owner": "YaLTeR",
"owner": "niri-wm",
"ref": "wip/branch",
"repo": "niri",
"type": "github"
}
@ -336,11 +325,11 @@
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1771353108,
"narHash": "sha256-5Xtei4UKrqRC6IYLgI1KEBaPN9Xfef5JeOexdqDWVeg=",
"lastModified": 1771438239,
"narHash": "sha256-/d5FnrQ1nvZ9n1I7o/hMTzjd8tTBvV5rT24Nh7h59RQ=",
"owner": "xddxdd",
"repo": "nix-cachyos-kernel",
"rev": "98e777cdcc39e6bd0312a9d756507ef9cbd284cb",
"rev": "58f338b00bc5619144a6f3082eed5c83e79b279b",
"type": "github"
},
"original": {
@ -398,11 +387,11 @@
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1769598131,
"narHash": "sha256-e7VO/kGLgRMbWtpBqdWl0uFg8Y2XWFMdz0uUJvlML8o=",
"lastModified": 1771419570,
"narHash": "sha256-bxAlQgre3pcQcaRUm/8A0v/X8d2nhfraWSFqVmMcBcU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "fa83fd837f3098e3e678e6cf017b2b36102c7211",
"rev": "6d41bc27aaf7b6a3ba6b169db3bd5d6159cfaa47",
"type": "github"
},
"original": {
@ -414,11 +403,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1769461804,
"narHash": "sha256-msG8SU5WsBUfVVa/9RPLaymvi5bI8edTavbIq3vRlhI=",
"lastModified": 1771369470,
"narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "bfc1b8a4574108ceef22f02bafcf6611380c100d",
"rev": "0182a361324364ae3f436a63005877674cf45efb",
"type": "github"
},
"original": {
@ -453,11 +442,11 @@
"systems": "systems"
},
"locked": {
"lastModified": 1769537308,
"narHash": "sha256-N7famD4s2hiDIicr9mJWhUj8l9EULB60+1QN/S+UjeM=",
"lastModified": 1771135771,
"narHash": "sha256-wyvBIhDuyCRyjB3yPg77qoyxrlgQtBR1rVW3c9knV3E=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "7addac6d111837217c16762968a9042eac703f7e",
"rev": "ed0424f0b08d303a7348f52f7850ad1b2704f9ba",
"type": "github"
},
"original": {
@ -473,11 +462,11 @@
]
},
"locked": {
"lastModified": 1769607092,
"narHash": "sha256-P0KGVjKtN+hkZWskpxr2iXWalPb0SKAgRVyMFZxdxf0=",
"lastModified": 1771513929,
"narHash": "sha256-dPeHevAT1Cb2w/Wrfz/d5i6RfO8bvbGl/KrTPxU2l3w=",
"owner": "noctalia-dev",
"repo": "noctalia-shell",
"rev": "b2b16ecdda1bc04001a7c714bf8124160a86ddfc",
"rev": "9c47ce03f200e0b8fc515d973440d5bc3e359785",
"type": "github"
},
"original": {
@ -494,11 +483,11 @@
]
},
"locked": {
"lastModified": 1769604042,
"narHash": "sha256-KQGbmKSY3tA4S8qFN76xd+3cbM0mAtPgoUVbjWrprcs=",
"lastModified": 1771516225,
"narHash": "sha256-G2cPs4Ic8Z1Aq8QfMa1VwJoBwIhVpwzcQ036ZhI4oXc=",
"owner": "nix-community",
"repo": "NUR",
"rev": "92f5f3f18a365341dd424314a80253f5ede071e4",
"rev": "d4694f0614419034910767b5a036384ab358b138",
"type": "github"
},
"original": {
@ -520,6 +509,7 @@
"original": {
"owner": "OpenMW",
"repo": "openmw",
"rev": "01bcd6a6369fe461caaf900354967b4751aede7a",
"type": "gitlab"
}
},
@ -533,11 +523,11 @@
]
},
"locked": {
"lastModified": 1767662275,
"narHash": "sha256-d5Q1GmQ+sW1Bt8cgDE0vOihzLaswsm8cSdg8124EqXE=",
"lastModified": 1770766818,
"narHash": "sha256-12RCFLyAedyMOdenUi7cN3ioJPEGjA/ZG1BLjugfUVs=",
"owner": "nix-community",
"repo": "plasma-manager",
"rev": "51816be33a1ff0d4b22427de83222d5bfa96d30e",
"rev": "44b928068359b7d2310a34de39555c63c93a2c90",
"type": "github"
},
"original": {
@ -555,6 +545,7 @@
"catppuccin-discord": "catppuccin-discord",
"home-manager": "home-manager",
"niri": "niri",
"niri-blur": "niri-blur",
"nix-cachyos-kernel": "nix-cachyos-kernel",
"nixpkgs": [
"nixpkgs-unstable"
@ -578,11 +569,11 @@
"systems": "systems_2"
},
"locked": {
"lastModified": 1769316930,
"narHash": "sha256-4EOGHYLpIscwr+6drHE28Qj7NDjjowp2Vd8QkXjdBBE=",
"lastModified": 1771268051,
"narHash": "sha256-nGqPcngnezoT+/xAvw3UDjwdKP2MC4fO315A/Otb9eE=",
"owner": "Gerg-L",
"repo": "spicetify-nix",
"rev": "b2ce438f386943ef611e196a178af2d79042903b",
"rev": "b930de84c561f62a0c39a6a57c2ab553a97e8495",
"type": "github"
},
"original": {

View file

@ -44,11 +44,16 @@
};
niri = {
url = "github:sodiboo/niri-flake";
url = "github:sckova/niri-flake/feat/blur";
inputs.nixpkgs.follows = "nixpkgs";
inputs.nixpkgs-stable.follows = "nixpkgs-stable";
# inputs.niri-stable.follows = "niri-blur";
# inputs.niri-unstable.follows = "niri-blur";
inputs.niri-stable.follows = "niri-blur";
inputs.niri-unstable.follows = "niri-blur";
};
niri-blur = {
url = "github:niri-wm/niri/wip/branch";
flake = false;
};
# niri-blur = {
@ -82,7 +87,7 @@
};
openmw = {
url = "gitlab:OpenMW/openmw";
url = "gitlab:OpenMW/openmw/01bcd6a6369fe461caaf900354967b4751aede7a";
flake = false;
};
@ -215,6 +220,7 @@
}
./system
./system/searxng
./system/torrenting
./system/widevine
./system/shell/fish.nix
./system/tailscale
@ -306,14 +312,15 @@
{ nixpkgs.overlays = [ apple-silicon.overlays.apple-silicon-overlay ]; }
];
};
alien =
mkNixosSystem {
alien = mkNixosSystem {
hostname = "alien";
system = "x86_64-linux";
extraModules = [
{ nixpkgs.overlays = [ nix-cachyos-kernel.overlays.pinned ]; }
{
nixpkgs.overlays = [ nix-cachyos-kernel.overlays.pinned ];
}
];
};
}
// nixpkgs.lib.genAttrs supportedSystems (
system:
@ -322,7 +329,6 @@
inherit system;
}
);
};
homeConfigurations = {
peach = mkHomeConfig {

View file

@ -4,12 +4,9 @@
...
}:
let
catppuccin-discord = "${pkgs.catppuccin-discord}/share/catppuccin-discord/catppuccin-mocha-*.theme.css";
mergedThemes = pkgs.runCommand "mergedConfig" { } ''
mkdir -p $out
cp -rvf ${pkgs.base16-discord-git}/base16.css $out/base16.css
cp -rvf ${catppuccin-discord} $out
'';
vesktopSettings = {

View file

@ -207,7 +207,7 @@
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
"browser.newtabpage.activity-stream.showWeather" = false;
"browser.download.autoHideButton" = false;
"browser.startup.homepage" = "http://localhost:8080/";
"browser.startup.homepage" = "http://localhost:5364/";
# Disable Firefox's machine learning (AI) features
"browser.ml.enable" = false;
@ -369,7 +369,7 @@
searxng = {
name = "SearXNG";
urls = [ { template = "http://localhost:8080/search?q={searchTerms}"; } ];
urls = [ { template = "http://localhost:5364/search?q={searchTerms}"; } ];
icon = searchIcon;
definedAliases = [ "@go" ];
};

View file

@ -14,7 +14,7 @@
visibility: hidden !important;
}
.browserContainer {
/*.browserContainer {
border-radius: 8px !important;
margin: 6px !important;
background-color: transparent !important;
@ -22,4 +22,4 @@
browser {
border-radius: 8px !important;
}
}*/

View file

@ -39,7 +39,7 @@
ffmpeg-full
# kde and kde theming
kde-rounded-corners
# kde-rounded-corners
kdePackages.partitionmanager
pkgs.catppuccin-cursors.mochaPeach
@ -48,7 +48,6 @@
libreoffice-qt-fresh
# nur.repos.forkprince.helium-nightly
chromium
qbittorrent
nautilus
fractal
tuba

View file

@ -1,15 +1,10 @@
{
config,
pkgs,
...
}:
{
home = {
packages = with pkgs; [ openmw ];
sessionVariables = {
SDL_VIDEO_DRIVER = "wayland";
};
};
home.packages = with pkgs; [ openmw ];
home.sessionVariables.SDL_VIDEO_DRIVER = "wayland";
programs.firefox.profiles.default.search.engines.uesp = {
name = "Unofficial Elder Scrolls Pages";

View file

@ -1,12 +1,11 @@
{
pkgs,
config,
lib,
...
}:
{
colors = {
scheme = "catppuccin-latte";
scheme = "pnevma";
accent = "base09";
};
@ -19,17 +18,26 @@
moonlight-qt
];
# https://github.com/YaLTeR/niri/issues/2330#issuecomment-3256864777
programs.niri.settings.debug = {
render-drm-device = "/dev/dri/card2";
};
programs.noctalia-shell.settings.bar = {
programs = {
noctalia-shell.settings.bar = {
position = "top";
density = "spacious";
};
programs.plasma = lib.mkDefault {
niri.settings.outputs."eDP-1" = {
scale = 1.5;
mode = {
width = 3024;
height = 1964;
refresh = 60.000;
};
position = {
x = 272;
y = 1440;
};
};
plasma = lib.mkDefault {
input.touchpads = [
{
name = "Apple MTP multi-touch";
@ -48,4 +56,5 @@
org_kde_powerdevil.Sleep = [ ];
};
};
};
}

View file

@ -23,11 +23,11 @@
};
};
aerothemeplasma = {
enable = true;
plasma.enable = true;
fonts.enable = true;
};
# aerothemeplasma = {
# enable = true;
# plasma.enable = true;
# fonts.enable = true;
# };
programs.plasma = lib.mkDefault {
enable = true;

View file

@ -31,6 +31,8 @@
home.sessionVariables = {
QT_QPA_PLATFORMTHEME = "qt6ct";
# this makes electron apps work per the wiki
NIXOS_OZONE_WL = "1";
};
gtk = {

View file

@ -28,16 +28,14 @@
Description = "Mount Synology NAS with Rclone and Home Manager.";
After = [ "tailscaled.service" ];
Wants = [ "tailscaled.service" ];
StartLimitBurst = 5;
StartLimitIntervalSec = "1m";
};
Service = {
Type = "simple";
# ExecStartPre = "${pkgs.writeShellScript "synology-prep" ''
# if mountpoint -q %h/Synology; then
# /run/wrappers/bin/fusermount -uz %h/Synology
# fi
# ${pkgs.coreutils}/bin/mkdir -p %h/Synology
# ''}";
Restart = "on-failure";
RestartSec = "1m";
ExecStart = "${pkgs.writeShellScript "synology-mount" ''
#!/usr/bin/env bash
set -euo pipefail
@ -65,49 +63,4 @@
WantedBy = [ "default.target" ];
};
};
# systemd.user.services.synology-prefill = {
# Unit = {
# Description = "Prefill Synology NAS rclone cache";
# After = [ "synology-mount.service" ];
# Wants = [ "synology-mount.service" ];
# };
# Service = {
# Type = "simple";
# ExecStart = "${pkgs.writeShellScript "synology-prefill" ''
# #!/usr/bin/env bash
# set -euo pipefail
# ${pkgs.rclone}/bin/rclone rc vfs/refresh -v --fast-list recursive=true >/dev/null
# ''}";
# StandardOutput = "journal";
# StandardError = "journal";
# Restart = "on-failure";
# };
# Install = {
# WantedBy = [ "default.target" ];
# };
# };
# systemd.user.services.input-leap = {
# Unit = {
# Description = "Autostart Input Leap";
# After = [ "graphical-session.target" ];
# };
# Service = {
# Type = "oneshot";
# RemainAfterExit = true;
# PassEnvironment = "DISPLAY";
# ExecStart = "${pkgs.writeShellScript "input-leap-start" ''
# sleep 5
# ${pkgs.input-leap}/bin/input-leap
# ''}";
# };
# Install = {
# WantedBy = [ "graphical-session.target" ];
# };
# };
}

View file

@ -1,12 +1,11 @@
{
pkgs,
config,
lib,
...
}:
{
home.sessionVariables = {
EDITOR = "nvim";
};
home.sessionVariables.EDITOR = lib.mkForce "kitty nvim";
home.packages = with pkgs; [
kdePackages.qtdeclarative

View file

@ -1,6 +1,5 @@
{
config,
pkgs,
...
}:
{
@ -17,7 +16,7 @@
XCURSOR_THEME = config.userOptions.cursor.name;
XCURSOR_SIZE = toString config.userOptions.cursor.size;
};
screenshot-path = "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png";
screenshot-path = "~/Pictures/Screenshots/%a %b %e %Y @%l:%M %p.png";
hotkey-overlay.skip-at-startup = true;
prefer-no-csd = true;
gestures.hot-corners.enable = false;
@ -29,7 +28,6 @@
input = {
focus-follows-mouse.enable = true;
focus-follows-mouse.max-scroll-amount = "0%";
warp-mouse-to-focus.enable = true;
mod-key = "Super";
keyboard = {
numlock = false;
@ -50,13 +48,6 @@
};
};
outputs = {
"eDP-1" = {
scale = 1.5;
position = {
x = 272;
y = 1440;
};
};
"HDMI-A-1" = {
mode = {
width = 3840;
@ -84,17 +75,13 @@
};
cursor = {
hide-when-typing = false;
# hide-after-inactive-ms = 10000;
size = config.userOptions.cursor.size;
theme = config.userOptions.cursor.name;
};
layout = {
gaps = 4;
# background-color = base10;
background-color = "transparent";
default-column-width = {
proportion = 0.5;
};
default-column-width.proportion = 0.5;
preset-column-widths = [
{ proportion = 4.0 / 12.0; }
{ proportion = 6.0 / 12.0; }
@ -103,16 +90,16 @@
border = {
enable = true;
width = 2;
active.color = config.scheme.withHashtag.${config.colors.accent};
inactive.color = base01;
urgent.color = base12;
active.color = config.scheme.withHashtag.${config.colors.accent} + "E6";
inactive.color = base01 + "E6";
urgent.color = base12 + "E6";
};
focus-ring = {
enable = false;
width = 2;
active.color = config.scheme.withHashtag.${config.colors.accent};
inactive.color = base01;
urgent.color = base12;
active.color = config.scheme.withHashtag.${config.colors.accent} + "E6";
inactive.color = base01 + "E6";
urgent.color = base12 + "E6";
};
shadow = {
enable = true;
@ -122,12 +109,6 @@
softness = 30;
color = base11 + "BF";
};
# blur = {
# enable = true;
# passes = 4;
# radius = 4;
# noise = 0.1;
# };
};
window-rules = [
{
@ -138,7 +119,14 @@
bottom-right = 8.0;
};
clip-to-geometry = true;
opacity = 1.0;
opacity = 0.90;
background-effect = {
xray = false;
blur = true;
noise = 0.05;
saturation = 1;
};
draw-border-with-background = false;
}
{
matches = [
@ -159,9 +147,20 @@
{
app-id = "vesktop$";
}
{
app-id = "org.gnome.Nautilus$";
}
];
block-out-from = "screen-capture";
}
{
matches = [
{
is-active = false;
}
];
opacity = 0.90;
}
{
matches = [
{
@ -173,17 +172,64 @@
title = "Minecraft";
}
];
open-maximized = true;
open-maximized-to-edges = true;
open-focused = true;
opacity = 1.00;
}
{
matches = [
{
app-id = "mpv";
}
{
app-id = "firefox";
title = "Picture-in-Picture";
}
];
opacity = 1.0;
}
{
# Kitty Fastfetch window
matches = [
{
app-id = "kitty";
title = "^fastfetch$";
}
];
open-floating = true;
baba-is-float = true;
min-width = 960;
min-height = 480;
max-width = 960;
max-height = 480;
}
];
layer-rules = [
{
matches = [
{
namespace = "^wpaperd.*";
matches = [ { namespace = "noctalia-bar-content-.*$"; } ];
background-effect = {
xray = false;
blur = true;
noise = 0.05;
saturation = 1;
};
}
];
{
matches = [ { namespace = "noctalia-bar-exclusion-top-.*$"; } ];
place-within-backdrop = true;
}
{
matches = [ { namespace = "^launcher$"; } ];
opacity = 0.90;
background-effect = {
xray = false;
blur = true;
noise = 0.05;
saturation = 1;
};
}
{
matches = [ { namespace = "^wallpaper$"; } ];
place-within-backdrop = true;
}
];
@ -194,6 +240,10 @@
action.spawn = [ "kitty" ];
hotkey-overlay.title = "Open a Terminal: kitty";
};
"Mod+Shift+T" = {
action.spawn-sh = [ "kitty --title fastfetch sh -c 'fastfetch; sleep 10'" ];
hotkey-overlay.title = "Open a Terminal with Fastfetch";
};
"Mod+Space" = {
action.spawn = [ "fuzzel" ];
hotkey-overlay.title = "Run an Application: Noctalia app launcher";
@ -342,29 +392,13 @@
allow-when-locked = true;
};
"XF86Sleep" = {
action.power-off-monitors = { };
};
"XF86Sleep".action.power-off-monitors = { };
"XF86Search" = {
action.spawn = [
"noctalia-shell"
"ipc"
"call"
"launcher"
"toggle"
];
allow-when-locked = true;
};
"XF86Search".action.spawn = [ "fuzzel" ];
"XF86LaunchA" = {
action.spawn = [
"niri"
"msg"
"action"
"toggle-overview"
];
allow-when-locked = true;
action.toggle-overview = { };
repeat = false;
};
"Mod+O" = {
@ -492,18 +526,15 @@
"Mod+Ctrl+Shift+F".action.fullscreen-window = { };
"Mod+C".action.center-column = { };
"Mod+Ctrl+C".action.center-visible-columns = { };
"Mod+Minus".action.set-column-width = "-10%";
"Mod+Equal".action.set-column-width = "+10%";
"Mod+Shift+Minus".action.set-window-height = "-10%";
"Mod+Shift+Equal".action.set-window-height = "+10%";
"Mod+Ctrl+Minus".action.set-column-width = "-0.25%";
"Mod+Ctrl+Equal".action.set-column-width = "+0.25%";
"Mod+Ctrl+Shift+Minus".action.set-window-height = "-0.25%";
"Mod+Ctrl+Shift+Equal".action.set-window-height = "+0.25%";
@ -512,18 +543,9 @@
"Mod+W".action.toggle-column-tabbed-display = { };
"Print".action.screenshot = {
show-pointer = false;
};
"Mod+Shift+S".action.screenshot = {
show-pointer = false;
};
"Ctrl+Print".action.screenshot-screen = {
show-pointer = false;
};
"Alt+Print".action.screenshot-window = {
show-pointer = false;
};
"Mod+Shift+S".action.screenshot.show-pointer = false;
"Ctrl+Shift+S".action.screenshot-screen.show-pointer = false;
"Alt+Shift+S".action.screenshot-window.show-pointer = false;
"Mod+Escape" = {
action.toggle-keyboard-shortcuts-inhibit = { };

View file

@ -63,7 +63,7 @@
bar = {
autoHideDelay = 500;
autoShowDelay = 150;
backgroundOpacity = 1;
backgroundOpacity = 0.90;
monitors = [ ];
showCapsule = true;
barType = "simple";
@ -79,7 +79,7 @@
outerCorners = false;
screenOverrides = [ ];
showOutline = false;
useSeparateOpacity = false;
useSeparateOpacity = true;
widgets = {
center = [ ];
left = [
@ -206,7 +206,7 @@
deviceNativePath = "__default__";
displayMode = "icon-hover";
hideIfIdle = false;
hideIfNotDetected = false;
hideIfNotDetected = true;
id = "Battery";
showNoctaliaPerformance = false;
showPowerProfiles = true;
@ -613,8 +613,6 @@
];
};
Install = {
WantedBy = [ "niri.service" ];
};
Install.WantedBy = [ "niri.service" ];
};
}

View file

@ -4,78 +4,104 @@
...
}:
{
home.packages = with pkgs; [
wpaperd
];
home.file.".config/wpaperd/config.toml" = {
text = ''
[default]
mode = "center"
[any]
path = "/home/${config.userOptions.username}/.local/share/wallpaper/daily.jpg"
systemd.user.services.wbg-daemon = {
Unit.Description = "Wallpaper service using wbg (daemon)";
Service.ExecStart = ''
${pkgs.wbg}/bin/wbg -s \
%h/.local/share/wallpaper/daily-colored.jpg
'';
force = true;
};
systemd.user.services.wpaperd = {
Unit = {
Description = "Modern wallpaper daemon for Wayland";
PartOf = [ "niri.service" ];
Requires = [ "niri.service" ];
After = [ "niri.service" ];
};
Service = {
ExecStart = "${pkgs.wpaperd}/bin/wpaperd";
};
Install = {
WantedBy = [ "niri.service" ];
};
Install.WantedBy = [ "niri.service" ];
};
systemd.user.services.bing-wallpaper = {
Unit = {
Description = "Download and set Bing wallpaper of the day";
After = [ "network-online.target" ];
Wants = [ "network-online.target" ];
};
Service = {
Type = "oneshot";
ExecStart = pkgs.writeShellScript "bing-wallpaper" ''
OUT="''${XDG_DATA_HOME:-$HOME/.local/share}/wallpaper/daily.jpg"
Unit.Description = "Download and set Bing wallpaper of the day";
Unit.StartLimitBurst = 6;
Unit.StartLimitIntervalSec = "10m";
Service.Restart = "on-failure";
Service.RestartSec = "10s";
Service.Type = "oneshot";
Service.ExecStart = pkgs.lib.getExe (
pkgs.writeShellApplication {
name = "bing-wallpaper";
runtimeInputs = with pkgs; [
wget
jq
coreutils
libnotify
];
text = ''
OUT="$HOME/.local/share/wallpaper/daily.jpg"
API=$(wget -qO- "https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&mkt=en-US&n=1")
BASE=$(echo "$API" | jq -r '.images[0].urlbase')
TITLE=$(echo "$API" | jq -r '.images[0].title')
API_RESP=$(${pkgs.wget}/bin/wget -qO- "https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&mkt=en-US&n=1") || exit 1
mkdir -p "$HOME/.local/share/wallpaper"
wget -qO "$OUT" "https://www.bing.com''${BASE}_UHD.jpg"
URL_BASE=$(echo "$API_RESP" | ${pkgs.gnugrep}/bin/grep -oP 'urlbase":"[^"]*' | cut -d '"' -f 3)
TITLE=$(echo "$API_RESP" | ${pkgs.gnugrep}/bin/grep -oP 'title":"[^"]*' | cut -d '"' -f 3)
${pkgs.coreutils}/bin/mkdir -p "$(dirname "$OUT")"
${pkgs.wget}/bin/wget -qO "$OUT" "https://www.bing.com$URL_BASE\_UHD.jpg" || \
${pkgs.wget}/bin/wget -qO "$OUT" "https://www.bing.com$(echo "$API_RESP" | ${pkgs.gnugrep}/bin/grep -oP 'url":"[^"]*' | cut -d '"' -f 3)"
${pkgs.libnotify}/bin/notify-send \
-a "Bing Wallpaper Service" \
notify-send \
-a "Wallpaper of the day" \
-u low \
-i preferences-desktop-wallpaper \
"$TITLE"
'';
ExecStartPost = "${pkgs.systemd}/bin/systemctl --user restart wpaperd.service";
};
Install = {
WantedBy = [ "niri.service" ];
};
}
);
Service.ExecStartPost = "${pkgs.systemd}/bin/systemctl --user start gowall-convert.service";
Install.WantedBy = [ "niri.service" ];
};
systemd.user.timers.bing-wallpaper = {
Unit = {
Description = "Run bing wallpaper retrieval daily";
};
Timer = {
OnCalendar = "*-*-* 10:00:00 GMT";
Persistent = true;
};
Install = {
WantedBy = [ "timers.target" ];
Unit.Description = "Run bing wallpaper retrieval daily";
Timer.OnCalendar = "*-*-* 10:00:00 GMT";
Timer.Persistent = true;
Install.WantedBy = [ "timers.target" ];
};
systemd.user.services.gowall-convert = {
Unit.Description = "Convert a wallpaper to the system color scheme";
Unit.StartLimitBurst = 6;
Unit.StartLimitIntervalSec = "10m";
Service.Restart = "on-failure";
Service.RestartSec = "10s";
Service.Type = "oneshot";
Service.ExecStart = ''
${pkgs.gowall}/bin/gowall convert \
%h/.local/share/wallpaper/daily.jpg \
--output %h/.local/share/wallpaper/daily-colored.jpg \
-t nix
'';
Service.ExecStartPost = "${pkgs.systemd}/bin/systemctl --user restart wbg-daemon.service";
};
home.file.".config/gowall/config.yml".text = with config.scheme.withHashtag; ''
themes:
- name: "nix"
colors:
- "${base06}"
- "${base0F}"
- "${base17}"
- "${base0E}"
- "${base08}"
- "${base12}"
- "${base09}"
- "${base0A}"
- "${base0B}"
- "${base0C}"
- "${base15}"
- "${base16}"
- "${base0D}"
- "${base07}"
- "${base05}"
- "${base07}"
- "${base0D}"
- "${base0D}"
- "${base04}"
- "${base04}"
- "${base04}"
- "${base03}"
- "${base02}"
- "${base00}"
- "${base01}"
- "${base11}"
'';
}

View file

@ -2,28 +2,16 @@
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{
config,
pkgs,
...
}:
{
environment.sessionVariables = {
# this makes electron apps work per the wiki
NIXOS_OZONE_WL = "1";
};
boot = {
plymouth = {
enable = true;
logo = "${pkgs.nixos-icons}/share/icons/hicolor/64x64/apps/nix-snowflake-white.png";
};
plymouth.enable = true;
plymouth.logo = "${pkgs.nixos-icons}/share/icons/hicolor/64x64/apps/nix-snowflake-white.png";
loader = {
timeout = 3;
# systemd-boot = {
# enable = true;
# consoleMode = lib.mkForce "auto";
# configurationLimit = 10;
# };
limine = {
enable = true;
maxGenerations = 10;
@ -40,7 +28,6 @@
};
};
};
# efi.canTouchEfiVariables = true;
};
kernelParams = [
"quiet"
@ -55,37 +42,16 @@
initrd.verbose = false;
};
networking.networkmanager.enable = true;
hardware.bluetooth.enable = true;
time.timeZone = "America/New_York";
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
};
# Enable OpenGL
hardware.graphics = {
programs = {
gnupg.agent = {
enable = true;
enableSSHSupport = true;
pinentryPackage = pkgs.pinentry-curses;
};
programs.niri = {
enable = true;
package = pkgs.niri-unstable;
};
services.gnome.gnome-keyring.enable = true;
security.pam.services.niri.enableGnomeKeyring = true;
programs.dconf.enable = true;
programs.dconf.profiles.user = {
niri.enable = true;
niri.package = pkgs.niri-unstable;
dconf.enable = true;
dconf.profiles.user = {
databases = [
{
# breaks user-level indirect config of dconf
@ -118,25 +84,24 @@
];
};
aerothemeplasma = {
enable = true;
plasma.enable = true;
fonts.enable = false;
plymouth.enable = false;
sddm.enable = true;
};
services = {
# displayManager = {
# gdm.enable = true;
# defaultSession = "niri";
# aerothemeplasma = {
# enable = true;
# plasma.enable = true;
# fonts.enable = false;
# plymouth.enable = false;
# sddm.enable = true;
# };
services = {
desktopManager.plasma6.enable = true;
displayManager = {
sddm.enable = true;
defaultSession = "aerothemeplasma";
sddm.wayland.enable = true;
defaultSession = "niri";
};
gnome.gnome-keyring.enable = true;
libinput.enable = true;
printing.enable = true;
pipewire = {
@ -147,33 +112,37 @@
};
udisks2.enable = true;
gvfs.enable = true;
upower.enable = true;
power-profiles-daemon.enable = true;
openssh.enable = true;
};
environment = {
systemPackages = with pkgs; [
environment.systemPackages = with pkgs; [
git
firefoxpwa
distrobox
];
};
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
pinentryPackage = pkgs.pinentry-curses;
};
security.pam.services.niri.enableGnomeKeyring = config.services.gnome.gnome-keyring.enable;
networking.firewall.enable = false;
documentation.man = {
enable = true;
generateCaches = false;
networking.networkmanager.enable = true;
documentation.man.enable = true;
documentation.man.generateCaches = false;
hardware.graphics.enable = true;
hardware.bluetooth.enable = true;
time.timeZone = "America/New_York";
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
};
services.openssh.enable = true;
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave

View file

@ -1,7 +1,7 @@
{ catppuccin, ... }:
{ ... }:
{
home-manager.users.sckova = {
imports = [ catppuccin.homeModules.catppuccin ];
imports = [ ];
};
services.spice-vdagentd.enable = true;

View file

@ -16,7 +16,7 @@
pkgs.runCommand "gen-key" { buildInputs = [ pkgs.openssl ]; } "openssl rand -hex 32 > $out"
)
);
port = 8080;
port = 5364;
bind_address = "127.0.0.1";
};

View file

@ -0,0 +1,53 @@
{
lib,
config,
pkgs,
...
}:
{
users.users.sckova.extraGroups = [ "qbittorrent" ];
services = {
qbittorrent = {
enable = true;
serverConfig = {
Preferences = {
Advanced.useSystemIconTheme = true;
General = {
CloseToTray = false;
CloseToTrayNotified = true;
ExitConfirm = false;
Locale = "en";
};
WebUI = {
Address = "*";
Enabled = true;
Port = 9697;
UseUPnP = false;
};
BitTorrent = {
SessionGlobalDLSpeedLimit = 0;
GlobalUPSpeedLimit = 0;
Port = 42578;
QueueingSystemEnabled = false;
SSL.Port = 63114;
StartPaused = false;
};
};
};
};
flaresolverr = {
enable = true;
port = 8191;
};
prowlarr = {
enable = true;
settings = {
server = {
urlbase = "localhost";
port = 9696;
bindaddress = "*";
};
};
};
};
}