Compare commits

..

4 commits

Author SHA1 Message Date
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
6 changed files with 131 additions and 132 deletions

View file

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

View file

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

View file

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

View file

@ -196,8 +196,40 @@
]; ];
opacity = 1.0; 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 = [ layer-rules = [
{
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.925;
}
{ {
matches = [ matches = [
{ {
@ -217,6 +249,10 @@
action.spawn = [ "kitty" ]; action.spawn = [ "kitty" ];
hotkey-overlay.title = "Open a Terminal: 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" = { "Mod+Space" = {
action.spawn = [ "fuzzel" ]; action.spawn = [ "fuzzel" ];
hotkey-overlay.title = "Run an Application: Noctalia app launcher"; hotkey-overlay.title = "Run an Application: Noctalia app launcher";

View file

@ -6,8 +6,6 @@
systemd.user.services.awww-daemon = { systemd.user.services.awww-daemon = {
Unit.Description = "Wallpaper service using awww (daemon)"; Unit.Description = "Wallpaper service using awww (daemon)";
Service.ExecStart = "${pkgs.awww}/bin/awww-daemon"; Service.ExecStart = "${pkgs.awww}/bin/awww-daemon";
Unit.After = [ "graphical-session.target" ];
Unit.PartOf = [ "graphical-session.target" ];
Install.WantedBy = [ "graphical-session.target" ]; Install.WantedBy = [ "graphical-session.target" ];
}; };

View file

@ -2,28 +2,16 @@
# your system. Help is available in the configuration.nix(5) man page # your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help). # and in the NixOS manual (accessible by running nixos-help).
{ {
config,
pkgs, pkgs,
... ...
}: }:
{ {
environment.sessionVariables = {
# this makes electron apps work per the wiki
NIXOS_OZONE_WL = "1";
};
boot = { boot = {
plymouth = { plymouth.enable = true;
enable = true; plymouth.logo = "${pkgs.nixos-icons}/share/icons/hicolor/64x64/apps/nix-snowflake-white.png";
logo = "${pkgs.nixos-icons}/share/icons/hicolor/64x64/apps/nix-snowflake-white.png";
};
loader = { loader = {
timeout = 3; timeout = 3;
# systemd-boot = {
# enable = true;
# consoleMode = lib.mkForce "auto";
# configurationLimit = 10;
# };
limine = { limine = {
enable = true; enable = true;
maxGenerations = 10; maxGenerations = 10;
@ -40,7 +28,6 @@
}; };
}; };
}; };
# efi.canTouchEfiVariables = true;
}; };
kernelParams = [ kernelParams = [
"quiet" "quiet"
@ -55,9 +42,93 @@
initrd.verbose = false; initrd.verbose = false;
}; };
networking.networkmanager.enable = true; programs = {
hardware.bluetooth.enable = true; gnupg.agent = {
enable = true;
enableSSHSupport = true;
pinentryPackage = pkgs.pinentry-curses;
};
niri.enable = true;
niri.package = pkgs.niri-unstable;
dconf.enable = true;
dconf.profiles.user = {
databases = [
{
# breaks user-level indirect config of dconf
# lockAll = true;
settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
clock-format = "12h";
clock-show-weekday = true;
};
"org/gnome/desktop/wm/preferences" = {
button-layout = ":";
action-double-click-titlebar = "'none'";
};
"org/gnome/desktop/media-handling" = {
automount = false;
automount-open = false;
autorun-never = true;
};
"org/gnome/settings-daemon/plugins/power" = {
sleep-inactive-ac-type = "nothing";
};
"org/gnome/mutter" = {
edge-tiling = true;
dynamic-workspaces = true;
experimental-features = [ "variable-refresh-rate" ];
};
};
}
];
};
};
# aerothemeplasma = {
# enable = true;
# plasma.enable = true;
# fonts.enable = false;
# plymouth.enable = false;
# sddm.enable = true;
# };
services = {
desktopManager.plasma6.enable = true;
displayManager = {
sddm.enable = true;
sddm.wayland.enable = true;
defaultSession = "niri";
};
gnome.gnome-keyring.enable = true;
libinput.enable = true;
printing.enable = true;
pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
udisks2.enable = true;
gvfs.enable = true;
upower.enable = true;
power-profiles-daemon.enable = true;
openssh.enable = true;
};
environment.systemPackages = with pkgs; [
git
firefoxpwa
];
security.pam.services.niri.enableGnomeKeyring = config.services.gnome.gnome-keyring.enable;
networking.firewall.enable = 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"; time.timeZone = "America/New_York";
i18n.defaultLocale = "en_US.UTF-8"; i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = { i18n.extraLocaleSettings = {
@ -72,108 +143,6 @@
LC_TIME = "en_US.UTF-8"; LC_TIME = "en_US.UTF-8";
}; };
# Enable OpenGL
hardware.graphics = {
enable = true;
};
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 = {
databases = [
{
# breaks user-level indirect config of dconf
# lockAll = true;
settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
clock-format = "12h";
clock-show-weekday = true;
};
"org/gnome/desktop/wm/preferences" = {
button-layout = ":";
action-double-click-titlebar = "'none'";
};
"org/gnome/desktop/media-handling" = {
automount = false;
automount-open = false;
autorun-never = true;
};
"org/gnome/settings-daemon/plugins/power" = {
sleep-inactive-ac-type = "nothing";
};
"org/gnome/mutter" = {
edge-tiling = true;
dynamic-workspaces = true;
experimental-features = [ "variable-refresh-rate" ];
};
};
}
];
};
# aerothemeplasma = {
# enable = true;
# plasma.enable = true;
# fonts.enable = false;
# plymouth.enable = false;
# sddm.enable = true;
# };
services = {
# displayManager = {
# gdm.enable = true;
# defaultSession = "niri";
# };
desktopManager.plasma6.enable = true;
displayManager = {
sddm.enable = true;
# defaultSession = "aerothemeplasma";
};
libinput.enable = true;
printing.enable = true;
pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
udisks2.enable = true;
gvfs.enable = true;
upower.enable = true;
power-profiles-daemon.enable = true;
};
environment = {
systemPackages = with pkgs; [
git
firefoxpwa
distrobox
];
};
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
pinentryPackage = pkgs.pinentry-curses;
};
networking.firewall.enable = false;
documentation.man = {
enable = true;
generateCaches = false;
};
services.openssh.enable = true;
# This value determines the NixOS release from which the default # This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions # settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave # on your system were taken. Its perfectly fine and recommended to leave