mirror of
https://github.com/alyraffauf/nixcfg.git
synced 2024-11-22 12:23:56 -05:00
refactor nixosModules with consistency with homeManagerModules
This commit is contained in:
parent
65ef82d0b4
commit
0e73c7580f
|
@ -5,18 +5,6 @@
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
config = lib.mkIf config.alyraffauf.desktop.hyprland.enable {
|
config = lib.mkIf config.alyraffauf.desktop.hyprland.enable {
|
||||||
alyraffauf = {
|
|
||||||
desktop = {
|
|
||||||
waylandComp = lib.mkDefault true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg.portal = {
|
|
||||||
enable = true;
|
|
||||||
configPackages = [pkgs.xdg-desktop-portal-hyprland];
|
|
||||||
extraPortals = [pkgs.xdg-desktop-portal-hyprland];
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.waybar = {
|
programs.waybar = {
|
||||||
settings = {
|
settings = {
|
||||||
mainBar = {
|
mainBar = {
|
||||||
|
|
|
@ -29,12 +29,6 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf config.alyraffauf.desktop.sway.enable {
|
config = lib.mkIf config.alyraffauf.desktop.sway.enable {
|
||||||
alyraffauf = {
|
|
||||||
desktop = {
|
|
||||||
waylandComp = lib.mkDefault true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.waybar = {
|
programs.waybar = {
|
||||||
settings = {
|
settings = {
|
||||||
mainBar = {
|
mainBar = {
|
||||||
|
|
|
@ -5,10 +5,6 @@
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
config = lib.mkIf config.alyraffauf.desktop.waylandComp {
|
config = lib.mkIf config.alyraffauf.desktop.waylandComp {
|
||||||
home.packages = with pkgs; [
|
|
||||||
swayosd
|
|
||||||
networkmanagerapplet
|
|
||||||
];
|
|
||||||
alyraffauf = {
|
alyraffauf = {
|
||||||
apps = {
|
apps = {
|
||||||
fuzzel.enable = lib.mkDefault true;
|
fuzzel.enable = lib.mkDefault true;
|
||||||
|
@ -28,5 +24,18 @@
|
||||||
"org/gnome/nm-applet".disable-connected-notifications = true;
|
"org/gnome/nm-applet".disable-connected-notifications = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
swayosd
|
||||||
|
networkmanagerapplet
|
||||||
|
];
|
||||||
|
|
||||||
|
xdg.portal = {
|
||||||
|
enable = true;
|
||||||
|
configPackages =
|
||||||
|
lib.optionals (config.alyraffauf.desktop.hyprland.enable) [pkgs.xdg-desktop-portal-hyprland];
|
||||||
|
extraPortals =
|
||||||
|
lib.optionals (config.alyraffauf.desktop.hyprland.enable) [pkgs.xdg-desktop-portal-hyprland];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -216,9 +216,12 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
waylandComp = lib.mkOption {
|
||||||
waylandComp =
|
description = "Shared defaults for wayland compositors.";
|
||||||
lib.mkEnableOption "Shared configuration for wayland compositors.";
|
default =
|
||||||
|
config.alyraffauf.desktop.hyprland.enable || config.alyraffauf.desktop.sway.enable;
|
||||||
|
type = lib.types.bool;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
scripts = {
|
scripts = {
|
||||||
pp-adjuster.enable = lib.mkEnableOption "pp-adjuster script.";
|
pp-adjuster.enable = lib.mkEnableOption "pp-adjuster script.";
|
||||||
|
|
|
@ -37,7 +37,8 @@
|
||||||
};
|
};
|
||||||
tailscale.enable = true;
|
tailscale.enable = true;
|
||||||
};
|
};
|
||||||
system = {
|
base = {
|
||||||
|
enable = true;
|
||||||
plymouth.enable = true;
|
plymouth.enable = true;
|
||||||
zramSwap = {enable = true;};
|
zramSwap = {enable = true;};
|
||||||
};
|
};
|
||||||
|
|
|
@ -29,7 +29,8 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
alyraffauf = {
|
alyraffauf = {
|
||||||
system = {
|
base = {
|
||||||
|
enable = true;
|
||||||
plymouth.enable = true;
|
plymouth.enable = true;
|
||||||
zramSwap = {enable = true;};
|
zramSwap = {enable = true;};
|
||||||
};
|
};
|
||||||
|
|
|
@ -82,7 +82,8 @@ in {
|
||||||
scripts = {
|
scripts = {
|
||||||
hoenn.enable = true;
|
hoenn.enable = true;
|
||||||
};
|
};
|
||||||
system = {
|
base = {
|
||||||
|
enable = true;
|
||||||
plymouth.enable = true;
|
plymouth.enable = true;
|
||||||
zramSwap = {
|
zramSwap = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -25,7 +25,8 @@
|
||||||
networking.hostName = "petalburg"; # Define your hostname.
|
networking.hostName = "petalburg"; # Define your hostname.
|
||||||
|
|
||||||
alyraffauf = {
|
alyraffauf = {
|
||||||
system = {
|
base = {
|
||||||
|
enable = true;
|
||||||
plymouth.enable = true;
|
plymouth.enable = true;
|
||||||
zramSwap = {enable = true;};
|
zramSwap = {enable = true;};
|
||||||
};
|
};
|
||||||
|
|
|
@ -22,7 +22,8 @@
|
||||||
networking.hostName = "rustboro"; # Define your hostname.
|
networking.hostName = "rustboro"; # Define your hostname.
|
||||||
|
|
||||||
alyraffauf = {
|
alyraffauf = {
|
||||||
system = {
|
base = {
|
||||||
|
enable = true;
|
||||||
plymouth.enable = true;
|
plymouth.enable = true;
|
||||||
zramSwap = {
|
zramSwap = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
101
nixosModules/base/default.nix
Normal file
101
nixosModules/base/default.nix
Normal file
|
@ -0,0 +1,101 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
inputs,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
./networking
|
||||||
|
./nix
|
||||||
|
./nixpkgs
|
||||||
|
./plymouth
|
||||||
|
./power-profiles-daemon
|
||||||
|
./sound
|
||||||
|
./zramSwap
|
||||||
|
];
|
||||||
|
|
||||||
|
config = lib.mkIf config.alyraffauf.base.enable {
|
||||||
|
console = {
|
||||||
|
colors = [
|
||||||
|
"303446"
|
||||||
|
"e78284"
|
||||||
|
"a6d189"
|
||||||
|
"e5c890"
|
||||||
|
"8caaee"
|
||||||
|
"f4b8e4"
|
||||||
|
"81c8be"
|
||||||
|
"b5bfe2"
|
||||||
|
"626880"
|
||||||
|
"303446"
|
||||||
|
"e78284"
|
||||||
|
"a6d189"
|
||||||
|
"e5c890"
|
||||||
|
"8caaee"
|
||||||
|
"f4b8e4"
|
||||||
|
"81c8be"
|
||||||
|
"a5adce"
|
||||||
|
];
|
||||||
|
useXkbConfig = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = [inputs.agenix.packages.${pkgs.system}.default];
|
||||||
|
|
||||||
|
i18n = {
|
||||||
|
defaultLocale = lib.mkDefault "en_US.UTF-8";
|
||||||
|
extraLocaleSettings = {
|
||||||
|
LC_ADDRESS = config.i18n.defaultLocale;
|
||||||
|
LC_IDENTIFICATION = config.i18n.defaultLocale;
|
||||||
|
LC_MEASUREMENT = config.i18n.defaultLocale;
|
||||||
|
LC_MONETARY = config.i18n.defaultLocale;
|
||||||
|
LC_NAME = config.i18n.defaultLocale;
|
||||||
|
LC_NUMERIC = config.i18n.defaultLocale;
|
||||||
|
LC_PAPER = config.i18n.defaultLocale;
|
||||||
|
LC_TELEPHONE = config.i18n.defaultLocale;
|
||||||
|
LC_TIME = config.i18n.defaultLocale;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.gnupg.agent = {
|
||||||
|
enable = true;
|
||||||
|
enableSSHSupport = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
hardware = {
|
||||||
|
# Add support for logitech unifying receivers.
|
||||||
|
logitech.wireless = {
|
||||||
|
enable = true;
|
||||||
|
enableGraphical = true;
|
||||||
|
};
|
||||||
|
keyboard.qmk.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services = {
|
||||||
|
logind.extraConfig = ''
|
||||||
|
# Don't shutdown when power button is short-pressed
|
||||||
|
HandlePowerKey=suspend
|
||||||
|
HandlePowerKeyLongPress=poweroff
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
security = {
|
||||||
|
polkit.enable = true;
|
||||||
|
rtkit.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
system.autoUpgrade = {
|
||||||
|
allowReboot = true;
|
||||||
|
dates = "04:00";
|
||||||
|
randomizedDelaySec = "20min";
|
||||||
|
enable = true;
|
||||||
|
flake = "github:alyraffauf/nixcfg";
|
||||||
|
operation = "boot";
|
||||||
|
rebootWindow = {
|
||||||
|
lower = "02:00";
|
||||||
|
upper = "05:00";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
time.timeZone = "America/New_York";
|
||||||
|
};
|
||||||
|
}
|
98
nixosModules/base/networking/default.nix
Normal file
98
nixosModules/base/networking/default.nix
Normal file
|
@ -0,0 +1,98 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
inputs,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
config = lib.mkIf config.alyraffauf.base.enable {
|
||||||
|
age.secrets.wifi.file = ../../../secrets/wifi.age;
|
||||||
|
|
||||||
|
hardware = {
|
||||||
|
bluetooth.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.networkmanager = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
ensureProfiles = {
|
||||||
|
environmentFiles = [
|
||||||
|
config.age.secrets.wifi.path
|
||||||
|
];
|
||||||
|
profiles = {
|
||||||
|
Stargate-Discovery = {
|
||||||
|
connection = {
|
||||||
|
id = "Stargate-Discovery";
|
||||||
|
type = "wifi";
|
||||||
|
};
|
||||||
|
wifi.ssid = "Stargate-Discovery";
|
||||||
|
wifi-security = {
|
||||||
|
auth-alg = "open";
|
||||||
|
key-mgmt = "wpa-psk";
|
||||||
|
psk = "$StargateDiscoveryPSK";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
wattson = {
|
||||||
|
connection = {
|
||||||
|
id = "wattson";
|
||||||
|
type = "wifi";
|
||||||
|
};
|
||||||
|
wifi.ssid = "wattson";
|
||||||
|
wifi-security = {
|
||||||
|
auth-alg = "open";
|
||||||
|
key-mgmt = "wpa-psk";
|
||||||
|
psk = "$wattsonPSK";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"Dustin’s iPhone" = {
|
||||||
|
connection = {
|
||||||
|
id = "Dustin’s iPhone";
|
||||||
|
type = "wifi";
|
||||||
|
};
|
||||||
|
wifi.ssid = "Dustin’s iPhone";
|
||||||
|
wifi-security = {
|
||||||
|
auth-alg = "open";
|
||||||
|
key-mgmt = "wpa-psk";
|
||||||
|
psk = "$DustinsiPhonePSK";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
WeWorkWiFi = {
|
||||||
|
"802-1x" = {
|
||||||
|
eap = "peap;";
|
||||||
|
identity = "$WeWorkWiFiIdentity";
|
||||||
|
password = "$WeWorkWiFiPassword";
|
||||||
|
phase2-auth = "mschapv2";
|
||||||
|
};
|
||||||
|
connection = {
|
||||||
|
id = "WeWorkWiFi";
|
||||||
|
type = "wifi";
|
||||||
|
};
|
||||||
|
wifi.ssid = "WeWorkWiFi";
|
||||||
|
wifi-security.key-mgmt = "wpa-eap";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services = {
|
||||||
|
avahi = {
|
||||||
|
enable = true;
|
||||||
|
nssmdns4 = true;
|
||||||
|
openFirewall = true;
|
||||||
|
publish = {
|
||||||
|
enable = true;
|
||||||
|
addresses = true;
|
||||||
|
userServices = true;
|
||||||
|
workstation = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
openssh = {
|
||||||
|
enable = true;
|
||||||
|
openFirewall = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
printing.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
45
nixosModules/base/nix/default.nix
Normal file
45
nixosModules/base/nix/default.nix
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
inputs,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
config = lib.mkIf config.alyraffauf.base.enable {
|
||||||
|
nix = {
|
||||||
|
gc = {
|
||||||
|
automatic = true;
|
||||||
|
dates = "daily";
|
||||||
|
options = "--delete-older-than 3d";
|
||||||
|
persistent = true;
|
||||||
|
randomizedDelaySec = "60min";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Run GC when there is less than 100MiB left.
|
||||||
|
extraOptions = ''
|
||||||
|
min-free = ${toString (100 * 1024 * 1024)}
|
||||||
|
max-free = ${toString (1024 * 1024 * 1024)}
|
||||||
|
'';
|
||||||
|
|
||||||
|
optimise.automatic = true;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
auto-optimise-store = false;
|
||||||
|
experimental-features = ["nix-command" "flakes"];
|
||||||
|
|
||||||
|
substituters = [
|
||||||
|
"https://nixcache.raffauflabs.com"
|
||||||
|
"https://hyprland.cachix.org"
|
||||||
|
"https://cache.nixos.org/"
|
||||||
|
];
|
||||||
|
|
||||||
|
trusted-public-keys = [
|
||||||
|
"nixcache.raffauflabs.com:yFIuJde/izA4aUDI3MZmBLzynEsqVCT1OfCUghOLlt8="
|
||||||
|
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
||||||
|
];
|
||||||
|
|
||||||
|
trusted-users = ["aly"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
62
nixosModules/base/nixpkgs/default.nix
Normal file
62
nixosModules/base/nixpkgs/default.nix
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
inputs,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
config = lib.mkIf config.alyraffauf.base.enable {
|
||||||
|
nixpkgs = let
|
||||||
|
unstable = import inputs.nixpkgsUnstable {
|
||||||
|
system = pkgs.system;
|
||||||
|
config.allowUnfree = true; # Allow unfree packages
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
config.allowUnfree = true; # Allow unfree packages
|
||||||
|
|
||||||
|
# Overlays over default packages.
|
||||||
|
overlays = [
|
||||||
|
(final: prev: {
|
||||||
|
audiobookshelf = unstable.audiobookshelf;
|
||||||
|
brave = prev.brave.override {commandLineArgs = "--gtk-version=4 --enable-wayland-ime";};
|
||||||
|
catppuccin-gtk = prev.catppuccin-gtk.override {
|
||||||
|
accents = ["mauve"];
|
||||||
|
size = "compact";
|
||||||
|
variant = "frappe";
|
||||||
|
tweaks = ["normal"];
|
||||||
|
};
|
||||||
|
catppuccin-kvantum = prev.catppuccin-kvantum.override {
|
||||||
|
accent = "Mauve";
|
||||||
|
variant = "Frappe";
|
||||||
|
};
|
||||||
|
catppuccin-papirus-folders = prev.catppuccin-papirus-folders.override {
|
||||||
|
flavor = "frappe";
|
||||||
|
accent = "mauve";
|
||||||
|
};
|
||||||
|
catppuccin-plymouth = prev.catppuccin-plymouth.override {variant = "frappe";};
|
||||||
|
nerdfonts = prev.nerdfonts.override {fonts = ["Noto"];};
|
||||||
|
google-chrome = prev.google-chrome.override {commandLineArgs = "--gtk-version=4 --enable-wayland-ime";};
|
||||||
|
hyprland = inputs.hyprland.packages.${pkgs.system}.hyprland;
|
||||||
|
hyprnome = unstable.hyprnome;
|
||||||
|
hyprshot = unstable.hyprshot;
|
||||||
|
xdg-desktop-portal-hyprland = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland;
|
||||||
|
obsidian = unstable.obsidian.overrideAttrs (old: {
|
||||||
|
installPhase =
|
||||||
|
builtins.replaceStrings ["--ozone-platform=wayland"]
|
||||||
|
["--ozone-platform=wayland --enable-wayland-ime"]
|
||||||
|
old.installPhase;
|
||||||
|
});
|
||||||
|
sway = unstable.sway;
|
||||||
|
swayfx = unstable.swayfx;
|
||||||
|
vscodium = prev.vscodium.override {commandLineArgs = "--gtk-version=4 --enable-wayland-ime";};
|
||||||
|
webcord = prev.webcord.overrideAttrs (old: {
|
||||||
|
installPhase =
|
||||||
|
builtins.replaceStrings ["--ozone-platform-hint=auto"]
|
||||||
|
["--ozone-platform-hint=auto --enable-wayland-ime"]
|
||||||
|
old.installPhase;
|
||||||
|
});
|
||||||
|
})
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,10 +1,11 @@
|
||||||
{
|
{
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
config,
|
config,
|
||||||
|
inputs,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
config = lib.mkIf config.alyraffauf.system.plymouth.enable {
|
config = lib.mkIf config.alyraffauf.base.plymouth.enable {
|
||||||
boot = {
|
boot = {
|
||||||
consoleLogLevel = 0;
|
consoleLogLevel = 0;
|
||||||
initrd.verbose = false;
|
initrd.verbose = false;
|
|
@ -1,10 +1,11 @@
|
||||||
{
|
{
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
config,
|
config,
|
||||||
|
inputs,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
config = lib.mkIf config.alyraffauf.system.power-profiles-daemon.enable {
|
config = lib.mkIf config.alyraffauf.base.power-profiles-daemon.enable {
|
||||||
services = {
|
services = {
|
||||||
power-profiles-daemon.enable = true;
|
power-profiles-daemon.enable = true;
|
||||||
upower.enable = true;
|
upower.enable = true;
|
27
nixosModules/base/sound/default.nix
Normal file
27
nixosModules/base/sound/default.nix
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
inputs,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
config = lib.mkIf config.alyraffauf.base.enable {
|
||||||
|
hardware.pulseaudio = {
|
||||||
|
enable = lib.mkForce false;
|
||||||
|
package = pkgs.pulseaudioFull;
|
||||||
|
};
|
||||||
|
|
||||||
|
services = {
|
||||||
|
pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa = {
|
||||||
|
enable = true;
|
||||||
|
support32Bit = true;
|
||||||
|
};
|
||||||
|
pulse.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
sound.enable = true;
|
||||||
|
};
|
||||||
|
}
|
13
nixosModules/base/zramSwap/default.nix
Normal file
13
nixosModules/base/zramSwap/default.nix
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
config = lib.mkIf config.alyraffauf.base.zramSwap.enable {
|
||||||
|
zramSwap = {
|
||||||
|
enable = true;
|
||||||
|
memoryPercent = config.alyraffauf.base.zramSwap.size;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -3,63 +3,15 @@ inputs: {
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}: let
|
}: {
|
||||||
unstable = import inputs.nixpkgsUnstable {
|
|
||||||
system = pkgs.system;
|
|
||||||
config.allowUnfree = true;
|
|
||||||
};
|
|
||||||
in {
|
|
||||||
imports = [
|
imports = [
|
||||||
./apps
|
./apps
|
||||||
|
./base
|
||||||
./containers
|
./containers
|
||||||
./desktop
|
./desktop
|
||||||
./options.nix
|
./options.nix
|
||||||
./scripts
|
./scripts
|
||||||
./services
|
./services
|
||||||
./system
|
|
||||||
./users
|
./users
|
||||||
];
|
];
|
||||||
|
|
||||||
nixpkgs.overlays = [
|
|
||||||
(final: prev: {
|
|
||||||
audiobookshelf = unstable.audiobookshelf;
|
|
||||||
brave = prev.brave.override {commandLineArgs = "--gtk-version=4 --enable-wayland-ime";};
|
|
||||||
catppuccin-gtk = prev.catppuccin-gtk.override {
|
|
||||||
accents = ["mauve"];
|
|
||||||
size = "compact";
|
|
||||||
variant = "frappe";
|
|
||||||
tweaks = ["normal"];
|
|
||||||
};
|
|
||||||
catppuccin-kvantum = prev.catppuccin-kvantum.override {
|
|
||||||
accent = "Mauve";
|
|
||||||
variant = "Frappe";
|
|
||||||
};
|
|
||||||
catppuccin-papirus-folders = prev.catppuccin-papirus-folders.override {
|
|
||||||
flavor = "frappe";
|
|
||||||
accent = "mauve";
|
|
||||||
};
|
|
||||||
catppuccin-plymouth = prev.catppuccin-plymouth.override {variant = "frappe";};
|
|
||||||
nerdfonts = prev.nerdfonts.override {fonts = ["Noto"];};
|
|
||||||
google-chrome = prev.google-chrome.override {commandLineArgs = "--gtk-version=4 --enable-wayland-ime";};
|
|
||||||
hyprland = inputs.hyprland.packages.${pkgs.system}.hyprland;
|
|
||||||
hyprnome = unstable.hyprnome;
|
|
||||||
hyprshot = unstable.hyprshot;
|
|
||||||
xdg-desktop-portal-hyprland = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland;
|
|
||||||
obsidian = unstable.obsidian.overrideAttrs (old: {
|
|
||||||
installPhase =
|
|
||||||
builtins.replaceStrings ["--ozone-platform=wayland"]
|
|
||||||
["--ozone-platform=wayland --enable-wayland-ime"]
|
|
||||||
old.installPhase;
|
|
||||||
});
|
|
||||||
sway = unstable.sway;
|
|
||||||
swayfx = unstable.swayfx;
|
|
||||||
vscodium = prev.vscodium.override {commandLineArgs = "--gtk-version=4 --enable-wayland-ime";};
|
|
||||||
webcord = prev.webcord.overrideAttrs (old: {
|
|
||||||
installPhase =
|
|
||||||
builtins.replaceStrings ["--ozone-platform-hint=auto"]
|
|
||||||
["--ozone-platform-hint=auto --enable-wayland-ime"]
|
|
||||||
old.installPhase;
|
|
||||||
});
|
|
||||||
})
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,8 +5,6 @@
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
config = lib.mkIf config.alyraffauf.desktop.hyprland.enable {
|
config = lib.mkIf config.alyraffauf.desktop.hyprland.enable {
|
||||||
alyraffauf.desktop.waylandComp.enable = lib.mkDefault true;
|
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
hyprland = {
|
hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -6,8 +6,6 @@
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
config = lib.mkIf config.alyraffauf.desktop.sway.enable {
|
config = lib.mkIf config.alyraffauf.desktop.sway.enable {
|
||||||
alyraffauf.desktop.waylandComp.enable = lib.mkDefault true;
|
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
sway = {
|
sway = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
config = lib.mkIf config.alyraffauf.desktop.waylandComp.enable {
|
config = lib.mkIf config.alyraffauf.desktop.waylandComp {
|
||||||
programs = {
|
programs = {
|
||||||
gnupg.agent.pinentryPackage = lib.mkForce pkgs.pinentry-gnome3;
|
gnupg.agent.pinentryPackage = lib.mkForce pkgs.pinentry-gnome3;
|
||||||
};
|
};
|
||||||
|
|
|
@ -18,6 +18,10 @@
|
||||||
virt-manager.enable =
|
virt-manager.enable =
|
||||||
lib.mkEnableOption "Virt-manager with TPM and EFI support.";
|
lib.mkEnableOption "Virt-manager with TPM and EFI support.";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
base.enable =
|
||||||
|
lib.mkEnableOption "Basic system configuration and sane defaults.";
|
||||||
|
|
||||||
containers = {
|
containers = {
|
||||||
nixos = {
|
nixos = {
|
||||||
audiobookshelf = {
|
audiobookshelf = {
|
||||||
|
@ -178,8 +182,13 @@
|
||||||
lib.mkEnableOption "Plasma desktop session.";
|
lib.mkEnableOption "Plasma desktop session.";
|
||||||
sway.enable =
|
sway.enable =
|
||||||
lib.mkEnableOption "Sway wayland session.";
|
lib.mkEnableOption "Sway wayland session.";
|
||||||
waylandComp.enable =
|
waylandComp = lib.mkOption {
|
||||||
lib.mkEnableOption "Shared defaults for wayland compositors.";
|
description = "Shared defaults for wayland compositors.";
|
||||||
|
default =
|
||||||
|
config.alyraffauf.desktop.hyprland.enable
|
||||||
|
|| config.alyraffauf.desktop.sway.enable;
|
||||||
|
type = lib.types.bool;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
scripts.hoenn.enable =
|
scripts.hoenn.enable =
|
||||||
lib.mkEnableOption "Hoenn system configuration script";
|
lib.mkEnableOption "Hoenn system configuration script";
|
||||||
|
@ -220,11 +229,14 @@
|
||||||
};
|
};
|
||||||
tailscale.enable = lib.mkEnableOption "Enable Tailscale";
|
tailscale.enable = lib.mkEnableOption "Enable Tailscale";
|
||||||
};
|
};
|
||||||
system = {
|
base = {
|
||||||
plymouth.enable =
|
plymouth.enable =
|
||||||
lib.mkEnableOption "Plymouth boot screen with catppuccin theme.";
|
lib.mkEnableOption "Plymouth boot screen with catppuccin theme.";
|
||||||
power-profiles-daemon.enable =
|
power-profiles-daemon.enable = lib.mkOption {
|
||||||
lib.mkEnableOption "Power-profiles-daemon.";
|
description = "Power Profiles Daemon for power management.";
|
||||||
|
default = true;
|
||||||
|
type = lib.types.bool;
|
||||||
|
};
|
||||||
zramSwap = {
|
zramSwap = {
|
||||||
enable = lib.mkEnableOption "Zram swap.";
|
enable = lib.mkEnableOption "Zram swap.";
|
||||||
size = lib.mkOption {
|
size = lib.mkOption {
|
||||||
|
|
|
@ -1,160 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
inputs,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [./plymouth ./power-profiles-daemon ./zramSwap ./wifi.nix];
|
|
||||||
|
|
||||||
alyraffauf.system.power-profiles-daemon.enable = lib.mkDefault true;
|
|
||||||
|
|
||||||
environment.systemPackages = [inputs.agenix.packages.${pkgs.system}.default];
|
|
||||||
|
|
||||||
console = {
|
|
||||||
colors = [
|
|
||||||
"303446"
|
|
||||||
"e78284"
|
|
||||||
"a6d189"
|
|
||||||
"e5c890"
|
|
||||||
"8caaee"
|
|
||||||
"f4b8e4"
|
|
||||||
"81c8be"
|
|
||||||
"b5bfe2"
|
|
||||||
"626880"
|
|
||||||
"303446"
|
|
||||||
"e78284"
|
|
||||||
"a6d189"
|
|
||||||
"e5c890"
|
|
||||||
"8caaee"
|
|
||||||
"f4b8e4"
|
|
||||||
"81c8be"
|
|
||||||
"a5adce"
|
|
||||||
];
|
|
||||||
useXkbConfig = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
time.timeZone = "America/New_York";
|
|
||||||
|
|
||||||
i18n = {
|
|
||||||
defaultLocale = lib.mkDefault "en_US.UTF-8";
|
|
||||||
extraLocaleSettings = {
|
|
||||||
LC_ADDRESS = config.i18n.defaultLocale;
|
|
||||||
LC_IDENTIFICATION = config.i18n.defaultLocale;
|
|
||||||
LC_MEASUREMENT = config.i18n.defaultLocale;
|
|
||||||
LC_MONETARY = config.i18n.defaultLocale;
|
|
||||||
LC_NAME = config.i18n.defaultLocale;
|
|
||||||
LC_NUMERIC = config.i18n.defaultLocale;
|
|
||||||
LC_PAPER = config.i18n.defaultLocale;
|
|
||||||
LC_TELEPHONE = config.i18n.defaultLocale;
|
|
||||||
LC_TIME = config.i18n.defaultLocale;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.gnupg.agent = {
|
|
||||||
enable = true;
|
|
||||||
enableSSHSupport = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
hardware = {
|
|
||||||
bluetooth.enable = true;
|
|
||||||
# Add support for logitech unifying receivers.
|
|
||||||
logitech.wireless = {
|
|
||||||
enable = true;
|
|
||||||
enableGraphical = true;
|
|
||||||
};
|
|
||||||
keyboard.qmk.enable = true;
|
|
||||||
|
|
||||||
pulseaudio = {
|
|
||||||
enable = lib.mkForce false;
|
|
||||||
package = pkgs.pulseaudioFull;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
sound.enable = true;
|
|
||||||
|
|
||||||
networking = {
|
|
||||||
networkmanager.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
services = {
|
|
||||||
logind.extraConfig = ''
|
|
||||||
# Don't shutdown when power button is short-pressed
|
|
||||||
HandlePowerKey=suspend
|
|
||||||
HandlePowerKeyLongPress=poweroff
|
|
||||||
'';
|
|
||||||
pipewire = {
|
|
||||||
enable = true;
|
|
||||||
alsa.enable = true;
|
|
||||||
alsa.support32Bit = true;
|
|
||||||
pulse.enable = true;
|
|
||||||
};
|
|
||||||
avahi = {
|
|
||||||
enable = true;
|
|
||||||
nssmdns4 = true;
|
|
||||||
openFirewall = true;
|
|
||||||
publish = {
|
|
||||||
enable = true;
|
|
||||||
addresses = true;
|
|
||||||
userServices = true;
|
|
||||||
workstation = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
openssh = {
|
|
||||||
enable = true;
|
|
||||||
openFirewall = true;
|
|
||||||
};
|
|
||||||
printing.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
security = {
|
|
||||||
polkit.enable = true;
|
|
||||||
rtkit.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Allow unfree packages
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
|
||||||
|
|
||||||
system.autoUpgrade = {
|
|
||||||
allowReboot = true;
|
|
||||||
dates = "04:00";
|
|
||||||
randomizedDelaySec = "20min";
|
|
||||||
enable = true;
|
|
||||||
flake = "github:alyraffauf/nixcfg";
|
|
||||||
operation = "boot";
|
|
||||||
rebootWindow = {
|
|
||||||
lower = "02:00";
|
|
||||||
upper = "05:00";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
nix = {
|
|
||||||
optimise.automatic = true;
|
|
||||||
gc = {
|
|
||||||
automatic = true;
|
|
||||||
dates = "daily";
|
|
||||||
options = "--delete-older-than 3d";
|
|
||||||
persistent = true;
|
|
||||||
randomizedDelaySec = "60min";
|
|
||||||
};
|
|
||||||
# Run GC when there is less than 100MiB left.
|
|
||||||
extraOptions = ''
|
|
||||||
min-free = ${toString (100 * 1024 * 1024)}
|
|
||||||
max-free = ${toString (1024 * 1024 * 1024)}
|
|
||||||
'';
|
|
||||||
settings = {
|
|
||||||
auto-optimise-store = false;
|
|
||||||
experimental-features = ["nix-command" "flakes"];
|
|
||||||
substituters = [
|
|
||||||
"https://nixcache.raffauflabs.com"
|
|
||||||
"https://hyprland.cachix.org"
|
|
||||||
"https://cache.nixos.org/"
|
|
||||||
];
|
|
||||||
trusted-public-keys = [
|
|
||||||
"nixcache.raffauflabs.com:yFIuJde/izA4aUDI3MZmBLzynEsqVCT1OfCUghOLlt8="
|
|
||||||
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
|
||||||
];
|
|
||||||
trusted-users = ["aly"];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,69 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
inputs,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
age.secrets.wifi.file = ../../secrets/wifi.age;
|
|
||||||
|
|
||||||
networking.networkmanager = {
|
|
||||||
ensureProfiles = {
|
|
||||||
environmentFiles = [
|
|
||||||
config.age.secrets.wifi.path
|
|
||||||
];
|
|
||||||
profiles = {
|
|
||||||
Stargate-Discovery = {
|
|
||||||
connection = {
|
|
||||||
id = "Stargate-Discovery";
|
|
||||||
type = "wifi";
|
|
||||||
};
|
|
||||||
wifi.ssid = "Stargate-Discovery";
|
|
||||||
wifi-security = {
|
|
||||||
auth-alg = "open";
|
|
||||||
key-mgmt = "wpa-psk";
|
|
||||||
psk = "$StargateDiscoveryPSK";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
wattson = {
|
|
||||||
connection = {
|
|
||||||
id = "wattson";
|
|
||||||
type = "wifi";
|
|
||||||
};
|
|
||||||
wifi.ssid = "wattson";
|
|
||||||
wifi-security = {
|
|
||||||
auth-alg = "open";
|
|
||||||
key-mgmt = "wpa-psk";
|
|
||||||
psk = "$wattsonPSK";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"Dustin’s iPhone" = {
|
|
||||||
connection = {
|
|
||||||
id = "Dustin’s iPhone";
|
|
||||||
type = "wifi";
|
|
||||||
};
|
|
||||||
wifi.ssid = "Dustin’s iPhone";
|
|
||||||
wifi-security = {
|
|
||||||
auth-alg = "open";
|
|
||||||
key-mgmt = "wpa-psk";
|
|
||||||
psk = "$DustinsiPhonePSK";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
WeWorkWiFi = {
|
|
||||||
"802-1x" = {
|
|
||||||
eap = "peap;";
|
|
||||||
identity = "$WeWorkWiFiIdentity";
|
|
||||||
password = "$WeWorkWiFiPassword";
|
|
||||||
phase2-auth = "mschapv2";
|
|
||||||
};
|
|
||||||
connection = {
|
|
||||||
id = "WeWorkWiFi";
|
|
||||||
type = "wifi";
|
|
||||||
};
|
|
||||||
wifi.ssid = "WeWorkWiFi";
|
|
||||||
wifi-security.key-mgmt = "wpa-eap";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,13 +0,0 @@
|
||||||
{
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
config = lib.mkIf config.alyraffauf.system.zramSwap.enable {
|
|
||||||
zramSwap = {
|
|
||||||
enable = true;
|
|
||||||
memoryPercent = config.alyraffauf.system.zramSwap.size;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
Loading…
Reference in a new issue