Compare commits
8 commits
0e5cf3249d
...
1969b09059
| Author | SHA1 | Date | |
|---|---|---|---|
|
1969b09059 |
|||
|
ff082a2dee |
|||
|
3b34bf9415 |
|||
|
702688110f |
|||
|
b3c9b8bf10 |
|||
|
30a4655a1c |
|||
|
7fbda4dee7 |
|||
|
27679c6f3c |
14 changed files with 298 additions and 194 deletions
6
flake.lock
generated
6
flake.lock
generated
|
|
@ -637,11 +637,11 @@
|
|||
"niri-blur": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1771749270,
|
||||
"narHash": "sha256-ZJCM1XOHIdud6Jfpl4jYQOzbOJId9wmXT+hNJ1IPBIY=",
|
||||
"lastModified": 1772514470,
|
||||
"narHash": "sha256-nSrfHwbjg8/Rfx5pqDqU8bL5IWh99MsvxfjNZYxqEFw=",
|
||||
"owner": "niri-wm",
|
||||
"repo": "niri",
|
||||
"rev": "734d86ec061d15d1980c5b940b2f4dc9aee80cf5",
|
||||
"rev": "c837d944f0cc08580ee86574dd0c3a68ca9379a4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
|||
|
|
@ -212,7 +212,7 @@
|
|||
./home/apps
|
||||
./home/games
|
||||
./home/hosts/${hostname}
|
||||
./home/kde
|
||||
# ./home/kde
|
||||
./home/services
|
||||
./home/terminal
|
||||
./home/tiling
|
||||
|
|
|
|||
|
|
@ -41,7 +41,6 @@
|
|||
# kde and kde theming
|
||||
kde-rounded-corners
|
||||
kdePackages.partitionmanager
|
||||
pkgs.catppuccin-cursors.mochaPeach
|
||||
adwaita-icon-theme
|
||||
morewaita-icon-theme
|
||||
|
||||
|
|
|
|||
|
|
@ -63,16 +63,6 @@
|
|||
gtk = {
|
||||
enable = true;
|
||||
|
||||
# colorScheme = if config.userOptions.isDark then "dark" else "light";
|
||||
|
||||
# theme = {
|
||||
# package = pkgs.kdePackages.breeze-gtk;
|
||||
# name =
|
||||
# if config.userOptions.isDark
|
||||
# then "Breeze-Dark"
|
||||
# else "Breeze";
|
||||
# };
|
||||
|
||||
colorScheme = "dark";
|
||||
iconTheme = {
|
||||
name = "MoreWaita";
|
||||
|
|
@ -95,4 +85,74 @@
|
|||
gtk-decoration-layout = ":";
|
||||
};
|
||||
};
|
||||
|
||||
xdg.mimeApps = {
|
||||
enable = true;
|
||||
associations.added = {
|
||||
"x-scheme-handler/http" = [ "firefox.desktop" ];
|
||||
"x-scheme-handler/https" = [ "firefox.desktop" ];
|
||||
"x-scheme-handler/discord" = [ "vesktop.desktop" ];
|
||||
"x-scheme-handler/spotify" = [ "riff.desktop" ];
|
||||
"inode/directory" = [ "org.gnome.Nautilus.desktop" ];
|
||||
"image/png" = [ "loupe.desktop" ];
|
||||
"image/jpeg" = [ "loupe.desktop" ];
|
||||
};
|
||||
defaultApplications = {
|
||||
# Web
|
||||
"x-scheme-handler/http" = [ "firefox.desktop" ];
|
||||
"x-scheme-handler/https" = [ "firefox.desktop" ];
|
||||
"text/html" = [ "firefox.desktop" ];
|
||||
|
||||
# Communication & Social
|
||||
"x-scheme-handler/discord" = [ "vesktop.desktop" ];
|
||||
"x-scheme-handler/spotify" = [ "riff.desktop" ];
|
||||
|
||||
# File Management
|
||||
"inode/directory" = [ "org.gnome.Nautilus.desktop" ];
|
||||
|
||||
# Torrents
|
||||
"application/x-bittorrent" = [ "org.qbittorrent.qBittorrent.desktop" ];
|
||||
"x-scheme-handler/magnet" = [ "org.qbittorrent.qBittorrent.desktop" ];
|
||||
|
||||
# Documents
|
||||
"application/pdf" = [ "firefox.desktop" ]; # Or libreoffice-draw.desktop
|
||||
"application/vnd.openxmlformats-officedocument.wordprocessingml.document" = [
|
||||
"libreoffice-writer.desktop"
|
||||
]; # docx
|
||||
"application/msword" = [ "libreoffice-writer.desktop" ]; # doc
|
||||
"application/vnd.oasis.opendocument.text" = [ "libreoffice-writer.desktop" ]; # odt
|
||||
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" = [
|
||||
"libreoffice-calc.desktop"
|
||||
]; # xlsx
|
||||
"application/vnd.ms-excel" = [ "libreoffice-calc.desktop" ]; # xls
|
||||
"application/vnd.oasis.opendocument.spreadsheet" = [ "libreoffice-calc.desktop" ]; # ods
|
||||
|
||||
# Text & Code
|
||||
"text/plain" = [ "nvim.desktop" ];
|
||||
"text/markdown" = [ "nvim.desktop" ];
|
||||
"application/x-shellscript" = [ "nvim.desktop" ];
|
||||
"application/json" = [ "nvim.desktop" ];
|
||||
"text/x-c" = [ "nvim.desktop" ];
|
||||
"text/x-c++" = [ "nvim.desktop" ];
|
||||
"text/x-python" = [ "nvim.desktop" ];
|
||||
"text/x-makefile" = [ "nvim.desktop" ];
|
||||
|
||||
# Terminal
|
||||
"x-scheme-handler/terminal" = [ "kitty.desktop" ];
|
||||
|
||||
# Media
|
||||
"video/mp4" = [ "mpv.desktop" ];
|
||||
"video/mkv" = [ "mpv.desktop" ];
|
||||
"video/webm" = [ "mpv.desktop" ];
|
||||
"audio/mpeg" = [ "mpv.desktop" ];
|
||||
"audio/flac" = [ "mpv.desktop" ];
|
||||
"audio/wav" = [ "mpv.desktop" ];
|
||||
|
||||
# Images
|
||||
"image/png" = [ "loupe.desktop" ];
|
||||
"image/jpeg" = [ "loupe.desktop" ];
|
||||
"image/webp" = [ "loupe.desktop" ];
|
||||
"image/gif" = [ "loupe.desktop" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -47,76 +47,69 @@
|
|||
};
|
||||
};
|
||||
|
||||
programs.swaylock = with config.scheme; {
|
||||
enable = true;
|
||||
package = pkgs.swaylock-effects;
|
||||
settings = {
|
||||
# this would sometimes load the previous day's wallpaper
|
||||
# when it is run before the bing retrieval script finishes
|
||||
image = "~/.local/share/wallpaper/daily-colored.jpg";
|
||||
effect-blur = "7x5";
|
||||
# color = "000000"; # black
|
||||
font-size = 24;
|
||||
indicator-idle-visible = true;
|
||||
indicator-radius = 100;
|
||||
show-failed-attempts = true;
|
||||
|
||||
bs-hl-color = base09 + "E6"; # peach
|
||||
caps-lock-bs-hl-color = base09 + "E6"; # peach
|
||||
caps-lock-key-hl-color = base0E + "E6"; # mauve
|
||||
inside-color = base00 + "E6"; # base
|
||||
inside-clear-color = base00 + "E6"; # base
|
||||
inside-caps-lock-color = base00 + "E6"; # base
|
||||
inside-ver-color = base00 + "E6"; # base
|
||||
inside-wrong-color = base00 + "E6"; # base
|
||||
key-hl-color = base0D + "E6"; # blue
|
||||
layout-bg-color = base00 + "E6"; # base
|
||||
layout-border-color = base00 + "E6"; # base
|
||||
layout-text-color = base05 + "E6"; # text
|
||||
line-color = base00 + "E6"; # base
|
||||
line-clear-color = base00 + "E6"; # base
|
||||
line-caps-lock-color = base00 + "E6"; # base
|
||||
line-ver-color = base00 + "E6"; # base
|
||||
line-wrong-color = base00 + "E6"; # base
|
||||
ring-color = base00 + "E6"; # base
|
||||
ring-clear-color = base09 + "E6"; # peach
|
||||
ring-caps-lock-color = base00 + "E6"; # base
|
||||
ring-ver-color = base0B + "E6"; # green
|
||||
ring-wrong-color = base00 + "E6"; # base
|
||||
separator-color = "00000000"; # transparent
|
||||
text-color = base05 + "E6"; # text
|
||||
text-clear-color = base09 + "E6"; # peach
|
||||
text-caps-lock-color = base0E + "E6"; # mauve
|
||||
text-ver-color = base05 + "E6"; # text
|
||||
text-wrong-color = base08 + "E6"; # red
|
||||
};
|
||||
};
|
||||
|
||||
systemd.user.services.swaylock = {
|
||||
Unit = {
|
||||
After = [ "niri.service" ];
|
||||
PartOf = [ "niri.service" ];
|
||||
Description = "Screen locker";
|
||||
Documentation = "https://github.com/swaywm/swaylock";
|
||||
};
|
||||
|
||||
Service = {
|
||||
ExecStart = "${config.programs.swaylock.package}/bin/swaylock";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
|
||||
Install.WantedBy = [ "niri.service" ];
|
||||
};
|
||||
|
||||
xsession = {
|
||||
enable = true;
|
||||
windowManager.command = "niri";
|
||||
};
|
||||
|
||||
xdg.mimeApps = {
|
||||
enable = true;
|
||||
associations.added = {
|
||||
"x-scheme-handler/http" = [ "firefox.desktop" ];
|
||||
"x-scheme-handler/https" = [ "firefox.desktop" ];
|
||||
"x-scheme-handler/discord" = [ "vesktop.desktop" ];
|
||||
"x-scheme-handler/spotify" = [ "riff.desktop" ];
|
||||
"inode/directory" = [ "org.gnome.Nautilus.desktop" ];
|
||||
"image/png" = [ "loupe.desktop" ];
|
||||
"image/jpeg" = [ "loupe.desktop" ];
|
||||
};
|
||||
defaultApplications = {
|
||||
# Web
|
||||
"x-scheme-handler/http" = [ "firefox.desktop" ];
|
||||
"x-scheme-handler/https" = [ "firefox.desktop" ];
|
||||
"text/html" = [ "firefox.desktop" ];
|
||||
|
||||
# Communication & Social
|
||||
"x-scheme-handler/discord" = [ "vesktop.desktop" ];
|
||||
"x-scheme-handler/spotify" = [ "riff.desktop" ];
|
||||
|
||||
# File Management
|
||||
"inode/directory" = [ "org.gnome.Nautilus.desktop" ];
|
||||
|
||||
# Torrents
|
||||
"application/x-bittorrent" = [ "org.qbittorrent.qBittorrent.desktop" ];
|
||||
"x-scheme-handler/magnet" = [ "org.qbittorrent.qBittorrent.desktop" ];
|
||||
|
||||
# Documents
|
||||
"application/pdf" = [ "firefox.desktop" ]; # Or libreoffice-draw.desktop
|
||||
"application/vnd.openxmlformats-officedocument.wordprocessingml.document" = [
|
||||
"libreoffice-writer.desktop"
|
||||
]; # docx
|
||||
"application/msword" = [ "libreoffice-writer.desktop" ]; # doc
|
||||
"application/vnd.oasis.opendocument.text" = [ "libreoffice-writer.desktop" ]; # odt
|
||||
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" = [
|
||||
"libreoffice-calc.desktop"
|
||||
]; # xlsx
|
||||
"application/vnd.ms-excel" = [ "libreoffice-calc.desktop" ]; # xls
|
||||
"application/vnd.oasis.opendocument.spreadsheet" = [ "libreoffice-calc.desktop" ]; # ods
|
||||
|
||||
# Text & Code
|
||||
"text/plain" = [ "nvim.desktop" ];
|
||||
"text/markdown" = [ "nvim.desktop" ];
|
||||
"application/x-shellscript" = [ "nvim.desktop" ];
|
||||
"application/json" = [ "nvim.desktop" ];
|
||||
"text/x-c" = [ "nvim.desktop" ];
|
||||
"text/x-c++" = [ "nvim.desktop" ];
|
||||
"text/x-python" = [ "nvim.desktop" ];
|
||||
"text/x-makefile" = [ "nvim.desktop" ];
|
||||
|
||||
# Media
|
||||
"video/mp4" = [ "mpv.desktop" ];
|
||||
"video/mkv" = [ "mpv.desktop" ];
|
||||
"video/webm" = [ "mpv.desktop" ];
|
||||
"audio/mpeg" = [ "mpv.desktop" ];
|
||||
"audio/flac" = [ "mpv.desktop" ];
|
||||
"audio/wav" = [ "mpv.desktop" ];
|
||||
|
||||
# Images
|
||||
"image/png" = [ "loupe.desktop" ];
|
||||
"image/jpeg" = [ "loupe.desktop" ];
|
||||
"image/webp" = [ "loupe.desktop" ];
|
||||
"image/gif" = [ "loupe.desktop" ];
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -121,7 +121,7 @@
|
|||
clip-to-geometry = true;
|
||||
opacity = 0.90;
|
||||
background-effect = {
|
||||
xray = false;
|
||||
xray = true;
|
||||
blur = true;
|
||||
noise = 0.05;
|
||||
saturation = 1;
|
||||
|
|
@ -204,7 +204,7 @@
|
|||
matches = [ { namespace = "^launcher$"; } ];
|
||||
opacity = 0.90;
|
||||
background-effect = {
|
||||
xray = false;
|
||||
xray = true;
|
||||
blur = true;
|
||||
noise = 0.05;
|
||||
saturation = 1;
|
||||
|
|
@ -409,6 +409,7 @@
|
|||
"XF86Sleep".action.power-off-monitors = { };
|
||||
|
||||
"XF86Search".action.spawn = [ "fuzzel" ];
|
||||
"Mod+Shift+L".action.spawn = [ "swaylock" ];
|
||||
|
||||
"XF86LaunchA" = {
|
||||
action.toggle-overview = { };
|
||||
|
|
@ -429,10 +430,6 @@
|
|||
"Mod+Down".action.focus-window-down = { };
|
||||
"Mod+Up".action.focus-window-up = { };
|
||||
"Mod+Right".action.focus-column-right = { };
|
||||
"Mod+H".action.focus-column-left = { };
|
||||
"Mod+J".action.focus-window-down = { };
|
||||
"Mod+K".action.focus-window-up = { };
|
||||
"Mod+L".action.focus-column-right = { };
|
||||
|
||||
"Mod+Ctrl+Left".action.move-column-left = { };
|
||||
"Mod+Ctrl+Down".action.move-window-down = { };
|
||||
|
|
@ -452,10 +449,6 @@
|
|||
"Mod+Shift+Down".action.focus-monitor-down = { };
|
||||
"Mod+Shift+Up".action.focus-monitor-up = { };
|
||||
"Mod+Shift+Right".action.focus-monitor-right = { };
|
||||
"Mod+Shift+H".action.focus-monitor-left = { };
|
||||
"Mod+Shift+J".action.focus-monitor-down = { };
|
||||
"Mod+Shift+K".action.focus-monitor-up = { };
|
||||
"Mod+Shift+L".action.focus-monitor-right = { };
|
||||
|
||||
"Mod+Shift+Ctrl+Left".action.move-column-to-monitor-left = { };
|
||||
"Mod+Shift+Ctrl+Down".action.move-column-to-monitor-down = { };
|
||||
|
|
|
|||
|
|
@ -203,7 +203,7 @@
|
|||
unreadBadgeColor = "primary";
|
||||
}
|
||||
{
|
||||
deviceNativePath = "__default__";
|
||||
deviceNativePath = "";
|
||||
displayMode = "icon-hover";
|
||||
hideIfIdle = false;
|
||||
hideIfNotDetected = true;
|
||||
|
|
|
|||
70
options.nix
70
options.nix
|
|
@ -16,22 +16,6 @@
|
|||
default = "base09";
|
||||
};
|
||||
};
|
||||
# catppuccinUpper = {
|
||||
# accent = lib.mkOption {
|
||||
# type = lib.types.str;
|
||||
# readOnly = true;
|
||||
# default =
|
||||
# builtins.substring 0 1 (lib.toUpper config.catppuccin.accent)
|
||||
# + builtins.substring 1 (-1) config.catppuccin.accent;
|
||||
# };
|
||||
# flavor = lib.mkOption {
|
||||
# type = lib.types.str;
|
||||
# readOnly = true;
|
||||
# default =
|
||||
# builtins.substring 0 1 (lib.toUpper config.catppuccin.flavor)
|
||||
# + builtins.substring 1 (-1) config.catppuccin.flavor;
|
||||
# };
|
||||
# };
|
||||
userOptions = {
|
||||
name = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
|
|
@ -116,32 +100,36 @@
|
|||
default = pkgs.noto-fonts-color-emoji;
|
||||
};
|
||||
};
|
||||
cursor =
|
||||
let
|
||||
attrName = "mocha" + "Peach";
|
||||
in
|
||||
{
|
||||
name = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
readOnly = true;
|
||||
default = "catppuccin-mocha-peach-cursors";
|
||||
};
|
||||
package = lib.mkOption {
|
||||
type = lib.types.package;
|
||||
readOnly = true;
|
||||
default = pkgs.catppuccin-cursors.${attrName};
|
||||
};
|
||||
size = lib.mkOption {
|
||||
type = lib.types.int;
|
||||
readOnly = true;
|
||||
default = 24;
|
||||
};
|
||||
path = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
readOnly = true;
|
||||
default = "${pkgs.catppuccin-cursors.${attrName}}/share/icons";
|
||||
};
|
||||
cursor = {
|
||||
name = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
readOnly = true;
|
||||
default = config.colors.scheme;
|
||||
};
|
||||
package = lib.mkOption {
|
||||
type = lib.types.package;
|
||||
readOnly = true;
|
||||
default =
|
||||
with config.scheme;
|
||||
(pkgs.bibata-cursor.override {
|
||||
themeName = config.colors.scheme;
|
||||
baseColor = withHashtag.${config.colors.accent};
|
||||
outlineColor = withHashtag.base00;
|
||||
watchBackgroundColor = withHashtag.base11;
|
||||
cursorSizes = "16 20 22 24 28 32 40 48 56 64 72 80 88 96";
|
||||
});
|
||||
};
|
||||
size = lib.mkOption {
|
||||
type = lib.types.int;
|
||||
readOnly = true;
|
||||
default = 24;
|
||||
};
|
||||
path = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
readOnly = true;
|
||||
default = "${config.userOptions.cursor.package}/share/icons/${config.colors.scheme}";
|
||||
};
|
||||
};
|
||||
# isDark = lib.mkOption {
|
||||
# type = lib.types.bool;
|
||||
# readOnly = true;
|
||||
|
|
|
|||
103
packages/bibata-cursor/default.nix
Normal file
103
packages/bibata-cursor/default.nix
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
{
|
||||
pkgs ? import <nixpkgs> { },
|
||||
themeName ? "bibata",
|
||||
baseColor ? "#000000",
|
||||
outlineColor ? "#FFFFFF",
|
||||
watchBackgroundColor ? "",
|
||||
cursorSizes ? "24",
|
||||
}:
|
||||
|
||||
let
|
||||
version = "2.0.7";
|
||||
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "ful1e5";
|
||||
repo = "Bibata_Cursor";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-kIKidw1vditpuxO1gVuZeUPdWBzkiksO/q2R/+DUdEc=";
|
||||
};
|
||||
|
||||
yarnOfflineCache = pkgs.fetchYarnDeps {
|
||||
yarnLock = "${src}/yarn.lock";
|
||||
hash = "sha256-EpWIGoFFokmzRML2r/dCM+TImOCtii8mifLgnLKdUMY=";
|
||||
};
|
||||
|
||||
in
|
||||
pkgs.stdenv.mkDerivation {
|
||||
pname = "bibata-${themeName}-cursor";
|
||||
inherit version src;
|
||||
|
||||
nativeBuildInputs = with pkgs; [
|
||||
yarn
|
||||
nodejs
|
||||
fixup-yarn-lock
|
||||
python3Packages.clickgen
|
||||
autoPatchelfHook
|
||||
];
|
||||
|
||||
buildInputs = with pkgs; [
|
||||
# Required to satisfy dynamic linking for prebuilt JS native modules (like resvg-js)
|
||||
stdenv.cc.cc.lib
|
||||
];
|
||||
|
||||
configurePhase = ''
|
||||
runHook preConfigure
|
||||
|
||||
export HOME=$(mktemp -d)
|
||||
|
||||
echo "1. Setup offline yarn cache"
|
||||
yarn config --offline set yarn-offline-mirror ${yarnOfflineCache}
|
||||
fixup-yarn-lock yarn.lock
|
||||
|
||||
echo "2. Install node_modules offline"
|
||||
yarn install --offline --frozen-lockfile --ignore-scripts --no-progress --non-interactive
|
||||
patchShebangs node_modules/
|
||||
|
||||
rm -rf node_modules/@resvg/resvg-js-linux-*-musl
|
||||
|
||||
echo "3. Patch prebuilt node binaries (like resvg) so they can run in the Nix sandbox"
|
||||
autoPatchelf node_modules/
|
||||
|
||||
# https://github.com/ful1e5/cbmp/issues/4
|
||||
echo "4. Patch 'ora' library to prevent Nix sandbox hangs"
|
||||
sed -i 's/this.#isEnabled = .*/this.#isEnabled = false;/g' node_modules/ora/index.js
|
||||
|
||||
runHook postConfigure
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
echo "Splitting SVGs to render across $NIX_BUILD_CORES cores..."
|
||||
|
||||
echo "1. Distribute SVGs evenly into chunk directories"
|
||||
if [ -n "${watchBackgroundColor}" ]; then
|
||||
./node_modules/.bin/cbmp -d "svg" -o "bitmaps/${themeName}" -bc "${baseColor}" -oc "${outlineColor}" -wc "${watchBackgroundColor}"
|
||||
else
|
||||
./node_modules/.bin/cbmp -d "svg" -o "bitmaps/${themeName}" -bc "${baseColor}" -oc "${outlineColor}"
|
||||
fi
|
||||
|
||||
echo "Rendering complete. Building XCursor theme..."
|
||||
|
||||
echo "4. Build the final cursors"
|
||||
ctgen configs/right/x.build.toml -s ${cursorSizes} -p x11 -d "bitmaps/${themeName}" -n "${themeName}" -c "${themeName} cursors"
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/share/icons
|
||||
cp -r themes/${themeName} $out/share/icons/
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with pkgs.lib; {
|
||||
description = "Custom colored Bibata Cursor theme built from source";
|
||||
homepage = "https://github.com/ful1e5/Bibata_Cursor";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
final: prev: {
|
||||
spotify-webapp = final.callPackage ./spotify-webapp { };
|
||||
bibata-cursor = final.callPackage ./bibata-cursor { };
|
||||
|
||||
openmw-unstable = prev.openmw.overrideAttrs (oldAttrs: {
|
||||
pname = "openmw";
|
||||
|
|
|
|||
|
|
@ -49,6 +49,10 @@
|
|||
};
|
||||
|
||||
programs = {
|
||||
gamescope = {
|
||||
enable = true;
|
||||
capSysNice = false;
|
||||
};
|
||||
gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
|
|
@ -98,11 +102,12 @@
|
|||
};
|
||||
|
||||
services = {
|
||||
desktopManager.plasma6.enable = true;
|
||||
displayManager = {
|
||||
autoLogin.enable = true;
|
||||
autoLogin.user = "sckova";
|
||||
defaultSession = "niri";
|
||||
sddm.enable = true;
|
||||
sddm.wayland.enable = true;
|
||||
defaultSession = "niri";
|
||||
};
|
||||
gnome.gnome-keyring.enable = true;
|
||||
libinput.enable = true;
|
||||
|
|
@ -132,8 +137,19 @@
|
|||
})
|
||||
];
|
||||
|
||||
security.pam.services.niri.enableGnomeKeyring = config.services.gnome.gnome-keyring.enable;
|
||||
security.polkit.enable = true;
|
||||
security = {
|
||||
pam.services = {
|
||||
niri.enableGnomeKeyring = config.services.gnome.gnome-keyring.enable;
|
||||
swaylock = {
|
||||
name = "swaylock";
|
||||
enableGnomeKeyring = config.services.gnome.gnome-keyring.enable;
|
||||
gnupg.enable = true;
|
||||
gnupg.noAutostart = true;
|
||||
};
|
||||
};
|
||||
sudo.wheelNeedsPassword = false;
|
||||
polkit.enable = true;
|
||||
};
|
||||
networking.firewall.enable = false;
|
||||
networking.networkmanager.enable = true;
|
||||
documentation.man.enable = true;
|
||||
|
|
|
|||
|
|
@ -36,10 +36,6 @@
|
|||
boot.loader.limine.maxGenerations = lib.mkForce 100;
|
||||
|
||||
programs = {
|
||||
gamescope = {
|
||||
enable = true;
|
||||
capSysNice = false;
|
||||
};
|
||||
steam = {
|
||||
enable = true;
|
||||
gamescopeSession.enable = true;
|
||||
|
|
@ -65,21 +61,6 @@
|
|||
"nvidia"
|
||||
];
|
||||
|
||||
services.displayManager = {
|
||||
autoLogin = {
|
||||
enable = false;
|
||||
user = "sckova";
|
||||
};
|
||||
};
|
||||
|
||||
environment = {
|
||||
loginShellInit = ''
|
||||
[[ "$(tty)" = "/dev/tty1" ]] && ./gs.sh
|
||||
'';
|
||||
};
|
||||
|
||||
security.sudo.wheelNeedsPassword = false;
|
||||
|
||||
hardware.nvidia = {
|
||||
modesetting.enable = true;
|
||||
powerManagement.enable = false;
|
||||
|
|
@ -87,13 +68,6 @@
|
|||
open = false;
|
||||
};
|
||||
|
||||
services.sunshine = {
|
||||
enable = true;
|
||||
autoStart = true;
|
||||
capSysAdmin = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
|
||||
# virtualization settings
|
||||
|
||||
virtualisation = {
|
||||
|
|
|
|||
|
|
@ -1,27 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
set -xeuo pipefail
|
||||
|
||||
gamescopeArgs=(
|
||||
--adaptive-sync # VRR support
|
||||
--hdr-enabled
|
||||
--mangoapp # performance overlay
|
||||
--rt
|
||||
--steam
|
||||
)
|
||||
steamArgs=(
|
||||
-pipewire-dmabuf
|
||||
-tenfoot
|
||||
)
|
||||
mangoConfig=(
|
||||
cpu_temp
|
||||
gpu_temp
|
||||
ram
|
||||
vram
|
||||
)
|
||||
mangoVars=(
|
||||
MANGOHUD=1
|
||||
MANGOHUD_CONFIG="$(IFS=,; echo "${mangoConfig[*]}")"
|
||||
)
|
||||
|
||||
export "${mangoVars[@]}"
|
||||
exec gamescope "${gamescopeArgs[@]}" -- steam "${steamArgs[@]}"
|
||||
|
|
@ -26,6 +26,12 @@ in
|
|||
}
|
||||
];
|
||||
|
||||
services.logind.settings.Login = {
|
||||
HandleSuspendKey = "ignore";
|
||||
HandlePowerKey = "lock";
|
||||
HandleLidSwitch = "lock";
|
||||
};
|
||||
|
||||
virtualisation.docker = {
|
||||
enable = true;
|
||||
# Use the rootless mode - run Docker daemon as non-root user
|
||||
|
|
@ -52,6 +58,4 @@ in
|
|||
'';
|
||||
};
|
||||
};
|
||||
|
||||
security.sudo.wheelNeedsPassword = false;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue