Implemented custom system for creating and distributing color schemes based on wallpapers, and also cycling through wallpapers.

nixfmt'd the codebase
This commit is contained in:
2026-03-09 22:02:46 -04:00
parent 4308b8eb16
commit 8ee748a997
145 changed files with 2776 additions and 1125 deletions

View File

@@ -1,3 +1,17 @@
{ inputs, nixpkgs, config, self, username, host, lib, ... }: {
imports = [ ./hardware ./software ./sysenv ];
{
inputs,
nixpkgs,
config,
self,
username,
host,
lib,
...
}:
{
imports = [
./hardware
./software
./sysenv
];
}

View File

@@ -1,7 +1,12 @@
{ pkgs, lib, config, ... }: {
{
pkgs,
lib,
config,
...
}:
{
options = {
movOpts.hardwareCfg.bootLoader.enable =
lib.mkEnableOption "enables bootloader config";
movOpts.hardwareCfg.bootLoader.enable = lib.mkEnableOption "enables bootloader config";
};
config = lib.mkIf config.movOpts.hardwareCfg.bootLoader.enable {
boot = {

View File

@@ -1,8 +1,21 @@
{ inputs, nixpkgs, nixvim, config, self, username, host, ... }: {
imports = [ (import ./bootloader.nix) ] ++ [ (import ./network.nix) ]
++ [ (import ./powerprofiles.nix) ]
++ [ (import ./kernel.nix) ]
++ [ (import ./input.nix) ];
{
inputs,
nixpkgs,
nixvim,
config,
self,
username,
host,
...
}:
{
imports = [
(import ./bootloader.nix)
]
++ [ (import ./network.nix) ]
++ [ (import ./powerprofiles.nix) ]
++ [ (import ./kernel.nix) ]
++ [ (import ./input.nix) ];
hardware.keyboard.uhk.enable = true;
}

View File

@@ -1,4 +1,5 @@
{ config, pkgs, ... }: {
{ config, pkgs, ... }:
{
i18n.inputMethod = {
type = "fcitx5";
enable = true;

View File

@@ -1,4 +1,10 @@
{ lib, config, pkgs, ... }: {
{
lib,
config,
pkgs,
...
}:
{
options = {
movOpts.hardwareCfg.kernelModule.enable = lib.mkEnableOption "enables kernel module configuration";
};

View File

@@ -1,7 +1,12 @@
{ host, lib, config, ... }: {
{
host,
lib,
config,
...
}:
{
options = {
movOpts.hardwareCfg.networkModule.enable =
lib.mkEnableOption "enables network configuration";
movOpts.hardwareCfg.networkModule.enable = lib.mkEnableOption "enables network configuration";
};
config = lib.mkIf config.movOpts.hardwareCfg.networkModule.enable {
networking = {
@@ -12,13 +17,23 @@
"192.168.1.201" = [ "oganesson" ];
"192.168.1.202" = [ "mercury" ];
"192.168.1.134" = [ "hosting.localhost" ];
"192.168.1.140" = [ "panel.test" "dnsman.test" ];
"192.168.1.140" = [
"panel.test"
"dnsman.test"
];
};
firewall = {
enable = true;
allowedTCPPorts = [ 443 8080 ];
allowedTCPPorts = [
443
8080
];
allowedUDPPorts = [ 27960 ];
trustedInterfaces = [ "vnet9" "virbr0" "enp0s2" ];
trustedInterfaces = [
"vnet9"
"virbr0"
"enp0s2"
];
};
};
};

View File

@@ -1,7 +1,7 @@
{ lib, config, ... }: {
{ lib, config, ... }:
{
options = {
movOpts.hardwareCfg.powerProfiles.enable =
lib.mkEnableOption "enables power profiles";
movOpts.hardwareCfg.powerProfiles.enable = lib.mkEnableOption "enables power profiles";
};
config = lib.mkIf config.movOpts.hardwareCfg.powerProfiles.enable {
services = {

View File

@@ -1,5 +1,18 @@
{ inputs, nixpkgs, config, self, username, host, ... }: {
imports = [ (import ./packages.nix) ] ++ [ (import ./programs.nix) ]
++ [ (import ./services.nix) ] ++ [ (import ./virtualization.nix) ]
++ [ (import ./gaming) ];
{
inputs,
nixpkgs,
config,
self,
username,
host,
...
}:
{
imports = [
(import ./packages.nix)
]
++ [ (import ./programs.nix) ]
++ [ (import ./services.nix) ]
++ [ (import ./virtualization.nix) ]
++ [ (import ./gaming) ];
}

View File

@@ -1,3 +1,4 @@
{ ... }: {
{ ... }:
{
imports = [ (import ./steam.nix) ] ++ [ (import ./gaming_pkgs.nix) ];
}

View File

@@ -1,4 +1,9 @@
{ lib, config, pkgs, ... }:
{
lib,
config,
pkgs,
...
}:
let
cust-openrct2 = pkgs.openrct2.overrideAttrs (oldAttrs: {
@@ -12,10 +17,10 @@ let
cust-prismlauncher = pkgs.prismlauncher.override (oldAttrs: {
jdks = [ pkgs.temurin-bin-21 ];
});
in {
in
{
options = {
movOpts.softwareCfg.gamingPkgs.enable =
lib.mkEnableOption "enables gaming packages";
movOpts.softwareCfg.gamingPkgs.enable = lib.mkEnableOption "enables gaming packages";
};
config = lib.mkIf config.movOpts.softwareCfg.gamingPkgs.enable {
environment.systemPackages = with pkgs; [

View File

@@ -1,7 +1,12 @@
{ lib, config, pkgs, ... }: {
{
lib,
config,
pkgs,
...
}:
{
options = {
movOpts.softwareCfg.steamConfig.enable =
lib.mkEnableOption "enables steam configuration";
movOpts.softwareCfg.steamConfig.enable = lib.mkEnableOption "enables steam configuration";
};
config = lib.mkIf config.movOpts.softwareCfg.steamConfig.enable {
programs.steam = {

View File

@@ -1,71 +1,75 @@
{ lib, config, pkgs, inputs, ... }: {
{
lib,
config,
pkgs,
inputs,
...
}:
{
options = {
movOpts.softwareCfg.sysPkgs.enable =
lib.mkEnableOption "enables default system packages";
movOpts.softwareCfg.sysPkgs.enable = lib.mkEnableOption "enables default system packages";
};
config =
let
shed = inputs.shed.packages.${pkgs.stdenv.hostPlatform.system}.default;
in
lib.mkIf config.movOpts.softwareCfg.sysPkgs.enable {
environment.systemPackages = with pkgs; [
dotnetCorePackages.sdk_8_0_4xx
alsa-lib
xwayland
shed
wayland
alsa-utils
bc
cliphist
fail2ban
git
gcc
zip
unzip
hyprland-workspaces
hyprpaper
hyprpicker
inetutils
rcon-cli
kitty
lolcat
lsof
fastfetch
nh
nix-index
nix-output-monitor
nix-prefetch-scripts
nixos-option
nix-search-cli
nix-template
nixfmt
sshfs
nvd
pamixer
pavucontrol
playerctl
usbutils
vim
uhk-agent
jq
jinja2-cli
socat
python3
python313Packages.jinja2
python313Packages.pillow
ffmpeg
wl-clipboard
cmake
libnotify
gnumake
file
pkg-config
openssl
libvirt-glib
man-pages
man-pages-posix
most
wget
];
};
let
shed = inputs.shed.packages.${pkgs.stdenv.hostPlatform.system}.default;
in
lib.mkIf config.movOpts.softwareCfg.sysPkgs.enable {
environment.systemPackages = with pkgs; [
dotnetCorePackages.sdk_8_0_4xx
alsa-lib
xwayland
shed
wayland
alsa-utils
bc
cliphist
fail2ban
git
gcc
zip
unzip
hyprland-workspaces
hyprpaper
hyprpicker
inetutils
rcon-cli
kitty
lolcat
lsof
fastfetch
nh
nix-index
nix-output-monitor
nix-prefetch-scripts
nixos-option
nix-search-cli
nix-template
nixfmt
sshfs
nvd
pamixer
pavucontrol
playerctl
usbutils
vim
uhk-agent
jq
jinja2-cli
socat
myPython
ffmpeg
wl-clipboard
cmake
libnotify
gnumake
file
pkg-config
openssl
libvirt-glib
man-pages
man-pages-posix
most
wget
];
};
}

View File

@@ -1,22 +1,27 @@
{ lib, config, pkgs, ... }: {
{
lib,
config,
pkgs,
...
}:
{
options = {
movOpts.softwareCfg.sysProgs.enable =
lib.mkEnableOption "enables default system programs";
movOpts.softwareCfg.sysProgs.enable = lib.mkEnableOption "enables default system programs";
};
config = lib.mkIf config.movOpts.softwareCfg.sysProgs.enable {
environment.etc."shells" = {
enable = true;
text = ''
/run/current-system/sw/bin/zsh
/run/current-system/sw/bin/bash
/run/current-system/sw/bin/zsh
/nix/store/m7l6yzmflrf9hjs8707lk9nkhi6f73n1-zsh-5.9/bin/zsh
/run/current-system/sw/bin/bash
/run/current-system/sw/bin/sh
/nix/store/f33kh08pa7pmy4kvsmsibda46sh46s66-bash-interactive-5.2p37/bin/bash
/nix/store/f33kh08pa7pmy4kvsmsibda46sh46s66-bash-interactive-5.2p37/bin/sh
/bin/sh
/home/pagedmov/Coding/projects/rust/rsh/target/debug/rsh
/run/current-system/sw/bin/zsh
/run/current-system/sw/bin/bash
/run/current-system/sw/bin/zsh
/nix/store/m7l6yzmflrf9hjs8707lk9nkhi6f73n1-zsh-5.9/bin/zsh
/run/current-system/sw/bin/bash
/run/current-system/sw/bin/sh
/nix/store/f33kh08pa7pmy4kvsmsibda46sh46s66-bash-interactive-5.2p37/bin/bash
/nix/store/f33kh08pa7pmy4kvsmsibda46sh46s66-bash-interactive-5.2p37/bin/sh
/bin/sh
/home/pagedmov/Coding/projects/rust/rsh/target/debug/rsh
'';
};
programs = {
@@ -24,7 +29,10 @@
zsh.enable = lib.mkDefault true;
nix-ld = {
enable = lib.mkDefault true;
libraries = with pkgs; [ stdenv.cc.cc ffmpeg-full ];
libraries = with pkgs; [
stdenv.cc.cc
ffmpeg-full
];
};
gnupg.agent = {
enable = lib.mkDefault true;

View File

@@ -1,7 +1,12 @@
{ lib, pkgs, config, ... }: {
{
lib,
pkgs,
config,
...
}:
{
options = {
movOpts.softwareCfg.sysServices.enable =
lib.mkEnableOption "enables default system services";
movOpts.softwareCfg.sysServices.enable = lib.mkEnableOption "enables default system services";
};
config = lib.mkIf config.movOpts.softwareCfg.sysServices.enable {
users.users.pagedmov = {
@@ -18,7 +23,9 @@
enable = true;
keyboards.default = {
ids = [ "*" ];
settings.main = { capslock = "esc"; };
settings.main = {
capslock = "esc";
};
};
};
copyparty = {

View File

@@ -1,7 +1,13 @@
{ lib, config, username, pkgs, ... }: {
{
lib,
config,
username,
pkgs,
...
}:
{
options = {
movOpts.softwareCfg.virtConfig.enable =
lib.mkEnableOption "enables virtualization";
movOpts.softwareCfg.virtConfig.enable = lib.mkEnableOption "enables virtualization";
};
config = lib.mkIf config.movOpts.softwareCfg.virtConfig.enable {
virtualisation.libvirtd.enable = true;

View File

@@ -1,7 +1,12 @@
{ lib, config, pkgs, ... }: {
{
lib,
config,
pkgs,
...
}:
{
options = {
movOpts.sysEnv.consoleSettings.enable =
lib.mkEnableOption "enables my console settings";
movOpts.sysEnv.consoleSettings.enable = lib.mkEnableOption "enables my console settings";
};
config = lib.mkIf config.movOpts.sysEnv.consoleSettings.enable {
i18n.defaultLocale = "en_US.UTF-8";

View File

@@ -1,5 +1,19 @@
{ inputs, nixpkgs, nixvim, config, self, username, host, ... }: {
imports = [ (import ./sddm.nix) ] ++ [ (import ./issue.nix) ]
++ [ (import ./nix.nix) ] ++ [ (import ./stylix.nix) ];
{
inputs,
nixpkgs,
nixvim,
config,
self,
username,
host,
...
}:
{
imports = [
(import ./sddm.nix)
]
++ [ (import ./issue.nix) ]
++ [ (import ./nix.nix) ]
++ [ (import ./stylix.nix) ];
#++ [ (import ./console.nix) ];
}

View File

@@ -1,7 +1,7 @@
{ lib, config, ... }: {
{ lib, config, ... }:
{
options = {
movOpts.sysEnv.issue.enable =
lib.mkEnableOption "enables custom /etc/issue splash screen for the tty";
movOpts.sysEnv.issue.enable = lib.mkEnableOption "enables custom /etc/issue splash screen for the tty";
};
config = lib.mkIf config.movOpts.sysEnv.issue.enable {
environment.etc."issue".text = ''

View File

@@ -1,14 +1,17 @@
{ lib, config, ... }: {
{ lib, config, ... }:
{
options = {
movOpts.sysEnv.nixSettings.enable =
lib.mkEnableOption "enables my nixos settings";
movOpts.sysEnv.nixSettings.enable = lib.mkEnableOption "enables my nixos settings";
};
config = lib.mkIf config.movOpts.sysEnv.nixSettings.enable {
system.stateVersion = "24.05";
nix = {
settings = {
auto-optimise-store = true;
experimental-features = [ "nix-command" "flakes" ];
experimental-features = [
"nix-command"
"flakes"
];
substituters = [ "https://nix-gaming.cachix.org" ];
};
gc = {

View File

@@ -1,7 +1,13 @@
{ pkgs, self, lib, config, ... }: {
{
pkgs,
self,
lib,
config,
...
}:
{
options = {
movOpts.sysEnv.sddmConfig.enable =
lib.mkEnableOption "enables custom sddm configuration";
movOpts.sysEnv.sddmConfig.enable = lib.mkEnableOption "enables custom sddm configuration";
};
config = lib.mkIf config.movOpts.sysEnv.sddmConfig.enable {
environment.systemPackages = [

View File

@@ -1,25 +1,28 @@
{ pkgs, self, lib, config, ... }:
{
pkgs,
self,
lib,
config,
...
}:
let
scheme = "ayu-dark";
wallpaper = "${self}/assets/wallpapers/dark-waves.jpg";
in {
in
{
options = {
movOpts.sysEnv.stylixConfig.enable =
lib.mkEnableOption "enables custom stylix options";
movOpts.sysEnv.stylixConfig.enable = lib.mkEnableOption "enables custom stylix options";
};
config = lib.mkIf config.movOpts.sysEnv.stylixConfig.enable {
stylix = {
enable = true;
base16Scheme = "${pkgs.base16-schemes}/share/themes/${scheme}.yaml";
image = wallpaper;
homeManagerIntegration = {
autoImport = true;
followSystem = true;
};
polarity = "dark";
autoEnable = true;
opacity.terminal = 0.8;
targets = {
console.enable = false;
feh.enable = true;