huge
This commit is contained in:
@@ -6,11 +6,6 @@
|
||||
./pipewire.nix
|
||||
];
|
||||
fonts.fontDir.enable = true;
|
||||
security = {
|
||||
pam = {
|
||||
services.greetd.enableGnomeKeyring = config.services.greetd.enable && config.services.gnome.gnome-keyring.enable;
|
||||
};
|
||||
};
|
||||
services.udisks2.enable = true;
|
||||
programs.dconf.enable = true;
|
||||
}
|
||||
|
||||
@@ -5,21 +5,16 @@
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
cfg = config.module.desktop.gnome-keyring;
|
||||
cfg = config.module.gnome-keyring;
|
||||
in {
|
||||
options = {
|
||||
module.desktop.gnome-keyring.enable = mkEnableOption "enable gnome keyring";
|
||||
module.gnome-keyring.enable = mkEnableOption "enable gnome keyring";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
gcr_4
|
||||
libsecret
|
||||
];
|
||||
environment.systemPackages = with pkgs; [gcr_4 libsecret];
|
||||
programs.seahorse.enable = true;
|
||||
services.gnome.gnome-keyring.enable = true;
|
||||
xdg.portal.config.common = {
|
||||
"org.freedesktop.impl.portal.Secret" = ["gnome-keyring"];
|
||||
};
|
||||
xdg.portal.config.common."org.freedesktop.impl.portal.Secret" = ["gnome-keyring"];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -31,6 +31,7 @@ in {
|
||||
};
|
||||
})
|
||||
(mkIf (cfg.displayManager == "greetd") {
|
||||
security.pam.services.greetd.enableGnomeKeyring = config.services.greetd.enable && config.services.gnome.gnome-keyring.enable;
|
||||
programs.regreet.enable = true;
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
|
||||
@@ -5,57 +5,60 @@
|
||||
}: let
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
|
||||
cfg = config.sound.pipewire;
|
||||
cfg = config.module.pipewire;
|
||||
in {
|
||||
options = {
|
||||
sound.pipewire.enable = mkEnableOption "enable pipewire";
|
||||
module.pipewire.enable = mkEnableOption "enable pipewire";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
security.rtkit.enable = true;
|
||||
security.rtkit = {
|
||||
enable = true;
|
||||
args = ["--no-canary"];
|
||||
};
|
||||
services.pulseaudio.enable = false;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
pulse.enable = true;
|
||||
|
||||
extraConfig = {
|
||||
pipewire = {
|
||||
"92-low-latency" = {
|
||||
"context.properties" = {
|
||||
"default.clock.rate" = 48000;
|
||||
"default.clock.allowed-rates" = [
|
||||
44100
|
||||
48000
|
||||
88200
|
||||
96000
|
||||
];
|
||||
|
||||
"default.clock.min-quantum" = 512;
|
||||
"default.clock.quantum" = 4096;
|
||||
"default.clock.max-quantum" = 8192;
|
||||
};
|
||||
};
|
||||
|
||||
"93-no-resampling" = {
|
||||
"context.properties" = {
|
||||
"default.clock.rate" = 48000;
|
||||
"default.clock.allowed-rates" = [
|
||||
44100
|
||||
48000
|
||||
96000
|
||||
192000
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
"94-no-upmixing" = {
|
||||
"stream.properties" = {
|
||||
"channelmix.upmix" = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
# extraConfig.pipewire."92-low-latency" = {
|
||||
# "context.properties" = {
|
||||
# "default.clock.rate" = 48000;
|
||||
# "default.clock.quantum" = 32;
|
||||
# "default.clock.min-quantum" = 32;
|
||||
# "default.clock.max-quantum" = 32;
|
||||
# };
|
||||
# };
|
||||
wireplumber.extraConfig."10-alsa-vm" = {
|
||||
"api.alsa.period-size" = 1024 / 2; # seems to fix random crackling
|
||||
};
|
||||
extraConfig.pipewire-pulse."93-auto-connect" = {
|
||||
"pulse.cmd" = [
|
||||
{
|
||||
cmd = "load-module";
|
||||
args = "module-switch-on-connect";
|
||||
}
|
||||
];
|
||||
};
|
||||
# extraConfig.pipewire-pulse."92-low-latency" = {
|
||||
# "context.properties" = [
|
||||
# {
|
||||
# name = "libpipewire-module-protocol-pulse";
|
||||
# args = {};
|
||||
# }
|
||||
# ];
|
||||
# "pulse.properties" = {
|
||||
# "pulse.min.req" = "32/48000";
|
||||
# "pulse.default.req" = "32/48000";
|
||||
# "pulse.max.req" = "32/48000";
|
||||
# "pulse.min.quantum" = "32/48000";
|
||||
# "pulse.max.quantum" = "32/48000";
|
||||
# };
|
||||
# "stream.properties" = {
|
||||
# "node.latency" = "32/48000";
|
||||
# "resample.quality" = 1;
|
||||
# };
|
||||
# };
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ in {
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
module.desktop.displayManager = "cosmic";
|
||||
sound.pipewire.enable = true;
|
||||
module.pipewire.enable = true;
|
||||
|
||||
environment.sessionVariables.COSMIC_DATA_CONTROL_ENABLED = 1;
|
||||
services.desktopManager.cosmic.enable = true;
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
./cosmic
|
||||
./dms
|
||||
./gnome
|
||||
./hyprland
|
||||
./niri
|
||||
./plasma
|
||||
# ./hyprland
|
||||
# ./niri
|
||||
# ./plasma
|
||||
];
|
||||
}
|
||||
|
||||
@@ -23,26 +23,25 @@ in {
|
||||
enable = true;
|
||||
extraPortals = with pkgs; [xdg-desktop-portal-gnome xdg-desktop-portal-gtk];
|
||||
config.niri.default = ["gnome" "gtk"];
|
||||
config.common."org.freedesktop.impl.portal.Secret" = ["gnome-keyring"];
|
||||
};
|
||||
|
||||
module.desktop.gnome-keyring.enable = true;
|
||||
sound.pipewire.enable = true;
|
||||
module.gnome-keyring.enable = true;
|
||||
module.pipewire.enable = true;
|
||||
|
||||
services.gvfs.enable = true;
|
||||
|
||||
programs.niri = {
|
||||
enable = true;
|
||||
package = perSystem.niri-flake.niri-unstable;
|
||||
};
|
||||
|
||||
systemd.user.services.niri-flake-polkit.enable = false;
|
||||
|
||||
programs.dankMaterialShell = {
|
||||
enable = true;
|
||||
greeter = {
|
||||
programs = {
|
||||
niri.enable = true;
|
||||
niri.package = perSystem.niri-flake.niri-unstable;
|
||||
dankMaterialShell = {
|
||||
enable = true;
|
||||
configHome = "/home/user";
|
||||
compositor.name = "niri";
|
||||
greeter = {
|
||||
enable = true;
|
||||
configHome = "/home/user";
|
||||
compositor.name = "niri";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -14,7 +14,7 @@ in {
|
||||
config = lib.mkMerge [
|
||||
(mkIf cfg.enable {
|
||||
module.desktop.displayManager = "gdm";
|
||||
sound.pipewire.enable = true;
|
||||
module.pipewire.enable = true;
|
||||
services.desktopManager.gnome.enable = true;
|
||||
environment.gnome.excludePackages = with pkgs; [
|
||||
orca
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption getExe;
|
||||
cfg = config.desktop.niri;
|
||||
cfg = config.desktop.jay;
|
||||
in {
|
||||
options = {
|
||||
desktop.niri.enable =
|
||||
|
||||
@@ -15,11 +15,9 @@ in {
|
||||
};
|
||||
config = lib.mkMerge [
|
||||
(mkIf cfg.enable {
|
||||
module.desktop = {
|
||||
displayManager = "greetd";
|
||||
gnome-keyring.enable = true;
|
||||
};
|
||||
sound.pipewire.enable = true;
|
||||
module.desktop.displayManager = "greetd";
|
||||
module.gnome-keyring.enable = true;
|
||||
module.pipewire.enable = true;
|
||||
|
||||
# nixpkgs.overlays = [inputs.niri.overlays.default];
|
||||
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
boot.tmp.cleanOnBoot = lib.mkDefault true;
|
||||
|
||||
console.font = "${pkgs.spleen}/share/consolefonts/spleen-16x32.psfu";
|
||||
|
||||
environment = {
|
||||
ldso32 = null;
|
||||
# memoryAllocator.provider = "mimalloc"; # weird memory consumption stuff
|
||||
variables = {
|
||||
LESS = "-R --mouse";
|
||||
};
|
||||
};
|
||||
|
||||
networking.networkmanager.enable = true;
|
||||
|
||||
services.openssh.settings = {
|
||||
X11Forwarding = false;
|
||||
KbdInteractiveAuthentication = false;
|
||||
PasswordAuthentication = false;
|
||||
UseDns = false;
|
||||
# unbind gnupg sockets if they exists
|
||||
StreamLocalBindUnlink = true;
|
||||
|
||||
# Use key exchange algorithms recommended by `nixpkgs#ssh-audit`
|
||||
KexAlgorithms = [
|
||||
"curve25519-sha256"
|
||||
"curve25519-sha256@libssh.org"
|
||||
"diffie-hellman-group16-sha512"
|
||||
"diffie-hellman-group18-sha512"
|
||||
"sntrup761x25519-sha512@openssh.com"
|
||||
];
|
||||
};
|
||||
|
||||
services.journald.extraConfig = ''
|
||||
SystemMaxUse=1G
|
||||
'';
|
||||
systemd.coredump.extraConfig = ''
|
||||
Storage=none
|
||||
ProcessSizeMax=0
|
||||
'';
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
{
|
||||
imports = [
|
||||
./common.nix
|
||||
./misc
|
||||
./stylix
|
||||
./virt
|
||||
];
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
imports = [
|
||||
./opentabletdriver.nix
|
||||
./qmk-vial.nix
|
||||
];
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
in {
|
||||
options = {
|
||||
module.misc.opentabletdriver.enable =
|
||||
mkEnableOption "enables opentabletdriver";
|
||||
};
|
||||
config = mkIf config.module.misc.opentabletdriver.enable {
|
||||
hardware.opentabletdriver = {
|
||||
enable = true;
|
||||
daemon.enable = true;
|
||||
blacklistedKernelModules = [
|
||||
"hid-uclogic"
|
||||
"wacom"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
in {
|
||||
options = {
|
||||
module.misc.qmk-vial.enable =
|
||||
mkEnableOption "adds a udev rule for vial keyboards";
|
||||
};
|
||||
config = mkIf config.module.misc.qmk-vial.enable {
|
||||
services.udev.extraRules = ''
|
||||
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl"
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -1,382 +0,0 @@
|
||||
{
|
||||
config,
|
||||
inputs,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkEnableOption mkOption mkIf;
|
||||
inherit (lib) optionalAttrs;
|
||||
inherit (lib.types) bool str;
|
||||
|
||||
cfg = config.module.stylix;
|
||||
|
||||
fromBase16Schemes = f: "${pkgs.base16-schemes}/share/themes/${f}.yaml";
|
||||
|
||||
interPackage = pkgs.inter;
|
||||
iosevkaPackage = pkgs.nerd-fonts.iosevka;
|
||||
iosevkaTermPackage = pkgs.nerd-fonts.iosevka-term;
|
||||
mesloLgPackage = pkgs.nerd-fonts.meslo-lg;
|
||||
# jetBrainsMonoPackage = pkgs.nerd-fonts.jetbrains-mono;
|
||||
geistMonoPackage = pkgs.nerd-fonts.geist-mono;
|
||||
geistPackage = pkgs.geist-font;
|
||||
|
||||
wallpapers = import ./wallpapers.nix;
|
||||
|
||||
interIosevka = {
|
||||
serif = {
|
||||
package = interPackage;
|
||||
name = "Inter";
|
||||
};
|
||||
|
||||
monospace = {
|
||||
package = iosevkaTermPackage;
|
||||
name = "IosevkaTerm Nerd Font Mono";
|
||||
};
|
||||
};
|
||||
|
||||
themes = {
|
||||
dark = {
|
||||
ashes = {
|
||||
polarity = "dark";
|
||||
base16Scheme = fromBase16Schemes "classic-dark";
|
||||
image = wallpapers.abstract.lambda;
|
||||
|
||||
inherit (interIosevka) serif monospace;
|
||||
|
||||
cursor = {
|
||||
package = pkgs.bibata-cursors;
|
||||
name = "Bibata-Modern-Classic";
|
||||
size = 24;
|
||||
};
|
||||
};
|
||||
rose-pine-moon = {
|
||||
polarity = "dark";
|
||||
base16Scheme = fromBase16Schemes "rose-pine-moon";
|
||||
image = wallpapers.cyber-dawn;
|
||||
|
||||
inherit (interIosevka) serif monospace;
|
||||
|
||||
cursor = {
|
||||
package = pkgs.nordzy-cursor-theme;
|
||||
name = "Nordzy-cursors";
|
||||
size = 24;
|
||||
};
|
||||
};
|
||||
rose-pine = {
|
||||
polarity = "dark";
|
||||
base16Scheme = fromBase16Schemes "rose-pine";
|
||||
image = wallpapers.cyber-dawn;
|
||||
|
||||
inherit (interIosevka) serif monospace;
|
||||
|
||||
cursor = {
|
||||
package = pkgs.bibata-cursors;
|
||||
name = "Bibata-Modern-Classic";
|
||||
size = 24;
|
||||
};
|
||||
};
|
||||
kanagawa = {
|
||||
polarity = "dark";
|
||||
base16Scheme = fromBase16Schemes "kanagawa";
|
||||
image = wallpapers.cyber-dawn;
|
||||
|
||||
inherit (interIosevka) serif monospace;
|
||||
|
||||
cursor = {
|
||||
package = pkgs.bibata-cursors;
|
||||
name = "Bibata-Modern-Classic";
|
||||
size = 24;
|
||||
};
|
||||
};
|
||||
sandcastle = {
|
||||
polarity = "dark";
|
||||
base16Scheme = fromBase16Schemes "sandcastle";
|
||||
image = wallpapers.abstract.waves;
|
||||
|
||||
serif = {
|
||||
package = geistPackage;
|
||||
name = "Geist";
|
||||
};
|
||||
|
||||
monospace = {
|
||||
package = geistMonoPackage;
|
||||
name = "GeistMono NFM";
|
||||
};
|
||||
|
||||
cursor = {
|
||||
package = pkgs.bibata-cursors;
|
||||
name = "Bibata-Modern-Classic";
|
||||
size = 24;
|
||||
};
|
||||
};
|
||||
gruvbox-dark-pale = {
|
||||
polarity = "dark";
|
||||
base16Scheme = fromBase16Schemes "gruvbox-dark-pale";
|
||||
image = wallpapers.mountains-sepia;
|
||||
|
||||
serif = {
|
||||
package = geistPackage;
|
||||
name = "Geist";
|
||||
};
|
||||
|
||||
monospace = {
|
||||
package = geistMonoPackage;
|
||||
name = "GeistMono Nerd Font";
|
||||
};
|
||||
|
||||
cursor = {
|
||||
package = pkgs.bibata-cursors;
|
||||
name = "Bibata-Modern-Classic";
|
||||
size = 24;
|
||||
};
|
||||
};
|
||||
nord = {
|
||||
polarity = "dark";
|
||||
base16Scheme = fromBase16Schemes "nord";
|
||||
image = builtins.fetchurl {
|
||||
url = "https://w.wallhaven.cc/full/l8/wallhaven-l8l9gq.png";
|
||||
name = "wallhaven-l8l9gq.png";
|
||||
sha256 = "0ypr44sg0fn55m1b52dgr1nnscpi2p6rfkjsm7vvrdqw7bafbx2z";
|
||||
};
|
||||
|
||||
inherit (interIosevka) serif monospace;
|
||||
|
||||
cursor = {
|
||||
package = pkgs.nordzy-cursor-theme;
|
||||
name = "Nordzy-cursors";
|
||||
size = 32;
|
||||
};
|
||||
};
|
||||
|
||||
helios = {
|
||||
polarity = "dark";
|
||||
base16Scheme = fromBase16Schemes "helios";
|
||||
image = builtins.fetchurl {
|
||||
url = "https://w.wallhaven.cc/full/lq/wallhaven-lqorw2.png";
|
||||
name = "wallhaven-lqorw2.png";
|
||||
sha256 = "sha256:1rjchjq4pc2jyq8dvpa17mmscv9qcm0h0zv468lsf8s51anpid6p";
|
||||
};
|
||||
|
||||
inherit (interIosevka) serif monospace;
|
||||
|
||||
cursor = {
|
||||
package = pkgs.bibata-cursors;
|
||||
name = "Bibata-Modern-Classic";
|
||||
size = 24;
|
||||
};
|
||||
};
|
||||
|
||||
sulphurpool = {
|
||||
polarity = "dark";
|
||||
base16Scheme = fromBase16Schemes "atelier-sulphurpool";
|
||||
image = builtins.fetchurl {
|
||||
url = "https://w.wallhaven.cc/full/rd/wallhaven-rd5q3m.jpg";
|
||||
name = "wallhaven-rd5q3m.jpg";
|
||||
sha256 = "sha256:1sa2739vwwv1xafzjvxlg3kvq26xmcxg6hrwq29q40j617r63sy6";
|
||||
};
|
||||
|
||||
serif = {
|
||||
package = interPackage;
|
||||
name = "Inter Nerd Font";
|
||||
};
|
||||
|
||||
monospace = {
|
||||
package = iosevkaTermPackage;
|
||||
name = "IosevkaTerm Nerd Font Mono";
|
||||
};
|
||||
|
||||
cursor = {
|
||||
package = pkgs.bibata-cursors;
|
||||
name = "Bibata-Modern-Classic";
|
||||
size = 24;
|
||||
};
|
||||
};
|
||||
vesper = {
|
||||
polarity = "dark";
|
||||
base16Scheme = fromBase16Schemes "vesper";
|
||||
image = wallpapers.abstract.squares;
|
||||
|
||||
serif = {
|
||||
package = geistPackage;
|
||||
name = "Geist";
|
||||
};
|
||||
|
||||
monospace = {
|
||||
package = geistMonoPackage;
|
||||
name = "GeistMono Nerd Font";
|
||||
};
|
||||
|
||||
cursor = {
|
||||
package = pkgs.bibata-cursors;
|
||||
name = "Bibata-Modern-Classic";
|
||||
size = 24;
|
||||
};
|
||||
};
|
||||
};
|
||||
light = {
|
||||
rose-pine-dawn = {
|
||||
polarity = "light";
|
||||
base16Scheme = fromBase16Schemes "rose-pine-dawn";
|
||||
image = wallpapers.cyber-dawn;
|
||||
|
||||
serif = {
|
||||
package = iosevkaPackage;
|
||||
name = "Iosevka Nerd Font Propo";
|
||||
};
|
||||
|
||||
monospace = {
|
||||
package = iosevkaTermPackage;
|
||||
name = "IosevkaTerm Nerd Font Mono";
|
||||
};
|
||||
|
||||
cursor = {
|
||||
package = pkgs.bibata-cursors;
|
||||
name = "Bibata-Modern-Ice";
|
||||
size = 24;
|
||||
};
|
||||
nord-light = {
|
||||
polarity = "light";
|
||||
base16Scheme = fromBase16Schemes "nord-light";
|
||||
image = builtins.fetchurl {
|
||||
url = "https://w.wallhaven.cc/full/l8/wallhaven-l8l9gq.png";
|
||||
name = "wallhaven-l8l9gq.png";
|
||||
sha256 = "0ypr44sg0fn55m1b52dgr1nnscpi2p6rfkjsm7vvrdqw7bafbx2z";
|
||||
};
|
||||
|
||||
serif = {
|
||||
package = iosevkaPackage;
|
||||
name = "Iosevka Nerd Font Propo";
|
||||
};
|
||||
|
||||
monospace = {
|
||||
package = iosevkaTermPackage;
|
||||
name = "IosevkaTerm Nerd Font Mono";
|
||||
};
|
||||
|
||||
cursor = {
|
||||
package = pkgs.nordzy-cursor-theme;
|
||||
name = "Nordzy-cursors-white";
|
||||
size = 32;
|
||||
};
|
||||
};
|
||||
};
|
||||
himalaya = {
|
||||
# lightly pink like himalayan salt
|
||||
polarity = "light";
|
||||
base16Scheme = fromBase16Schemes "atelier-plateau-light";
|
||||
image = wallpapers.mountains-pink;
|
||||
|
||||
serif = {
|
||||
package = interPackage;
|
||||
name = "Inter Nerd Font";
|
||||
};
|
||||
|
||||
monospace = {
|
||||
package = mesloLgPackage;
|
||||
name = "MesloLGM Nerd Font Mono";
|
||||
};
|
||||
|
||||
cursor = {
|
||||
package = pkgs.bibata-cursors;
|
||||
name = "Bibata-Modern-Ice";
|
||||
size = 24;
|
||||
};
|
||||
};
|
||||
github = {
|
||||
polarity = "light";
|
||||
base16Scheme = fromBase16Schemes "github";
|
||||
image = wallpapers.abstract.squares;
|
||||
|
||||
serif = {
|
||||
package = geistPackage;
|
||||
name = "Geist Light";
|
||||
};
|
||||
|
||||
monospace = {
|
||||
package = geistMonoPackage;
|
||||
name = "GeistMono Nerd Font";
|
||||
};
|
||||
|
||||
cursor = {
|
||||
package = pkgs.bibata-cursors;
|
||||
name = "Bibata-Modern-Ice";
|
||||
size = 24;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
in {
|
||||
imports = with inputs; [
|
||||
stylix.nixosModules.stylix
|
||||
];
|
||||
|
||||
options = {
|
||||
module.stylix = {
|
||||
enable = mkEnableOption "enable stylix";
|
||||
|
||||
useCursor = mkOption {
|
||||
type = bool;
|
||||
default = true;
|
||||
description = "enable cursor settings";
|
||||
};
|
||||
theme = mkOption {
|
||||
type = str;
|
||||
default = "nord";
|
||||
};
|
||||
polarity = mkOption {
|
||||
type = lib.types.enum ["dark" "light"];
|
||||
default = "dark";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
fonts.packages = [pkgs.nerd-fonts.symbols-only];
|
||||
stylix = let
|
||||
theme = themes.${cfg.polarity}.${cfg.theme};
|
||||
in
|
||||
{
|
||||
autoEnable = true;
|
||||
enable = true;
|
||||
|
||||
# TODO: disable when stylix updates
|
||||
enableReleaseChecks = false;
|
||||
|
||||
inherit (cfg) polarity;
|
||||
inherit
|
||||
(theme)
|
||||
# image
|
||||
base16Scheme
|
||||
;
|
||||
image = null;
|
||||
|
||||
targets.gtksourceview.enable = false;
|
||||
|
||||
opacity = {
|
||||
applications = 1.0;
|
||||
terminal = 1.0;
|
||||
popups = 1.0;
|
||||
desktop = 1.0;
|
||||
};
|
||||
|
||||
fonts = {
|
||||
sizes = {
|
||||
applications = 13;
|
||||
terminal = 13;
|
||||
popups = 14;
|
||||
desktop = 13;
|
||||
};
|
||||
|
||||
inherit (theme) serif monospace;
|
||||
sansSerif = config.stylix.fonts.serif;
|
||||
emoji = config.stylix.fonts.serif;
|
||||
};
|
||||
}
|
||||
// optionalAttrs cfg.useCursor {
|
||||
cursor = {
|
||||
inherit (theme.cursor) package name size;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
let
|
||||
fetchPaper = url: name: sha256: builtins.fetchurl {inherit url name sha256;};
|
||||
in {
|
||||
abstract = {
|
||||
circle = fetchPaper "https://w.wallhaven.cc/full/ml/wallhaven-mlly8k.png" "wallhaven-mlly8k.png" "e5ZxRxZdCf0/fJ9RNurGdhRmMCthK9guJZ1Uf1IbG8E=";
|
||||
squares = fetchPaper "https://w.wallhaven.cc/full/p9/wallhaven-p91dym.jpg" "wallhaven-p91dym.jpg" "wnsAhh0Soxm+lxahh+Xc/+CAw/abWgPIkeoOlzNGaDo=";
|
||||
waves = fetchPaper "https://w.wallhaven.cc/full/5y/wallhaven-5ydl93.png" "wallhaven-5ydl93.png" "fTE2cyn2mkx05+Zn6qcs4+Rb7AYD0uyi6CNznuZYOjw=";
|
||||
lambda = fetchPaper "https://w.wallhaven.cc/full/vp/wallhaven-vpp5m3.png" "wallhaven-vpp5m3.png" "7YBfNjZjE8K9QUF4sUlUp3ao2DD6clXtzxgze7LtJ4Q=";
|
||||
};
|
||||
green-red-knight = fetchPaper "https://w.wallhaven.cc/full/po/wallhaven-poo7gj.jpg" "wallhaven-poo7gj.jpg" "fUe4VsYUF0DmgSKWJao2Ag2Y6kbHunYMM5Q28XMEhDI=";
|
||||
fern-outline = fetchPaper "https://w.wallhaven.cc/full/p9/wallhaven-p9m7ve.png" "wallhaven-p9m7ve.png" "0r7dl4fjwv2p5q5ggr4sjsl2h5m0s98k9qhiwkvmwi010lyffkx7";
|
||||
mountains-pink = fetchPaper "https://w.wallhaven.cc/full/yq/wallhaven-yq7gox.jpg" "wallhaven-yq7gox.jpg" "09s31spp9mq71fgkl1w80nzdc1458p1gjfyi3y6fy14wj2dza0pj";
|
||||
mountains-black = fetchPaper "https://w.wallhaven.cc/full/9d/wallhaven-9djzww.jpg" "wallhaven-9djzww.jpg" "1p2si922i9qs09h8c74lrvx0f284g0xvm7lh85gk1x7lqhn611zm";
|
||||
cyber-dawn = fetchPaper "https://w.wallhaven.cc/full/ym/wallhaven-ymo2y7.png" "wallhaven-ymo2y7.png" "1b3j0hxxy8m25scq42lxsxc99xvr15pha1j4wplgz761asrvxly3";
|
||||
retro-deck = fetchPaper "https://w.wallhaven.cc/full/1q/wallhaven-1q83qg.jpg" "wallhaven-1q83qg.jpg" "QPmG4QTRvubuX6Fy5rmMwYKw4aQdBiH/zGL/PMmUZOk=";
|
||||
nixos-rainbow = fetchPaper "https://w.wallhaven.cc/full/p9/wallhaven-p9pd23.png" "wallhaven-p9pd23.png" "7CMuETntiVUCKhUIdJzX+sf3F47GvuX2a61o4xbEzww=";
|
||||
mountains-sepia = fetchPaper "https://w.wallhaven.cc/full/k8/wallhaven-k89k81.jpg" "wallhaven-k89k81.jpg" "C0lvJ0ff0mCC3i9mmeHZsj/n6Ehkp3jaslVr7VDUB3k=";
|
||||
jcurry-cloud = fetchPaper "https://w.wallhaven.cc/full/7j/wallhaven-7j6wpy.jpg" "wallhaven-je8rwq.jpg" "xsuCYc0mCDkrJZ+BUmEEclAfF17g1n39JHeubtZHP78=";
|
||||
vapor-moon = fetchPaper "https://w.wallhaven.cc/full/lm/wallhaven-lm6d2r.png" "wallhaven-lm6d2r.png" "V07kj2zwFHDwzIN8QE8IFrJMXxDOBoK9C11sQGgTjyQ=";
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
imports = [
|
||||
./libvirt.nix
|
||||
./podman.nix
|
||||
./docker.nix
|
||||
];
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
{
|
||||
# pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.module.virt.docker;
|
||||
in {
|
||||
options = {
|
||||
module.virt.docker.enable =
|
||||
mkEnableOption "enable docker";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
virtualisation.docker = {
|
||||
enable = true;
|
||||
rootless = {
|
||||
enable = true;
|
||||
setSocketVariable = true;
|
||||
};
|
||||
storageDriver = "btrfs";
|
||||
autoPrune.enable = true;
|
||||
#defaultNetwork.settings = {
|
||||
# dns_enabled = true;
|
||||
#};
|
||||
};
|
||||
virtualisation.oci-containers.backend = "docker";
|
||||
};
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.module.virt.libvirt;
|
||||
in {
|
||||
options = {
|
||||
module.virt.libvirt.enable =
|
||||
mkEnableOption "enables virtualisation";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
virtualisation.libvirtd = {
|
||||
enable = true;
|
||||
qemu = {
|
||||
package = pkgs.qemu_kvm;
|
||||
runAsRoot = false;
|
||||
swtpm.enable = true;
|
||||
vhostUserPackages = [pkgs.virtiofsd];
|
||||
# ovmf = {
|
||||
# enable = true;
|
||||
# packages = [
|
||||
# (pkgs.OVMF.override {
|
||||
# secureBoot = true;
|
||||
# tpmSupport = true;
|
||||
# })
|
||||
# .fd
|
||||
# ];
|
||||
# };
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.module.virt.podman;
|
||||
in {
|
||||
options = {
|
||||
module.virt.podman.enable =
|
||||
mkEnableOption "enables podman";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
virtualisation = {
|
||||
containers.enable = true;
|
||||
podman = {
|
||||
enable = true;
|
||||
dockerCompat = true;
|
||||
defaultNetwork.settings.dns_enabled = true;
|
||||
};
|
||||
};
|
||||
virtualisation.oci-containers.backend = "podman";
|
||||
environment.systemPackages = with pkgs; [
|
||||
podman-tui
|
||||
podman-compose
|
||||
];
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user