Compare commits
No commits in common. "f05dfab5c59d6d4cc47abd86f90ed031bded2c4b" and "c7c866f8a5e2a8a29cf9efdadeb25a82d53dc514" have entirely different histories.
f05dfab5c5
...
c7c866f8a5
31 changed files with 72 additions and 78 deletions
|
@ -1,12 +1,11 @@
|
|||
inputs: let
|
||||
inherit (inputs) self;
|
||||
inherit (builtins) filter map toString;
|
||||
inherit (inputs.nixpkgs) lib;
|
||||
inherit (lib.attrsets) recursiveUpdate;
|
||||
inherit (lib.filesystem) listFilesRecursive;
|
||||
inherit (lib.lists) concatLists flatten singleton;
|
||||
inherit (lib) nixosSystem recursiveUpdate;
|
||||
inherit (builtins) filter map toString;
|
||||
inherit (lib.filesystem) listFilesRecursive;
|
||||
inherit (lib.strings) hasSuffix;
|
||||
inherit (lib) nixosSystem;
|
||||
# NOTE: This was inspired by raf, and I find this
|
||||
# to be quite a sane way of managing all modules in my flake.
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{lib, ...}: let
|
||||
inherit (lib.options) mkOption;
|
||||
inherit (lib) mkOption;
|
||||
inherit (lib.types) submodule int ints number attrsOf ;
|
||||
in {
|
||||
options.modules.system.hardware.monitors = mkOption {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{lib, ...}: let
|
||||
inherit (lib.options) mkEnableOption;
|
||||
inherit (lib) mkEnableOption mkOption types;
|
||||
in {
|
||||
options.modules.system.networking = {
|
||||
nftbles.enable = mkEnableOption "Nftables firewall";
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
{lib, ...}: let
|
||||
inherit (lib.types) str enum;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib) mkEnableOption mkOption types;
|
||||
in {
|
||||
options.modules.system.programs = {
|
||||
editors = {
|
||||
|
@ -20,30 +19,30 @@ in {
|
|||
|
||||
git = {
|
||||
signingKey = mkOption {
|
||||
type = str;
|
||||
type = types.str;
|
||||
default = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILPiRe9OH/VtWFWyy5QbAVcN7CLxr4zUtRCwmxD6aeN6";
|
||||
description = "The default gpg key used for signing commits";
|
||||
};
|
||||
};
|
||||
default = {
|
||||
terminal = mkOption {
|
||||
type = enum ["foot" "kitty"];
|
||||
type = types.enum ["foot" "kitty"];
|
||||
default = "foot";
|
||||
};
|
||||
fileManager = mkOption {
|
||||
type = enum ["thunar" "dolphin" "nemo"];
|
||||
type = types.enum ["thunar" "dolphin" "nemo"];
|
||||
default = "thunar";
|
||||
};
|
||||
browser = mkOption {
|
||||
type = enum ["firefox" "librewolf" "chromium"];
|
||||
type = types.enum ["firefox" "librewolf" "chromium"];
|
||||
default = "firefox";
|
||||
};
|
||||
editor = mkOption {
|
||||
type = enum ["neovim" "helix" "emacs"];
|
||||
type = types.enum ["neovim" "helix" "emacs"];
|
||||
default = "emacs";
|
||||
};
|
||||
launcher = mkOption {
|
||||
type = enum ["anyrun" "rofi" "wofi"];
|
||||
type = types.enum ["anyrun" "rofi" "wofi"];
|
||||
default = "anyrun";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
{lib, ...}: let
|
||||
inherit (lib.options) mkOption;
|
||||
inherit (lib.types) str;
|
||||
inherit (lib) mkOption types;
|
||||
in {
|
||||
options.modules.other.system = {
|
||||
username = mkOption {
|
||||
description = "username for this system";
|
||||
type = str;
|
||||
type = types.str;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -5,8 +5,7 @@
|
|||
}: let
|
||||
cfg = config.modules.programs.nh;
|
||||
inherit (config.modules.other.system) username;
|
||||
inherit (lib.modules) mkIf;
|
||||
inherit (lib.options) mkEnableOption;
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
in {
|
||||
options.modules.programs.nh.enable = mkEnableOption "nh";
|
||||
|
||||
|
|
|
@ -4,11 +4,11 @@
|
|||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.modules) mkIf;
|
||||
|
||||
inherit (config.meta.mainUser) username;
|
||||
cfg = config.modules.system.programs.terminals.foot;
|
||||
colours = config.modules.style.colorScheme.colors;
|
||||
inherit (config.meta.mainUser) username;
|
||||
|
||||
inherit (lib) mkIf;
|
||||
|
||||
foot-config = pkgs.writeText "foot.ini" (lib.generators.toINI {} {
|
||||
main = {
|
||||
|
|
|
@ -4,10 +4,9 @@
|
|||
pkgs,
|
||||
...
|
||||
}: let
|
||||
cfg = config.modules.programs.minecraft;
|
||||
inherit (lib.options) mkEnableOption;
|
||||
inherit (lib.modules) mkIf;
|
||||
|
||||
cfg = config.modules.programs.minecraft;
|
||||
in {
|
||||
options.modules.programs.minecraft = {
|
||||
enable = mkEnableOption "minecraft";
|
||||
|
|
|
@ -4,9 +4,7 @@
|
|||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.options) mkEnableOption;
|
||||
inherit (lib.modules) mkIf;
|
||||
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
cfg = config.modules.programs.btop;
|
||||
|
||||
btop-settings = pkgs.writeTextDir "btop/btop.conf" ''
|
||||
|
|
|
@ -3,10 +3,9 @@
|
|||
lib,
|
||||
...
|
||||
}: let
|
||||
cfg = config.modules.services.kanata;
|
||||
inherit (lib.modules) mkIf;
|
||||
inherit (lib.options) mkEnableOption;
|
||||
|
||||
cfg = config.modules.services.kanata;
|
||||
in {
|
||||
options.modules.services.kanata.enable = mkEnableOption "kanata";
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
}: let
|
||||
inherit (lib.meta) getExe';
|
||||
inherit (lib.modules) mkIf;
|
||||
|
||||
cfg = config.modules.system.services.nextcloud;
|
||||
in {
|
||||
options.modules.system.services.nextcloud.enable = lib.mkEnableOption "nextcloud";
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
}: let
|
||||
inherit (lib.modules) mkIf;
|
||||
inherit (lib.options) mkEnableOption;
|
||||
|
||||
cfg = config.modules.system.services.database.postgresql;
|
||||
in {
|
||||
options.modules.system.services.database.postgresql.enable = mkEnableOption "postgresql";
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{lib, ...}: let
|
||||
inherit (lib.options) mkEnableOption;
|
||||
inherit (lib) mkEnableOption;
|
||||
in {
|
||||
options.modules.programs.ssh.enable = mkEnableOption "ssh";
|
||||
config = {
|
||||
|
|
|
@ -11,8 +11,9 @@
|
|||
...
|
||||
}: let
|
||||
inherit (lib.options) mkOption literalExpression;
|
||||
inherit (lib.strings) toLower replaceStrings removePrefix hasPrefix isString;
|
||||
inherit (lib.types) str nullOr enum mkOptionType attrsOf coercedTo;
|
||||
inherit (lib.strings) toLower replaceStrings removePrefix hasPrefix isString;
|
||||
# inherit (lib) serializeTheme;
|
||||
|
||||
cfg = config.modules.style;
|
||||
|
||||
|
|
|
@ -4,10 +4,9 @@
|
|||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.modules) mkIf;
|
||||
inherit (lib.options) mkOption mkEnableOption;
|
||||
inherit (lib.types) str package;
|
||||
|
||||
inherit (lib.modules) mkIf;
|
||||
cfg = config.modules.theming.gtk;
|
||||
in {
|
||||
options.modules.theming.gtk = {
|
||||
|
|
|
@ -5,9 +5,8 @@
|
|||
...
|
||||
}: let
|
||||
inherit (lib.modules) mkIf;
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib) mkEnableOption mkOption;
|
||||
inherit (lib.types) str package;
|
||||
|
||||
cfg = config.modules.theming.qt;
|
||||
in {
|
||||
options.modules.theming.qt = {
|
||||
|
|
|
@ -4,16 +4,13 @@
|
|||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (builtins) toString isBool;
|
||||
inherit (lib.generators) toINI;
|
||||
inherit (lib.modules) mkMerge mkIf;
|
||||
inherit (lib.options) mkEnableOption;
|
||||
inherit (lib.strings) escape;
|
||||
inherit (lib.trivial) boolToString;
|
||||
|
||||
cfg = config.modules.theming;
|
||||
inherit (builtins) toString isBool;
|
||||
inherit (lib) boolToString escape generators;
|
||||
|
||||
toGtk3Ini = toINI {
|
||||
toGtk3Ini = generators.toINI {
|
||||
mkKeyValue = key: value: let
|
||||
value' =
|
||||
if isBool value
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
...
|
||||
}: let
|
||||
inherit (lib.modules) mkForce;
|
||||
inherit (lib.modules) mkIf;
|
||||
inherit (lib.options) mkEnableOption;
|
||||
|
||||
cfg = config.modules.system.boot;
|
||||
in {
|
||||
options.modules.system.boot = {
|
||||
|
@ -31,8 +31,6 @@ in {
|
|||
};
|
||||
loader = {
|
||||
efi.canTouchEfiVariables = true;
|
||||
# I love spamming space
|
||||
timeout = 0;
|
||||
systemd-boot = {
|
||||
enable = cfg.systemd-boot.enable;
|
||||
editor = mkForce false;
|
||||
|
|
|
@ -4,9 +4,8 @@
|
|||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.modules) mkIf;
|
||||
|
||||
cfg = config.modules.system.hardware.bluetooth;
|
||||
inherit (lib) mkIf;
|
||||
in {
|
||||
config = mkIf cfg.enable {
|
||||
hardware.bluetooth = {
|
||||
|
|
|
@ -4,7 +4,8 @@
|
|||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.modules) mkDefault;
|
||||
inherit (lib) mkDefault mkIf;
|
||||
inherit (config.modules.system.video) nvidia amd;
|
||||
in {
|
||||
hardware = {
|
||||
cpu.intel.updateMicrocode = mkDefault config.hardware.enableRedistributableFirmware;
|
||||
|
|
|
@ -3,9 +3,8 @@
|
|||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.modules) mkIf;
|
||||
|
||||
cfg = config.modules.system.sound;
|
||||
inherit (lib) mkIf;
|
||||
in {
|
||||
config = mkIf cfg.enable {
|
||||
services.pipewire = {
|
||||
|
|
|
@ -6,8 +6,7 @@
|
|||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.attrsets) mapAttrsToList;
|
||||
inherit (lib.modules) mkForce;
|
||||
inherit (lib) mapAttrsToList mkForce;
|
||||
in {
|
||||
imports = [
|
||||
./documentation.nix # nixos documentation
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.modules) mkIf mkForce;
|
||||
inherit (lib) mkIf mkForce;
|
||||
inherit (builtins) map;
|
||||
|
||||
cfg = config.modules.system.impermanence;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{lib, ...}: let
|
||||
inherit (lib.modules) mkForce;
|
||||
inherit (lib) mkForce;
|
||||
in {
|
||||
networking.networkmanager = {
|
||||
enable = true;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.modules) mkForce mkDefault;
|
||||
inherit (lib) mkForce mkDefault;
|
||||
in {
|
||||
security = {
|
||||
sudo-rs.enable = mkForce false;
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
cfg = config.modules.desktops.hyprland;
|
||||
inherit (builtins) map genList toString;
|
||||
inherit (lib.meta) getExe getExe';
|
||||
in {
|
||||
|
@ -47,10 +49,10 @@ in {
|
|||
"$mainMod, V, togglespecialworkspace, audio"
|
||||
|
||||
# Reload hyprland
|
||||
"$mainMod, R, exec, ${getExe' pkgs.hyprland "hyprctl"} reload"
|
||||
"$mainMod, R, exec, ${cfg.package}/bin/hyprctl reload"
|
||||
|
||||
# Restart waybar
|
||||
"$mainMod CONTROL, B, exec, ${pkgs.procps}/bin/pkill waybar || ${getExe pkgs.waybar}"
|
||||
"$mainMod CONTROL, B, exec, ${pkgs.procps}/bin/pkill waybar || ${pkgs.waybar}/bin/waybar"
|
||||
];
|
||||
|
||||
binde = [
|
||||
|
|
|
@ -5,11 +5,11 @@
|
|||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.modules) mkIf;
|
||||
inherit (lib.options) mkOption;
|
||||
inherit (lib.types) bool;
|
||||
|
||||
cfg = config.modules.desktops.hyprland;
|
||||
# inherit (inputs.hyprsplit.packages.${pkgs.system}) hyprsplit;
|
||||
inherit (lib.modules) mkIf mkDefault;
|
||||
inherit (lib.options) mkOption;
|
||||
inherit (lib.types) bool enum package;
|
||||
in {
|
||||
imports = [
|
||||
./binds.nix
|
||||
|
@ -19,6 +19,8 @@ in {
|
|||
./workspaces.nix
|
||||
inputs.hyprland.nixosModules.default
|
||||
];
|
||||
# we disable the default hyprland module
|
||||
# disabledModules = ["programs/hyprland.nix"];
|
||||
|
||||
options.modules.desktops.hyprland = {
|
||||
enable = mkOption {
|
||||
|
@ -28,6 +30,19 @@ in {
|
|||
Whether to enable Hyprland wayland compositor.
|
||||
'';
|
||||
};
|
||||
|
||||
package = mkOption {
|
||||
type = package;
|
||||
default = pkgs.hyprland;
|
||||
description = ''
|
||||
The Hyprland package to be used.
|
||||
'';
|
||||
};
|
||||
portalPackage = mkOption {
|
||||
type = package;
|
||||
default = pkgs.xdg-desktop-portal-hyprland;
|
||||
description = "The hyprland portal package";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
@ -44,14 +59,15 @@ in {
|
|||
# xdg Portal
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
xdgOpenUsePortal = true;
|
||||
configPackages = mkDefault [
|
||||
pkgs.xdg-desktop-portal-hyprland
|
||||
];
|
||||
extraPortals = [
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
pkgs.xdg-desktop-portal-hyprland
|
||||
];
|
||||
config = {
|
||||
common.default = ["*"];
|
||||
hyprland.default = ["gtk" "hyprland"];
|
||||
common.default = ["gtk" "hyprland"];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -3,11 +3,10 @@
|
|||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (builtins) toString;
|
||||
inherit (lib.attrsets) mapAttrsToList;
|
||||
|
||||
inherit (config.modules.style.colorScheme) colors;
|
||||
inherit (config.modules.system.hardware) monitors;
|
||||
inherit (lib) mapAttrsToList;
|
||||
inherit (builtins) toString;
|
||||
inherit (config.modules.style.colorScheme) colors;
|
||||
in {
|
||||
config = {
|
||||
programs.hyprland = {
|
||||
|
|
|
@ -3,11 +3,9 @@
|
|||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (builtins) map genList attrNames toString;
|
||||
inherit (lib.lists) imap0 flatten;
|
||||
inherit (lib.strings) optionalString;
|
||||
|
||||
inherit (config.modules.system.hardware) monitors;
|
||||
inherit (lib) imap0 flatten optionalString;
|
||||
inherit (builtins) map genList attrNames toString;
|
||||
in {
|
||||
programs.hyprland.settings = {
|
||||
# INFO: This is a custom function to map all of my monitors to workspaces.
|
||||
|
|
|
@ -3,10 +3,8 @@
|
|||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.modules) mkIf;
|
||||
inherit (lib.options) mkEnableOption;
|
||||
|
||||
cfg = config.modules.wms.wayland;
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
in {
|
||||
options.modules.wms.wayland.enable = mkEnableOption "wayland";
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
@ -32,8 +32,7 @@
|
|||
basedpyright,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.meta) getExe;
|
||||
|
||||
inherit (lib) getExe;
|
||||
toml = formats.toml {};
|
||||
helix-config = {
|
||||
theme = "gruvbox";
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue