update packages + some tweaks
This commit is contained in:
parent
527378ad95
commit
edfb60dd12
26 changed files with 304 additions and 319 deletions
|
|
@ -2,20 +2,20 @@
|
|||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.modules.desktop.swww;
|
||||
cfg = config.modules.desktop.awww;
|
||||
|
||||
# TODO: this whole thing is a little silly, but i cant find a better way to ref it in the scripts
|
||||
# maybe we can reference the config in the scripts? in a let of course :)
|
||||
wallpapersFolder = "${pkgs.my.wallpapers}/share/backgrounds";
|
||||
lastWallpaper = "$XDG_DATA_HOME/swww-last-wallpaper";
|
||||
lastWallpaperSym = "$XDG_DATA_HOME/swww-last-wallpaper-sym";
|
||||
lastWallpaper = "$XDG_DATA_HOME/awww-last-wallpaper";
|
||||
lastWallpaperSym = "$XDG_DATA_HOME/awww-last-wallpaper-sym";
|
||||
in {
|
||||
options.modules.desktop.swww = {
|
||||
enable = mkEnableOption "Enable swww, a Solution to your Wayland Wallpaper Woes";
|
||||
options.modules.desktop.awww = {
|
||||
enable = mkEnableOption "Enable awww, an Answer to your Wayland Wallpaper Woes";
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.swww;
|
||||
example = "pkgs.swww";
|
||||
default = pkgs.awww;
|
||||
example = "pkgs.awww";
|
||||
};
|
||||
wallpapersFolder = mkOption {
|
||||
type = types.str;
|
||||
|
|
@ -25,16 +25,16 @@ in {
|
|||
lastWallpaper = mkOption {
|
||||
type = types.str;
|
||||
default = lastWallpaper;
|
||||
example = "$XDG_DATA_HOME/swww-last-wallpaper";
|
||||
example = "$XDG_DATA_HOME/awww-last-wallpaper";
|
||||
};
|
||||
lastWallpaperSym = mkOption {
|
||||
type = types.str;
|
||||
default = lastWallpaperSym;
|
||||
example = "$XDG_DATA_HOME/swww-last-wallpaper-sym";
|
||||
example = "$XDG_DATA_HOME/awww-last-wallpaper-sym";
|
||||
};
|
||||
setScript = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.writeShellScript "swww-set" ''
|
||||
default = pkgs.writeShellScript "awww-set" ''
|
||||
set -euo pipefail
|
||||
|
||||
if [ ! -f "${lastWallpaper}" ]; then
|
||||
|
|
@ -47,7 +47,7 @@ in {
|
|||
};
|
||||
swapScript = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.writeShellScript "swww-swap" ''
|
||||
default = pkgs.writeShellScript "awww-swap" ''
|
||||
set -euo pipefail
|
||||
|
||||
file=$(ls ${wallpapersFolder} | ${lib.getExe config.modules.desktop.rofi.package} -dmenu -sep '\n' -i -p "select a wallpaper")
|
||||
|
|
@ -65,9 +65,9 @@ in {
|
|||
|
||||
config = mkIf cfg.enable {
|
||||
hm.home.packages = [ cfg.package ];
|
||||
hm.systemd.user.services.swww = {
|
||||
hm.systemd.user.services.awww = {
|
||||
Unit = {
|
||||
Description = "swww, a Solution to your Wayland Wallpaper Woes";
|
||||
Description = "awww, an Answer to your Wayland Wallpaper Woes";
|
||||
After = [ "graphical-session-pre.target" ];
|
||||
PartOf = [ "graphical-session.target" ];
|
||||
};
|
||||
|
|
@ -78,7 +78,7 @@ in {
|
|||
|
||||
Service = {
|
||||
Type = "simple";
|
||||
ExecStart = "${cfg.package}/bin/swww-daemon --no-cache";
|
||||
ExecStart = "${cfg.package}/bin/awww-daemon --no-cache";
|
||||
ExecStartPost = "${cfg.setScript}";
|
||||
Restart = "on-failure";
|
||||
RestartSec = 5;
|
||||
|
|
@ -16,9 +16,6 @@ in {
|
|||
modules.desktop.fonts.enable = true;
|
||||
modules.desktop.fonts.baseFonts = true;
|
||||
modules.desktop.thumbnailers.enable = true;
|
||||
|
||||
# speed up boot
|
||||
# https://discourse.nixos.org/t/boot-faster-by-disabling-udev-settle-and-nm-wait-online/6339
|
||||
systemd.services.systemd-udev-settle.enable = false;
|
||||
|
||||
# mounting, trash, and mtp support
|
||||
|
|
|
|||
|
|
@ -20,36 +20,25 @@ in {
|
|||
frame_color = "#${base02}";
|
||||
|
||||
origin = "top-right";
|
||||
vertical_alignment = "center";
|
||||
ellipsize = "middle";
|
||||
|
||||
# various non-color theming settings
|
||||
offset = "15x15";
|
||||
padding = 15;
|
||||
horizontal_padding = 15;
|
||||
text_icon_padding = 15;
|
||||
corner_radius = 8;
|
||||
gap_size = 8;
|
||||
gap_size = 0;
|
||||
frame_width = 1;
|
||||
|
||||
icon_position = "left";
|
||||
min_icon_size = 48;
|
||||
max_icon_size = 64;
|
||||
|
||||
progress_bar = true;
|
||||
progress_bar_height = 8;
|
||||
progress_bar_frame_width = 1;
|
||||
progress_bar_min_width = 150;
|
||||
progress_bar_max_width = 300;
|
||||
progress_bar_corner_radius = 8;
|
||||
|
||||
alignment = "left";
|
||||
markup = "full";
|
||||
format = "<b>%a</b>\\n<b>%s</b>\\n%b";
|
||||
font = with config.modules.desktop.fonts.fonts; "${sansSerif.family} ${toString sansSerif.size}";
|
||||
word_wrap = "yes";
|
||||
|
||||
ignore_newline = "no";
|
||||
ignore_dbusclose = false;
|
||||
|
||||
mouse_left_click = "do_action, close_current";
|
||||
mouse_middle_click = "close_all";
|
||||
|
|
@ -57,16 +46,13 @@ in {
|
|||
|
||||
# sorting and history settings
|
||||
sort = "update";
|
||||
notification_limit = 4;
|
||||
indicate_hidden = "yes";
|
||||
notification_limit = 5;
|
||||
idle_threshold = 120;
|
||||
history_length = 20;
|
||||
show_age_threshold = 60;
|
||||
show_indicators = "yes";
|
||||
sticky_history = "yes";
|
||||
stack_duplicates = true;
|
||||
hide_duplicate_count = false;
|
||||
always_run_script = true;
|
||||
};
|
||||
|
||||
urgency_low = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, config, pkgs, system, inputs , ... }:
|
||||
{ lib, config, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
|
|
@ -8,7 +8,7 @@ in {
|
|||
enable = mkEnableOption "Enable hypridle, a wayland idle daemon";
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = inputs.hypridle.packages.${system}.hypridle;
|
||||
default = pkgs.hypridle;
|
||||
example = "pkgs.hypridle";
|
||||
};
|
||||
desktop = mkEnableOption "Extend screen dimming time and disable sleeping";
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ in {
|
|||
};
|
||||
background = [
|
||||
{
|
||||
path = "${config.modules.desktop.swww.lastWallpaperSym}";
|
||||
path = "${config.modules.desktop.awww.lastWallpaperSym}";
|
||||
color = "rgb(${base00})";
|
||||
blur_passes = 3;
|
||||
blur_size = 6;
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ in {
|
|||
|
||||
Service = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.mate.mate-polkit}/libexec/polkit-mate-authentication-agent-1";
|
||||
ExecStart = "${pkgs.mate-polkit}/libexec/polkit-mate-authentication-agent-1";
|
||||
Restart = "on-failure";
|
||||
RestartSec = 5;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -101,6 +101,14 @@ in {
|
|||
};
|
||||
};
|
||||
|
||||
blur = {
|
||||
enable = true;
|
||||
passes = 2;
|
||||
offset = 2;
|
||||
noise = 0.04;
|
||||
saturation = 1.5;
|
||||
};
|
||||
|
||||
overview = {
|
||||
backdrop-color = config.modules.desktop.themes.niri.background;
|
||||
workspace-shadow = {
|
||||
|
|
@ -218,14 +226,24 @@ in {
|
|||
};
|
||||
};
|
||||
|
||||
# TODO: configure popups
|
||||
window-rules = [
|
||||
{
|
||||
geometry-corner-radius = allCorners 10.0;
|
||||
clip-to-geometry = true;
|
||||
}
|
||||
{
|
||||
matches = [ { app-id = "^org\.wezfurlong\.wezterm$"; } ];
|
||||
shadow.draw-behind-window = false; # transparent bg
|
||||
matches = [
|
||||
{ app-id = "^org\.wezfurlong\.wezterm$"; }
|
||||
];
|
||||
shadow.draw-behind-window = false;
|
||||
background-effect.blur = true;
|
||||
}
|
||||
{
|
||||
matches = [
|
||||
{ is-floating = true; }
|
||||
];
|
||||
background-effect.xray = false;
|
||||
}
|
||||
{
|
||||
matches = [
|
||||
|
|
@ -292,7 +310,6 @@ in {
|
|||
];
|
||||
|
||||
# TODO: add shadows onto notifications. weird geometry beware !!!
|
||||
# TODO: add shadows onto waybar again, but make it show the shadow drops behind the windows
|
||||
# TODO: rounded vicinae
|
||||
layer-rules = [
|
||||
{
|
||||
|
|
@ -312,6 +329,10 @@ in {
|
|||
{ namespace = "^vicinae$"; }
|
||||
{ namespace = "^wob$"; }
|
||||
];
|
||||
background-effect = {
|
||||
blur = true;
|
||||
xray = false;
|
||||
};
|
||||
shadow = {
|
||||
enable = true;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -13,16 +13,11 @@ in {
|
|||
services.greetd = {
|
||||
enable = true;
|
||||
settings = {
|
||||
# TODO: probably should rewrite somehow,,,
|
||||
# this is ugly, but it SOMEHOW WORKS??
|
||||
# kind of beautiful in its own way
|
||||
default_session = let
|
||||
swayConfig = let
|
||||
monitors = config.modules.desktop.monitors;
|
||||
monitorConfig = if monitors.enable && (builtins.length monitors.monitors > 0) then
|
||||
let
|
||||
# TODO: rewrite primary monitor system
|
||||
# it will get repetitive..
|
||||
firstMonitor = builtins.head monitors.monitors;
|
||||
in
|
||||
"output ${firstMonitor.name} scale ${toString firstMonitor.scale}"
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@ in {
|
|||
|
||||
wob = with colorScheme.palette; {
|
||||
borderColor = "${base04}FF";
|
||||
backgroundColor = "${base01}66";
|
||||
backgroundColor = "${base01}CC";
|
||||
barColor = "${base05}FF";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -95,6 +95,9 @@ in {
|
|||
theme = cfg.gtkTheme;
|
||||
gtk3.extraConfig.gtk-application-prefer-dark-theme = mkIf cfg.dark "1";
|
||||
gtk4.extraConfig.gtk-application-prefer-dark-theme = mkIf cfg.dark "1";
|
||||
# https://stopthemingmy.app/
|
||||
# https://tenor.com/view/blah-bla-gif-23055284
|
||||
gtk4.theme = cfg.gtkTheme;
|
||||
};
|
||||
|
||||
hm.qt = {
|
||||
|
|
|
|||
|
|
@ -27,10 +27,15 @@ in {
|
|||
settings = {
|
||||
"$schema" = "https://vicinae.com/schemas/config.json";
|
||||
|
||||
# i disagree with these
|
||||
telemetry.system_info = false;
|
||||
providers.core.entrypoints.sponsor.enable = false;
|
||||
|
||||
pop_to_root_on_close = true;
|
||||
|
||||
launcher_window = {
|
||||
opacity = 0.95;
|
||||
opacity = 0.8;
|
||||
|
||||
client_side_decorations.enabled = false;
|
||||
|
||||
layer_shell = {
|
||||
|
|
|
|||
|
|
@ -315,12 +315,12 @@ in {
|
|||
return-type = "json";
|
||||
};
|
||||
}
|
||||
(mkIf config.modules.desktop.swww.enable {
|
||||
(mkIf config.modules.desktop.awww.enable {
|
||||
"custom/wallpaper" = {
|
||||
format = "";
|
||||
tooltip = true;
|
||||
tooltip-format = "Change wallpaper";
|
||||
on-click = "${config.modules.desktop.swww.swapScript}";
|
||||
on-click = "${config.modules.desktop.awww.swapScript}";
|
||||
};
|
||||
})
|
||||
(mkIf config.modules.hardware.rgb.enable {
|
||||
|
|
|
|||
|
|
@ -30,7 +30,8 @@ in {
|
|||
"https://wezterm.cachix.org"
|
||||
"https://niri.cachix.org"
|
||||
"https://vicinae.cachix.org"
|
||||
"https://cache.soopy.moe"
|
||||
"https://cache.garnix.io"
|
||||
# "https://cache.soopy.moe"
|
||||
];
|
||||
trusted-public-keys = [
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
|
|
@ -38,7 +39,8 @@ in {
|
|||
"wezterm.cachix.org-1:kAbhjYUC9qvblTE+s7S+kl5XM1zVa4skO+E/1IDWdH0="
|
||||
"niri.cachix.org-1:Wv0OmO7PsuocRKzfDoJ3mulSl7Z6oezYhGhR+3W2964="
|
||||
"vicinae.cachix.org-1:1kDrfienkGHPYbkpNj1mWTr7Fm1+zcenzgTizIcI3oc="
|
||||
"cache.soopy.moe-1:0RZVsQeR+GOh0VQI9rvnHz55nVXkFardDqfm4+afjPo="
|
||||
"cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="
|
||||
# "cache.soopy.moe-1:0RZVsQeR+GOh0VQI9rvnHz55nVXkFardDqfm4+afjPo="
|
||||
];
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -38,7 +38,8 @@ in {
|
|||
|
||||
signing = {
|
||||
signByDefault = true;
|
||||
key = "DAF5EAF6665839FD";
|
||||
format = "openpgp";
|
||||
key = "DAF5EAF6665839FD"; # :tfm_derp:
|
||||
};
|
||||
|
||||
ignores = [
|
||||
|
|
|
|||
|
|
@ -6,40 +6,48 @@ let
|
|||
in {
|
||||
options.modules.software.distractions.steam = {
|
||||
enable = mkEnableOption "Enable Steam, the game distribution software";
|
||||
useGamescope = mkEnableOption "Enable Gamescope, a tool to run games in a separate X session";
|
||||
session = mkEnableOption "Enable a Steam Deck-like session powered by gamescope";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
gamescopeSession.enable = cfg.session;
|
||||
package = pkgs.steam.override {
|
||||
# required for programs to run sometimes
|
||||
# see: https://github.com/NixOS/nixpkgs/issues/162562#issuecomment-1229444338
|
||||
extraPkgs = (pkgs: (lib.optional cfg.useGamescope pkgs.gamescope) ++ (with pkgs; [
|
||||
xorg.libXcursor
|
||||
xorg.libXi
|
||||
xorg.libXinerama
|
||||
xorg.libXScrnSaver
|
||||
extraPkgs = (pkgs: with pkgs; [
|
||||
libXcursor
|
||||
libXi
|
||||
libXinerama
|
||||
libXScrnSaver
|
||||
libpng
|
||||
libpulseaudio
|
||||
libvorbis
|
||||
stdenv.cc.cc.lib
|
||||
libkrb5
|
||||
keyutils
|
||||
]));
|
||||
gperftools
|
||||
]);
|
||||
extraEnv = {
|
||||
# https://github.com/gloriouseggroll/proton-ge-custom
|
||||
PROTON_USE_WAYLAND = "1";
|
||||
PROTON_USE_WOW64 = "1";
|
||||
};
|
||||
};
|
||||
|
||||
extraCompatPackages = with pkgs; [ proton-ge-bin ];
|
||||
protontricks.enable = true;
|
||||
|
||||
# explicitly allow all the ports to open up
|
||||
localNetworkGameTransfers.openFirewall = true;
|
||||
remotePlay.openFirewall = true;
|
||||
dedicatedServer.openFirewall = true;
|
||||
};
|
||||
|
||||
programs.gamescope = {
|
||||
enable = cfg.useGamescope;
|
||||
# capSysNice = true; https://github.com/NixOS/nixpkgs/issues/351516
|
||||
};
|
||||
# enable windows NT sync primitive driver (semaphores, mutexes, etc.)
|
||||
# improves performance on wine 11+ and proton 11+
|
||||
boot.kernelModules = [ "ntsync" ];
|
||||
|
||||
user.packages = with pkgs; [ steam-run ];
|
||||
};
|
||||
|
|
|
|||
|
|
@ -39,24 +39,6 @@ in {
|
|||
sumneko.lua
|
||||
# wgsl
|
||||
wgsl-analyzer.wgsl-analyzer
|
||||
|
||||
] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
|
||||
# language specific
|
||||
# qml
|
||||
{
|
||||
name = "qt-qml";
|
||||
publisher = "TheQtCompany";
|
||||
version = "1.4.0";
|
||||
sha256 = "sha256-9C0EC4vnulg0OjGNU0SfMA2R6+OaHVCqDsipY2TAqxo=";
|
||||
}
|
||||
# libraries
|
||||
# qt core
|
||||
{
|
||||
name = "qt-core";
|
||||
publisher = "TheQtCompany";
|
||||
version = "1.4.0";
|
||||
sha256 = "sha256-QiZc6WNh4Q67beyFuiSqkG5G4zRMNmyjuZhWW7ZATO0=";
|
||||
}
|
||||
];
|
||||
|
||||
userSettings = with config.modules.desktop.fonts.fonts; {
|
||||
|
|
@ -81,12 +63,7 @@ in {
|
|||
"nix.enableLanguageServer" = true;
|
||||
"nix.serverPath" = "${lib.getExe pkgs.nil}";
|
||||
|
||||
"qt-qml.qmlls.enabled" = true;
|
||||
"qt-qml.qmlls.customExePath" = "${pkgs.qt6.qtdeclarative}/bin/qmlls";
|
||||
"qt-qml.qmlls.useQmlImportPathEnvVar" = true;
|
||||
"qt-qml.doNotAskForQmllsDownload" = true;
|
||||
|
||||
"security.workspace.trust.enabled" = "false";
|
||||
"security.workspace.trust.enabled" = false;
|
||||
|
||||
"explorer.compactFolders" = false;
|
||||
"explorer.confirmDelete" = false;
|
||||
|
|
@ -100,6 +77,8 @@ in {
|
|||
|
||||
# prevent vscode from modifying the terminal colors
|
||||
"terminal.integrated.minimumContrastRatio" = 1;
|
||||
# prevent vscode from messing up font spacing
|
||||
"terminal.integrated.letterSpacing" = 1;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
with lib;
|
||||
let
|
||||
# TODO: move this dawg
|
||||
cfg = config.modules.software.system.zswap;
|
||||
in {
|
||||
options.modules.software.system.zswap = {
|
||||
|
|
@ -13,7 +14,7 @@ in {
|
|||
"zswap.enabled=1"
|
||||
"zswap.shrinker_enabled=1" # high mem: shrink zswap, mv to swap
|
||||
"zswap.max_pool_percent=20" # TODO: tune this (keep in mind shrinker is enabled)
|
||||
"zswap.compressor=zstd" # lz4 is missing for some reason
|
||||
"zswap.compressor=zstd"
|
||||
"zswap.zpool=zsmalloc"
|
||||
];
|
||||
};
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
hm.xdg.userDirs = rec {
|
||||
enable = true;
|
||||
createDirectories = true;
|
||||
setSessionVariables = true;
|
||||
|
||||
desktop = "$HOME/desktop";
|
||||
documents = "$HOME/documents";
|
||||
|
|
@ -16,6 +17,7 @@
|
|||
videos = "$HOME/videos";
|
||||
|
||||
extraConfig = {
|
||||
recordings = "${videos}/recordings";
|
||||
screenshots = "${pictures}/screenshots";
|
||||
};
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue