Run alejandra

This commit is contained in:
ItsDrike 2024-07-27 01:07:07 +02:00
parent 286920def4
commit c00134da1c
Signed by: ItsDrike
GPG key ID: FA2745890B7048C0
152 changed files with 827 additions and 721 deletions

View file

@ -1,9 +1,13 @@
{ config, lib, inputs, self, ... }:
let
{
config,
lib,
inputs,
self,
...
}: let
myHmConf = config.myOptions.home-manager;
username = config.myOptions.system.username;
in
{
in {
home-manager = lib.mkIf myHmConf.enable {
# Use verbose mode for home-manager
verbose = true;
@ -23,7 +27,7 @@ in
backupFileExtension = "hm.old";
# These will be passed to all hm modules
extraSpecialArgs = { inherit inputs self; };
extraSpecialArgs = {inherit inputs self;};
users.${username} = {
# These imports will be scoped under this key so all settings

View file

@ -7,18 +7,21 @@
inherit (lib) mkIf;
cfg = osConfig.myOptions.system.impermanence.home;
in {
imports = [ inputs.impermanence.nixosModules.home-manager.impermanence ];
imports = [inputs.impermanence.nixosModules.home-manager.impermanence];
config = mkIf cfg.enable {
home.persistence."${cfg.persistentMountPoint}" = {
directories = [
".cache/nix"
".cache/nix-index"
] ++ cfg.extraDirectories;
directories =
[
".cache/nix"
".cache/nix-index"
]
++ cfg.extraDirectories;
files = [
] ++ cfg.extraFiles;
files =
[
]
++ cfg.extraFiles;
# Allow other users (such as root), to access files through the bind
# mounted directories listed in `directories`. Useful for `sudo` operations,
@ -27,13 +30,15 @@ in {
};
home.persistence."${cfg.persistentDataMountPoint}" = {
directories = [
directories =
[
]
++ cfg.extraDataDirectories;
] ++ cfg.extraDataDirectories;
files = [
] ++ cfg.extraDataFiles;
files =
[
]
++ cfg.extraDataFiles;
# See comment for this above
allowOther = true;

View file

@ -7,7 +7,7 @@
inherit (lib) mkIf;
devType = osConfig.myOptions.device.roles.type;
acceptedTypes = [ "laptop" "desktop" ];
acceptedTypes = ["laptop" "desktop"];
in {
config = mkIf (builtins.elem devType acceptedTypes) {
home.packages = with pkgs; [

View file

@ -1,15 +1,11 @@
{
pkgs,
...
}: let
scriptPkgs = (import ./packages {inherit pkgs;});
{pkgs, ...}: let
scriptPkgs = import ./packages {inherit pkgs;};
in {
home.packages = with scriptPkgs; [
bitcoin
cheatsh
colors256
unix
gh-notify
];
home.packages = with scriptPkgs; [
bitcoin
cheatsh
colors256
unix
gh-notify
];
}

View file

@ -1,5 +1,4 @@
{pkgs, ...}:
(pkgs.writeShellApplication {
{pkgs, ...}: (pkgs.writeShellApplication {
name = "bitcoin";
runtimeInputs = with pkgs; [coreutils curl jq];
text = ''

View file

@ -1,5 +1,4 @@
{pkgs, ...}:
(pkgs.writeShellApplication {
{pkgs, ...}: (pkgs.writeShellApplication {
name = "cheat.sh";
runtimeInputs = with pkgs; [coreutils curl jq gnugrep fzf];
text = ''

View file

@ -1,9 +1,7 @@
{pkgs, ...}:
(pkgs.writeShellApplication {
{pkgs, ...}: (pkgs.writeShellApplication {
name = "colors-256";
runtimeInputs = with pkgs; [coreutils];
text = ''
${builtins.readFile ./colors-256.sh}
'';
})

View file

@ -1,7 +1,4 @@
{
pkgs,
...
}: let
{pkgs, ...}: let
packages = {
bitcoin = pkgs.callPackage ./bitcoin.nix {};
cheatsh = pkgs.callPackage ./cheatsh {};
@ -11,4 +8,3 @@
};
in
packages

View file

@ -1,5 +1,4 @@
{pkgs, ...}:
(pkgs.writeShellApplication {
{pkgs, ...}: (pkgs.writeShellApplication {
name = "gh-notify";
runtimeInputs = with pkgs; [
coreutils
@ -12,5 +11,3 @@
${builtins.readFile ./gh-notify.sh}
'';
})

View file

@ -1,10 +1,7 @@
{pkgs, ...}:
(pkgs.writeShellApplication {
{pkgs, ...}: (pkgs.writeShellApplication {
name = "unix";
runtimeInputs = with pkgs; [coreutils];
text = ''
${builtins.readFile ./unix.sh}
'';
})

View file

@ -7,10 +7,9 @@
...
}: let
inherit (lib) mkIf;
in {
config = mkIf osConfig.myOptions.home-manager.wms.isWayland {
home.packages = with pkgs; [ swappy ];
home.packages = with pkgs; [swappy];
xdg.configFile."swappy/config".text = lib.generators.toINI {} {
Default = {

View file

@ -5,11 +5,8 @@
...
}: let
inherit (lib) mkIf;
in {
config = mkIf osConfig.myOptions.home-manager.wms.isWayland {
home.packages = with pkgs; [ wlogout ];
home.packages = with pkgs; [wlogout];
};
}

View file

@ -16,6 +16,3 @@ in {
];
};
}

View file

@ -9,6 +9,6 @@
cfg = osConfig.myOptions.home-manager.programs.applications.qalculate-gtk;
in {
config = mkIf cfg.enable {
home.packages = with pkgs; [ qalculate-gtk ];
home.packages = with pkgs; [qalculate-gtk];
};
}

View file

@ -14,4 +14,3 @@ in {
];
};
}

View file

@ -14,4 +14,3 @@ in {
];
};
}

View file

@ -9,13 +9,13 @@
cfg = osConfig.myOptions.home-manager.programs.applications.vesktop;
in {
config = mkIf cfg.enable {
home.packages = with pkgs; [ vesktop ];
home.packages = with pkgs; [vesktop];
systemd.user.services."vesktop" = mkIf cfg.autoStart {
Unit = {
Description = "Vesktop (An alternate client for Discord with Vencord built-in)";
After = [ "graphical-session.target" ];
PartOf = [ "graphical-session.target" ];
After = ["graphical-session.target"];
PartOf = ["graphical-session.target"];
};
Service = {
@ -24,7 +24,7 @@ in {
ExecStart = "${pkgs.vesktop}/bin/vesktop";
};
Install.WantedBy = [ "graphical-session.target" ];
Install.WantedBy = ["graphical-session.target"];
};
};
}

View file

@ -17,8 +17,8 @@ in {
systemd.user.services."webcord" = mkIf cfg.autoStart {
Unit = {
Description = "Webcord (An electron-based Discord client implemented without Discord API with Vencord built-in)";
After = [ "graphical-session.target" ];
PartOf = [ "graphical-session.target" ];
After = ["graphical-session.target"];
PartOf = ["graphical-session.target"];
};
Service = {
@ -27,8 +27,7 @@ in {
ExecStart = "${pkgs.webcord-vencord}/bin/webcord";
};
Install.WantedBy = [ "graphical-session.target" ];
Install.WantedBy = ["graphical-session.target"];
};
};
}

View file

@ -6,7 +6,7 @@
}: let
inherit (lib) mkIf;
scriptPkgs = (import ../../../../packages/cli/scripts/packages {inherit pkgs;});
scriptPkgs = import ../../../../packages/cli/scripts/packages {inherit pkgs;};
cfg = osConfig.myOptions.home-manager.programs.bars.eww;
in {
@ -44,8 +44,8 @@ in {
in {
Unit = {
Description = "ElKowar's Wacky Widgets (eww) daemon";
After = [ "graphical-session-pre.target" ];
PartOf = [ "graphical-session.target" ];
After = ["graphical-session-pre.target"];
PartOf = ["graphical-session.target"];
};
Service = {
@ -63,14 +63,14 @@ in {
Nice = 19;
};
Install.WantedBy = [ "graphical-session.target" ];
Install.WantedBy = ["graphical-session.target"];
};
"eww-window-bar0" = {
Unit = {
Description = "Open bar0 eww (ElKowar's Wacky Widgets) window";
After = [ "eww.service" ];
PartOf = [ "graphical-session.target" "eww.service" ];
After = ["eww.service"];
PartOf = ["graphical-session.target" "eww.service"];
};
Service = {
@ -82,7 +82,7 @@ in {
Restart = "on-failure";
};
Install.WantedBy = [ "graphical-session.target" ];
Install.WantedBy = ["graphical-session.target"];
};
};
};

View file

@ -14,7 +14,8 @@ in {
enable = true;
package = pkgs.ungoogled-chromium.override {
commandLineArgs = [
commandLineArgs =
[
# Ungoogled features
"--disable-search-engine-collection"
"--extension-mime-request-handling=always-prompt-for-install"
@ -60,12 +61,12 @@ in {
"--disable-sync"
"--disable-speech-api"
"--disable-speech-synthesis-api"
] ++ optionals isWayland [
]
++ optionals isWayland [
"--ozone-platform=wayland"
"--enable-features=UseOzonePlatform"
];
];
};
};
};
}

View file

@ -6,4 +6,3 @@ _: {
./firefox
];
}

View file

@ -34,7 +34,7 @@ in {
search = {
defaultSearchEngine = "Brave";
removeEngines = [ "Bing" "Amazon.com" "eBay" "Twitter" "Wikipedia" "LibRedirect" ];
removeEngines = ["Bing" "Amazon.com" "eBay" "Twitter" "Wikipedia" "LibRedirect"];
searxUrl = "https://searx.be";
searxQuery = "https://searx.be/search?q={searchTerms}&categories=general";
@ -47,32 +47,32 @@ in {
URLTemplate = "https://search.brave.com/search?q={searchTerms}";
}
{
Name = "NixOS Packages";
Description = "NixOS Unstable package search";
Alias = "!np";
Method = "GET";
URLTemplate = "https://search.nixos.org/packages?channel=unstable&query={searchTerms}";
Name = "NixOS Packages";
Description = "NixOS Unstable package search";
Alias = "!np";
Method = "GET";
URLTemplate = "https://search.nixos.org/packages?channel=unstable&query={searchTerms}";
}
{
Name = "NixOS Options";
Description = "NixOS Unstable option search";
Alias = "!no";
Method = "GET";
URLTemplate = "https://search.nixos.org/options?channel=unstable&query={searchTerms}";
Name = "NixOS Options";
Description = "NixOS Unstable option search";
Alias = "!no";
Method = "GET";
URLTemplate = "https://search.nixos.org/options?channel=unstable&query={searchTerms}";
}
{
Name = "NixOS Wiki";
Description = "NixOS Wiki search";
Alias = "!nw";
Method = "GET";
URLTemplate = "https://nixos.wiki/index.php?search={searchTerms}";
Name = "NixOS Wiki";
Description = "NixOS Wiki search";
Alias = "!nw";
Method = "GET";
URLTemplate = "https://nixos.wiki/index.php?search={searchTerms}";
}
{
Name = "Home Manager Options";
Description = "Home Manager option search";
Alias = "!hm";
Method = "GET";
URLTemplate = "https://mipmip.github.io/home-manager-option-search?query={searchTerms}";
Name = "Home Manager Options";
Description = "Home Manager option search";
Alias = "!hm";
Method = "GET";
URLTemplate = "https://mipmip.github.io/home-manager-option-search?query={searchTerms}";
}
{
Name = "MyNixOS";
@ -82,25 +82,25 @@ in {
URLTemplate = "https://mynixos.com/search?q={searchTerms}";
}
{
Name = "Arch Wiki";
Description = "Arch Wiki search";
Alias = "!aw";
Method = "GET";
URLTemplate = "https://wiki.archlinux.org/index.php?search={searchTerms}";
Name = "Arch Wiki";
Description = "Arch Wiki search";
Alias = "!aw";
Method = "GET";
URLTemplate = "https://wiki.archlinux.org/index.php?search={searchTerms}";
}
{
Name = "Gentoo Wiki";
Description = "Gentoo Wiki search";
Alias = "!gw";
Method = "GET";
URLTemplate = "https://wiki.gentoo.org/index.php?search={searchTerms}";
Name = "Gentoo Wiki";
Description = "Gentoo Wiki search";
Alias = "!gw";
Method = "GET";
URLTemplate = "https://wiki.gentoo.org/index.php?search={searchTerms}";
}
{
Name = "Debian Wiki";
Description = "Debian Wiki search";
Alias = "!dw";
Method = "GET";
URLTemplate = "https://wiki.debian.org/FrontPage?action=fullsearch&value={searchTerms}";
Name = "Debian Wiki";
Description = "Debian Wiki search";
Alias = "!dw";
Method = "GET";
URLTemplate = "https://wiki.debian.org/FrontPage?action=fullsearch&value={searchTerms}";
}
];
};
@ -142,10 +142,10 @@ in {
}
];
extraExtensions = builtins.foldl' (acc: ext: acc // {ext.id = { install_url = mkUrl ext.name;};}) {} extensions;
in extraExtensions;
extraExtensions = builtins.foldl' (acc: ext: acc // {ext.id = {install_url = mkUrl ext.name;};}) {} extensions;
in
extraExtensions;
};
};
};
}

View file

@ -10,7 +10,7 @@
cfgPreferences = osConfig.myOptions.home-manager.preferences;
in {
config = mkIf cfg.enable {
home.packages = with pkgs; [ lxqt.pcmanfm-qt ];
home.packages = with pkgs; [lxqt.pcmanfm-qt];
xdg.configFile."pcmanfm-qt/default/settings.conf".text = lib.generators.toINI {} {
Behavior = {
@ -109,7 +109,7 @@ in {
Thumbnail = {
MaxExternalThumbnailFileSize = -1;
MaxThumbnailFileSize = 40960; # 40 MB
MaxThumbnailFileSize = 40960; # 40 MB
ShowThumbnails = true;
ThumbnailLocalFilesOnly = true;
};

View file

@ -9,6 +9,6 @@
cfg = osConfig.myOptions.home-manager.programs.games.prismlauncher;
in {
config = mkIf cfg.enable {
home.packages = with pkgs; [ prismlauncher ];
home.packages = with pkgs; [prismlauncher];
};
}

View file

@ -8,7 +8,7 @@
inherit (lib) mkIf;
cfg = osConfig.myOptions.home-manager.programs.launchers.walker;
in {
imports = [ inputs.walker.homeManagerModules.walker ];
imports = [inputs.walker.homeManagerModules.walker];
config = mkIf cfg.enable {
programs.walker = {
enable = true;
@ -25,13 +25,13 @@ in {
fullscreen = false;
scrollbar_policy = "automatic";
websearch = {
engines = ["google" "duckduckgo"];
engines = ["google" "duckduckgo"];
};
hyprland = {
context_aware_history = false;
};
applications = {
enable_cache = false; # disabling doesn't cause slowdowns, and allows picking up new apps automatically
enable_cache = false; # disabling doesn't cause slowdowns, and allows picking up new apps automatically
};
# Mode for picking the entry with keyboard using labels
@ -48,7 +48,7 @@ in {
hide_spinner = false;
};
runner = {
excludes = ["rm"]; # commands to be excluded from the runner
excludes = ["rm"]; # commands to be excluded from the runner
};
clipboard = {
max_entries = 10;
@ -82,7 +82,7 @@ in {
};
orientation = "vertical";
icons = {
theme = ""; # GTK Icon theme (default)
theme = ""; # GTK Icon theme (default)
hide = false;
size = 28;
image_height = 200;
@ -127,7 +127,7 @@ in {
switcher_exclusive = true;
}
{
name = "websearch"; # uses google
name = "websearch"; # uses google
prefix = "";
switcher_exclusive = true;
}

View file

@ -10,4 +10,3 @@
};
};
}

View file

@ -1,7 +1,4 @@
{
osConfig,
...
}: let
{osConfig, ...}: let
cfg = osConfig.myOptions.home-manager.wms.hyprland;
in {
wayland.windowManager.hyprland.settings = {
@ -29,4 +26,3 @@ in {
monitor = cfg.monitor;
};
}

View file

@ -1,4 +1,8 @@
{ config, osConfig, ... }: let
{
config,
osConfig,
...
}: let
cfgPreferences = osConfig.myOptions.home-manager.preferences;
in {
wayland.windowManager.hyprland = {
@ -21,7 +25,7 @@ in {
"SUPER, W, killactive,"
"SUPER, F, togglefloating,"
"SUPER, Space, fullscreen, 0"
"SUPER_SHIFT, Space, fullscreen, 1" # maximize
"SUPER_SHIFT, Space, fullscreen, 1" # maximize
"CTRL_SHIFT, Space, exec, toggle-fake-fullscreen" # fake fullscreen + custom border
"SUPER_SHIFT, S, layoutmsg, togglesplit"
@ -191,7 +195,6 @@ in {
# Global keybinds (passing keys to other programs)
#
"CTRL, F10, pass, ^(com\.obsproject\.Studio)$"
];
# Mouse bindings

View file

@ -1,6 +1,6 @@
{
wayland.windowManager.hyprland.settings = {
general.layout = "dwindle";
general.layout = "dwindle";
dwindle = {
# Don't change the split (side/top) regardless of what happens to the container

View file

@ -1,10 +1,5 @@
{
config,
...
}:
{
{config, ...}: {
wayland.windowManager.hyprland.settings = {
#
# Window gaps
#
@ -34,12 +29,12 @@
group = {
# Groupped windows
"col.border_active" = "rgba(00A500FF)"; # green
"col.border_inactive" = "rgba(5AA500FF)"; # transparent green
"col.border_active" = "rgba(00A500FF)"; # green
"col.border_inactive" = "rgba(5AA500FF)"; # transparent green
# Locked groupped windows
"col.border_locked_active" = "rgba(A0A500FF)"; # yellow
"col.border_locked_inactive" = "rgba(A0A500AA)"; # transparent yellow
"col.border_locked_active" = "rgba(A0A500FF)"; # yellow
"col.border_locked_inactive" = "rgba(A0A500AA)"; # transparent yellow
};
#
@ -52,7 +47,7 @@
render_titles = false; # disable, looks kinda bad
font_family = "Monaspace Krypton";
font_size = 11;
text_color = "rgba(FFFFFFFF)"; # white
text_color = "rgba(FFFFFFFF)"; # white
# Gradients should be enabled only if title rendering is also enabled
# on their own, they look really bad
@ -81,7 +76,6 @@
"col.shadow_inactive" = "rgba(0F0F0F99)";
};
#
# Window Blur
#
@ -92,7 +86,6 @@
passes = 1;
};
#
# Dim inactive windows
#
@ -124,4 +117,3 @@
misc.animate_manual_resizes = true;
};
}

View file

@ -109,4 +109,3 @@
];
};
}

View file

@ -6,7 +6,7 @@
}: let
inherit (lib) mkIf;
hyprPkgs = (import ./packages {inherit pkgs;});
hyprPkgs = import ./packages {inherit pkgs;};
# TODO: Switch to flake
hyprlandPkg = pkgs.hyprland;
@ -15,7 +15,7 @@
cfg = osConfig.myOptions.home-manager.wms.hyprland;
in {
imports = [
./config
./config
];
config = mkIf cfg.enable {

View file

@ -1,4 +1,4 @@
{pkgs, ...}:
pkgs.writeShellScriptBin "brightness" ''
${builtins.readFile ./brightness.sh}
''
pkgs.writeShellScriptBin "brightness" ''
${builtins.readFile ./brightness.sh}
''

View file

@ -1,7 +1,4 @@
{
pkgs,
...
}: let
{pkgs, ...}: let
packages = {
hyprland-move-window = pkgs.callPackage ./hyprland-move-window {};
brightness = pkgs.callPackage ./brightness {};

View file

@ -1,5 +1,4 @@
{pkgs, ...}:
pkgs.writeShellScriptBin "hyprland-move-window" ''
${builtins.readFile ./hyprland-move-window.sh}
''
pkgs.writeShellScriptBin "hyprland-move-window" ''
${builtins.readFile ./hyprland-move-window.sh}
''

View file

@ -13,4 +13,3 @@ pkgs.writeShellApplication {
${builtins.readFile ./quick-record.sh}
'';
}

View file

@ -10,5 +10,3 @@ pkgs.writeShellApplication {
${builtins.readFile ./toggle-fake-fullscreen.sh}
'';
}

View file

@ -10,6 +10,3 @@ pkgs.writeShellApplication {
${builtins.readFile ./toggle-notifications.sh}
'';
}

View file

@ -9,6 +9,6 @@
cfg = osConfig.myOptions.home-manager.programs.coding.python;
in {
config = mkIf cfg.enable {
home.packages = with pkgs; [ python312Packages.ipython ];
home.packages = with pkgs; [python312Packages.ipython];
};
}

View file

@ -9,6 +9,6 @@
cfg = osConfig.myOptions.home-manager.programs.coding.python;
in {
config = mkIf cfg.enable {
home.packages = with pkgs; [ python312Packages.mypy ];
home.packages = with pkgs; [python312Packages.mypy];
};
}

View file

@ -9,6 +9,6 @@
cfg = osConfig.myOptions.home-manager.programs.coding.python;
in {
config = mkIf cfg.enable {
home.packages = with pkgs; [ pyright ];
home.packages = with pkgs; [pyright];
};
}

View file

@ -15,52 +15,52 @@ in {
line-length = 119;
lint = {
select = [
"F" # Pyflakes
"E" # Pycodestyle (errors)
"W" # Pycodestyle (warnigns)
"N" # pep8-naming
"D" # pydocstyle
"UP" # pyupgrade
"YTT" # flake8-2020
"ANN" # flake8-annotations
"F" # Pyflakes
"E" # Pycodestyle (errors)
"W" # Pycodestyle (warnigns)
"N" # pep8-naming
"D" # pydocstyle
"UP" # pyupgrade
"YTT" # flake8-2020
"ANN" # flake8-annotations
"ASYNC" # flake8-async
"S" # flake8-bandit
"BLE" # flake8-blind-except
"B" # flake8-bugbear
"A" # flake8-builtins
"COM" # flake8-commas
"C4" # flake8-comprehensions
"DTZ" # flake8-datetimez
"T10" # flake8-debugger
"EM" # flake8-errmsg
"EXE" # flake8-executable
"FA" # flake8-future-annotations
"ISC" # flake8-implicit-str-concat
"ICN" # flake8-import-conventions
"LOG" # flake8-logging
"G" # flake8-logging-format
"INP" # flake8-no-pep420
"PIE" # flake8-pie
"T20" # flake8-print
"PYI" # flake8-pyi
"PT" # flake8-pytest-style
"Q" # flake8-quotes
"RSE" # flake8-raise
"RET" # flake8-return
"SLOT" # flake8-slots
"SIM" # flake8-simplify
"TID" # flake8-tidy-imports
"TCH" # flake8-type-checking
"INT" # flake8-gettext
"PTH" # flake8-use-pathlib
"TD" # flake8-todos
"ERA" # flake8-eradicate
"PGH" # pygrep-hooks
"PL" # pylint
"TRY" # tryceratops
"FLY" # flynt
"PERF" # perflint
"RUF" # ruff-specific rules
"S" # flake8-bandit
"BLE" # flake8-blind-except
"B" # flake8-bugbear
"A" # flake8-builtins
"COM" # flake8-commas
"C4" # flake8-comprehensions
"DTZ" # flake8-datetimez
"T10" # flake8-debugger
"EM" # flake8-errmsg
"EXE" # flake8-executable
"FA" # flake8-future-annotations
"ISC" # flake8-implicit-str-concat
"ICN" # flake8-import-conventions
"LOG" # flake8-logging
"G" # flake8-logging-format
"INP" # flake8-no-pep420
"PIE" # flake8-pie
"T20" # flake8-print
"PYI" # flake8-pyi
"PT" # flake8-pytest-style
"Q" # flake8-quotes
"RSE" # flake8-raise
"RET" # flake8-return
"SLOT" # flake8-slots
"SIM" # flake8-simplify
"TID" # flake8-tidy-imports
"TCH" # flake8-type-checking
"INT" # flake8-gettext
"PTH" # flake8-use-pathlib
"TD" # flake8-todos
"ERA" # flake8-eradicate
"PGH" # pygrep-hooks
"PL" # pylint
"TRY" # tryceratops
"FLY" # flynt
"PERF" # perflint
"RUF" # ruff-specific rules
];
ignore = [
"D100" # Missing docstring in public module
@ -100,25 +100,25 @@ in {
"TD002" # Missing author in TODO
"TD003" # Missing issue link on the line following this TODO
"PT011" # pytest.raises without match parameter is too broad # TODO: Unignore this
"TRY003" # No f-strings in raise statements
"EM101" # No string literals in exception init
"EM102" # No f-strings in exception init
"UP024" # Using errors that alias OSError
"PT011" # pytest.raises without match parameter is too broad # TODO: Unignore this
"TRY003" # No f-strings in raise statements
"EM101" # No string literals in exception init
"EM102" # No f-strings in exception init
"UP024" # Using errors that alias OSError
"PLR2004" # Using unnamed numerical constants
"PGH003" # Using specific rule codes in type ignores
"E731" # Don't asign a lambda expression, use a def
"PGH003" # Using specific rule codes in type ignores
"E731" # Don't asign a lambda expression, use a def
# Redundant rules with ruff-format:
"E111" # Indentation of a non-multiple of 4 spaces
"E114" # Comment with indentation of a non-multiple of 4 spaces
"E117" # Cheks for over-indented code
"D206" # Checks for docstrings indented with tabs
"D300" # Checks for docstring that use ''' instead of """
"Q000" # Checks of inline strings that use wrong quotes (' instead of ")
"Q001" # Multiline string that use wrong quotes (''' instead of """)
"Q002" # Checks for docstrings that use wrong quotes (''' instead of """)
"Q003" # Checks for avoidable escaped quotes ("\"" -> '"')
"E111" # Indentation of a non-multiple of 4 spaces
"E114" # Comment with indentation of a non-multiple of 4 spaces
"E117" # Cheks for over-indented code
"D206" # Checks for docstrings indented with tabs
"D300" # Checks for docstring that use ''' instead of """
"Q000" # Checks of inline strings that use wrong quotes (' instead of ")
"Q001" # Multiline string that use wrong quotes (''' instead of """)
"Q002" # Checks for docstrings that use wrong quotes (''' instead of """)
"Q003" # Checks for avoidable escaped quotes ("\"" -> '"')
"COM812" # Missing trailing comma (in multi-line lists/tuples/...)
"COM819" # Prohibited trailing comma (in single-line lists/tuples/...)
"ISC001" # Single line implicit string concatenation ("hi" "hey" -> "hihey")
@ -126,7 +126,7 @@ in {
];
extend-per-file-ignores = {
"tests/*" = [
"ANN" # flake8-annotations
"ANN" # flake8-annotations
"S101" # Use of assert
];
"docs/conf.py" = [
@ -139,10 +139,10 @@ in {
combine-as-imports = true;
# Redundant rules with ruff-format
force-single-line = false; # forces all imports to appear on their own line
force-wrap-aliases = false; # Split imports with multiple members and at least one alias
lines-after-imports = -1; # The number of blank lines to place after imports
lines-between-types = 0; # Number of lines to place between "direct" and import from imports
force-single-line = false; # forces all imports to appear on their own line
force-wrap-aliases = false; # Split imports with multiple members and at least one alias
lines-after-imports = -1; # The number of blank lines to place after imports
lines-between-types = 0; # Number of lines to place between "direct" and import from imports
split-on-trailing-comma = false; # if last member of multiline import has a comma, don't fold it to single line
};
pylint = {

View file

@ -13,7 +13,7 @@
in {
config = mkIf cfg.enable {
home = {
packages = with pkgs; [ rye ];
packages = with pkgs; [rye];
sessionVariables = {
RYE_HOME = "${config.xdg.configHome}/rye";
@ -32,7 +32,7 @@ in {
# see: <https://rye.astral.sh/guide/config/#config-file>
xdg.configFile."rye/config.toml".source = toTOML "config.toml" {
default.license = "GPL-3.0-or-later";
behavior.global-python=true;
behavior.global-python = true;
};
};
}

View file

@ -8,5 +8,3 @@ _: {
./kitty.nix
];
}

View file

@ -1,7 +1,4 @@
{
pkgs,
...
}: {
{pkgs, ...}: {
home.packages = with pkgs; [
libsixel # for displaying images
];
@ -62,4 +59,3 @@
};
};
}

View file

@ -92,4 +92,3 @@ in {
};
};
}

View file

@ -9,4 +9,3 @@ _: {
./ranger.nix
];
}

View file

@ -16,4 +16,3 @@ in {
${(optionalString config.programs.kitty.enable "set preview_images_method kitty")}
'';
}

View file

@ -49,4 +49,3 @@
}
'';
}

View file

@ -12,4 +12,3 @@ pkgs: {
hash = "sha256-k/yre9SYNPYBM2W1DPpL6Ypt3w3EMO9dznHwa+fw/n0=";
};
}

View file

@ -38,4 +38,3 @@
};
};
}

View file

@ -144,4 +144,3 @@
"*.pkg" = "";
};
}

View file

@ -61,4 +61,3 @@
syntect_theme = "";
};
}

View file

@ -43,4 +43,3 @@
permissions_s = {fg = "darkgray";};
};
}

View file

@ -1,8 +1,11 @@
{ config, pkgs, lib, ... }:
let
nr = "${pkgs.nixos-rebuild}/bin/nixos-rebuild";
in
{
config,
pkgs,
lib,
...
}: let
nr = "${pkgs.nixos-rebuild}/bin/nixos-rebuild";
in {
programs.zsh.shellAliases = {
# I'm not the greatest typist
sl = "ls";

View file

@ -1,4 +1,8 @@
{ config, pkgs, ... }: {
{
config,
pkgs,
...
}: {
imports = [
./plugins.nix
./aliases.nix

View file

@ -1,9 +1,6 @@
_:
let
_: let
inherit (builtins) readFile;
in
{
in {
# I prefer having the rc files split across multiple files in my system rather
# than just using readFile and putting them all into the generated zshrc
# this also allows me to source them individually if I need to

View file

@ -1,8 +1,10 @@
{ config, pkgs, ... }:
let
inherit (pkgs) fetchFromGitHub;
in
{
config,
pkgs,
...
}: let
inherit (pkgs) fetchFromGitHub;
in {
programs.zsh.plugins = [
{
name = "zsh-nix-shell";

View file

@ -1,6 +1,6 @@
{pkgs, ...}: {
home.sessionVariables = {
DIRENV_LOG_FORMAT="";
DIRENV_LOG_FORMAT = "";
};
programs.direnv = {
enable = true;

View file

@ -11,4 +11,3 @@ in {
programs.fastfetch.enable = true;
};
}

View file

@ -1,9 +1,5 @@
{
pkgs,
...
}: let
scriptPkgs = (import ./bin {inherit pkgs;});
{pkgs, ...}: let
scriptPkgs = import ./bin {inherit pkgs;};
in {
programs.git = {
aliases = {
@ -70,6 +66,8 @@ in {
set-upstream = "!git branch --set-upstream-to=origin/`git symbolic-ref --short HEAD`";
fixup-picker = "!git log -n 50 --pretty=format:'%h %s' --no-merges | fzf | cut -c -7 | xargs -o git commit --fixup";
staash = "stash --all";
stash-staged = "!sh -c 'git stash --keep-index; git stash push -m \"staged\" --keep-index; git stash pop stash@{1}'";

View file

@ -1,4 +1,4 @@
{pkgs, ...}:
pkgs.writeShellScriptBin "better-git-branch" ''
${builtins.readFile ./better-git-branch.sh}
''
pkgs.writeShellScriptBin "better-git-branch" ''
${builtins.readFile ./better-git-branch.sh}
''

View file

@ -1,7 +1,4 @@
{
pkgs,
...
}: let
{pkgs, ...}: let
packages = {
better-git-branch = pkgs.callPackage ./better-git-branch {};
};

View file

@ -1,8 +1,10 @@
{ osConfig, pkgs, ... }:
let
myGitConf = osConfig.myOptions.home-manager.git;
in
{
osConfig,
pkgs,
...
}: let
myGitConf = osConfig.myOptions.home-manager.git;
in {
imports = [
./gh.nix
./ignores.nix

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: {
{pkgs, ...}: {
programs.gh = {
enable = true;
gitCredentialHelper.enable = false;

View file

@ -1,4 +1,4 @@
{ config, ... }: {
{config, ...}: {
programs = {
gpg = {
enable = true;

View file

@ -10,7 +10,7 @@
cfg = osConfig.myOptions.home-manager.programs.applications.iamb;
in {
config = mkIf cfg.enable {
home.packages = with pkgs; [ iamb ];
home.packages = with pkgs; [iamb];
xdg.configFile."iamb/config.json".text = builtins.toJSON {
settings = {
@ -33,10 +33,12 @@ in {
};
default_profile = cfg.defaultProfile;
profiles = lib.mapAttrs (name: profile: {
user_id = profile.userId;
url = profile.homeServer;
}) cfg.profiles;
profiles =
lib.mapAttrs (name: profile: {
user_id = profile.userId;
url = profile.homeServer;
})
cfg.profiles;
dirs = {
cache = "${config.xdg.cacheHome}/iamb/";

View file

@ -1,5 +1,9 @@
# Config copied from https://git.notashelf.dev/NotAShelf/nyx
{ pkgs, lib, ... }: let
{
pkgs,
lib,
...
}: let
inherit (lib) getExe;
mpv = "${getExe pkgs.mpv}";
@ -69,5 +73,5 @@ in {
macro v set browser "${mpv} %u" ; open-in-browser ; set browser "firefox %u" -- "Open video on mpv"
macro , open-in-browser
'';
};
};
}

View file

@ -57,4 +57,3 @@
{url = "https://kiszamolo.hu/feed";}
];
}

View file

@ -1,4 +1,4 @@
{ config, ... }: {
{config, ...}: {
programs = {
# nix-index is a file database for nixpkgs
# this provides `nix-locate` command.

View file

@ -1,7 +1,6 @@
{
programs = {
ssh = {
# TODO: Enable this after figuring out how to add protected/encrypted blocks here.
# I don't like the idea of expising IPs/hostnames in the config.
# For now, I just persist the .ssh directory, managing stuff manually.

View file

@ -1,5 +1,5 @@
# Attribute set of files to link into the user's XDG directories
{ config, ... }: let
{config, ...}: let
XDG_CACHE_HOME = config.xdg.cacheHome;
XDG_CONFIG_HOME = config.xdg.configHome;
XDG_DATA_HOME = config.xdg.dataHome;
@ -7,7 +7,6 @@
XDG_RUNTIME_DIR = config.home.sessionVariables.XDG_RUNTIME_DIR;
XDG_BIN_HOME = config.home.sessionVariables.XDG_BIN_HOME;
in {
# Variables set to force apps into the XDG base directories
# These will get set at login
# Defined in /etc/profiles/per-user/$USER/etc/profile.d/hm-session-vars.sh

View file

@ -1,4 +1,8 @@
{config, pkgs, ...}: {
{
config,
pkgs,
...
}: {
imports = [
./mime-apps.nix
./user-dirs.nix
@ -23,5 +27,5 @@
# xdg-ninja is a CLI tool that checks $HOME for unwanted
# files/dirs and shows how to move them to XDG dirs
home.packages = [ pkgs.xdg-ninja ];
home.packages = [pkgs.xdg-ninja];
}

View file

@ -1,8 +1,5 @@
# Manage $XDG_CONFIG_HOME/mimeapps.list
{
osConfig,
...
}: let
{osConfig, ...}: let
cfgPreferences = osConfig.myOptions.home-manager.preferences;
in {
xdg.mimeApps = let

View file

@ -1,5 +1,5 @@
# Manage $XDG_CONFIG_HOME/user-dirs.dirs
{ config, ... }: {
{config, ...}: {
xdg.userDirs = {
enable = true;
createDirectories = true;

View file

@ -12,11 +12,11 @@
in {
config = mkIf (cfg.enable && cfgIsWayland) {
systemd.user.services.hyprpaper = {
Install.WantedBy = [ "hyprland-session.target" ];
Install.WantedBy = ["hyprland-session.target"];
Unit = {
Description = "Hyprpaper (Hyprland wallpaper daemon)";
PartOf = [ "graphical-session.target" ];
After = [ "graphical-session.target" ];
PartOf = ["graphical-session.target"];
After = ["graphical-session.target"];
};
Service = {
Type = "simple";
@ -31,4 +31,3 @@ in {
'';
};
}

View file

@ -1,7 +1,4 @@
{
osConfig,
...
}: let
{osConfig, ...}: let
cfg = osConfig.myOptions.home-manager.theme.cursor;
in {
home = {

View file

@ -18,7 +18,11 @@ in {
GTK_THEME = "${cfg.theme.name}";
# gtk applications should use filepickers specified by xdg
GTK_USE_PORTAL = "${toString (if cfg.usePortal then 1 else 0)}";
GTK_USE_PORTAL = "${toString (
if cfg.usePortal
then 1
else 0
)}";
};
};

View file

@ -80,7 +80,6 @@ in {
};
"Kvantum/${cfg.kvantumTheme.name}".source = "${cfg.kvantumTheme.package}/share/Kvantum/${cfg.kvantumTheme.name}";
# Set icon theme using qtct
"qt5ct/qt5ct.conf".text = lib.generators.toINI {} {
Appearance = {

View file

@ -1,5 +1,4 @@
{ inputs, ... }:
let
{inputs, ...}: let
inherit (inputs) self;
inherit (inputs.nixpkgs) lib;
@ -9,27 +8,30 @@ let
../home
../options
];
in
{
in {
herugrim = lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit lib inputs self; };
modules = [
./herugrim
inputs.home-manager.nixosModules.home-manager
inputs.impermanence.nixosModules.impermanence
inputs.lanzaboote.nixosModules.lanzaboote
] ++ shared;
specialArgs = {inherit lib inputs self;};
modules =
[
./herugrim
inputs.home-manager.nixosModules.home-manager
inputs.impermanence.nixosModules.impermanence
inputs.lanzaboote.nixosModules.lanzaboote
]
++ shared;
};
voyager = lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit lib inputs self; };
modules = [
./voyager
inputs.home-manager.nixosModules.home-manager
inputs.impermanence.nixosModules.impermanence
inputs.lanzaboote.nixosModules.lanzaboote
] ++ shared;
specialArgs = {inherit lib inputs self;};
modules =
[
./voyager
inputs.home-manager.nixosModules.home-manager
inputs.impermanence.nixosModules.impermanence
inputs.lanzaboote.nixosModules.lanzaboote
]
++ shared;
};
}

View file

@ -1,10 +1,13 @@
{ lib, pkgs, ... }:
{
lib,
pkgs,
...
}: {
imports = [
./hardware-configuration.nix
];
boot.supportedFilesystems = [ "btrfs" ];
boot.supportedFilesystems = ["btrfs"];
# My flake disables this by default for security reasons. However,
# with an encrypted setup, which requires entering password before
@ -42,7 +45,7 @@
# Configure automatic root subvolume wiping on boot from initrd
autoWipeBtrfs = {
enable = true;
devices."/dev/disk/by-label/NIXROOT".subvolumes = [ "root" ];
devices."/dev/disk/by-label/NIXROOT".subvolumes = ["root"];
};
};

View file

@ -1,60 +1,64 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usb_storage" "sd_mod"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-amd"];
boot.extraModulePackages = [];
boot.initrd.luks.devices."cryptfs".device = "/dev/disk/by-label/NIXCRYPTROOT";
fileSystems."/" =
{ device = "/dev/disk/by-label/NIXROOT";
fsType = "btrfs";
options = [ "subvol=root" "noatime" "compress=zstd:3" ];
};
fileSystems."/" = {
device = "/dev/disk/by-label/NIXROOT";
fsType = "btrfs";
options = ["subvol=root" "noatime" "compress=zstd:3"];
};
fileSystems."/home" =
{ device = "/dev/disk/by-label/NIXROOT";
fsType = "btrfs";
options = [ "subvol=home" "noatime" "compress=zstd:3" ];
};
fileSystems."/home" = {
device = "/dev/disk/by-label/NIXROOT";
fsType = "btrfs";
options = ["subvol=home" "noatime" "compress=zstd:3"];
};
fileSystems."/nix" =
{ device = "/dev/disk/by-label/NIXROOT";
fsType = "btrfs";
options = [ "subvol=nix" "noatime" "compress=zstd:3" ];
};
fileSystems."/nix" = {
device = "/dev/disk/by-label/NIXROOT";
fsType = "btrfs";
options = ["subvol=nix" "noatime" "compress=zstd:3"];
};
fileSystems."/var/log" =
{ device = "/dev/disk/by-label/NIXROOT";
fsType = "btrfs";
options = [ "subvol=log" "noatime" "compress=zstd:3" ];
neededForBoot = true;
};
fileSystems."/var/log" = {
device = "/dev/disk/by-label/NIXROOT";
fsType = "btrfs";
options = ["subvol=log" "noatime" "compress=zstd:3"];
neededForBoot = true;
};
fileSystems."/persist" =
{ device = "/dev/disk/by-label/NIXROOT";
fsType = "btrfs";
options = [ "subvol=persist" "noatime" "compress=zstd:3" ];
neededForBoot = true;
};
fileSystems."/persist" = {
device = "/dev/disk/by-label/NIXROOT";
fsType = "btrfs";
options = ["subvol=persist" "noatime" "compress=zstd:3"];
neededForBoot = true;
};
fileSystems."/boot" =
{ device = "/dev/disk/by-label/NIXBOOT";
fsType = "vfat";
};
fileSystems."/boot" = {
device = "/dev/disk/by-label/NIXBOOT";
fsType = "vfat";
};
swapDevices =
[ { device = "/dev/disk/by-label/SWAP"; }
];
swapDevices = [
{device = "/dev/disk/by-label/SWAP";}
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's

View file

@ -1,16 +1,18 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page, on
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
{ config, lib, pkgs, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
];
config,
lib,
pkgs,
...
}: {
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix
];
boot.supportedFilesystems = [ "btrfs" ];
boot.supportedFilesystems = ["btrfs"];
hardware.enableAllFirmware = true;
# My flake disables this by default for security reasons. However, with an encrypted setup,
@ -120,7 +122,7 @@
# Configure automatic root subvolume wiping on boot from initrd
autoWipeBtrfs = {
enable = true;
devices."/dev/disk/by-label/NIXOS-FS".subvolumes = [ "root" ];
devices."/dev/disk/by-label/NIXOS-FS".subvolumes = ["root"];
};
};
@ -133,7 +135,7 @@
device = {
roles = {
type = "laptop";
virtual-machine = false;
virtual-machine = false;
};
cpu.type = "amd";
gpu.type = "amd";
@ -144,7 +146,7 @@
security = {
auditd = {
enable = true;
autoPrune.enable = true;
autoPrune.enable = true;
};
};
@ -161,28 +163,28 @@
git = {
userName = "ItsDrike";
userEmail = "itsdrike@protonmail.com";
signing = {
enable = true;
userEmail = "itsdrike@protonmail.com";
signing = {
enable = true;
key = "FA2745890B7048C0";
};
};
};
wms.hyprland = {
enable = true;
monitor = [
# Primary / laptop display
"eDP-1, 1920x1200@60, 0x1080, 1"
monitor = [
# Primary / laptop display
"eDP-1, 1920x1200@60, 0x1080, 1"
# HDMI-A-1 above primary
"HDMI-A-1, 1920x1080@60, 0x0, 1"
"HDMI-A-1, 1920x1080@60, 0x0, 1"
# HDMI-A-1 left to primary
#"HDMI-A-1, 1920x1080@60, 1920x1080, 1"
# HDMI-A-1 left to primary
#"HDMI-A-1, 1920x1080@60, 1920x1080, 1"
# Mirror the primary (laptop) monitor on externals
", preferred, auto, 1, mirror, eDP-1"
];
# Mirror the primary (laptop) monitor on externals
", preferred, auto, 1, mirror, eDP-1"
];
};
programs = {
@ -205,7 +207,7 @@
};
webcord.enable = true;
mpv.enable = true;
nomacs.enable = true; # TODO: probably disable
nomacs.enable = true; # TODO: probably disable
qimgv.enable = true;
qbittorrent.enable = true;
obs.enable = true;

View file

@ -1,60 +1,64 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "usb_storage" "sd_mod"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-amd"];
boot.extraModulePackages = [];
boot.initrd.luks.devices."cryptfs".device = "/dev/disk/by-label/NIXOS-CRYPTFS";
fileSystems."/" =
{ device = "/dev/disk/by-label/NIXOS-FS";
fsType = "btrfs";
options = [ "subvol=root" "noatime" "compress=zstd:3" ];
};
fileSystems."/" = {
device = "/dev/disk/by-label/NIXOS-FS";
fsType = "btrfs";
options = ["subvol=root" "noatime" "compress=zstd:3"];
};
fileSystems."/nix" =
{ device = "/dev/disk/by-label/NIXOS-FS";
fsType = "btrfs";
options = [ "subvol=nix" "noatime" "compress=zstd:3" ];
};
fileSystems."/nix" = {
device = "/dev/disk/by-label/NIXOS-FS";
fsType = "btrfs";
options = ["subvol=nix" "noatime" "compress=zstd:3"];
};
fileSystems."/persist" =
{ device = "/dev/disk/by-label/NIXOS-FS";
fsType = "btrfs";
options = [ "subvol=persist" "noatime" "compress=zstd:3" ];
neededForBoot = true;
};
fileSystems."/persist" = {
device = "/dev/disk/by-label/NIXOS-FS";
fsType = "btrfs";
options = ["subvol=persist" "noatime" "compress=zstd:3"];
neededForBoot = true;
};
fileSystems."/data" =
{ device = "/dev/disk/by-label/NIXOS-FS";
fsType = "btrfs";
options = [ "subvol=data" "noatime" "compress=zstd:3" ];
};
fileSystems."/data" = {
device = "/dev/disk/by-label/NIXOS-FS";
fsType = "btrfs";
options = ["subvol=data" "noatime" "compress=zstd:3"];
};
fileSystems."/boot" =
{ device = "/dev/disk/by-label/EFI";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
};
fileSystems."/boot" = {
device = "/dev/disk/by-label/EFI";
fsType = "vfat";
options = ["fmask=0022" "dmask=0022"];
};
fileSystems."/.btrfs" =
{ device = "/dev/disk/by-label/NIXOS-FS";
fsType = "btrfs";
options = [ "noatime" "compress=zstd:3" ];
};
fileSystems."/.btrfs" = {
device = "/dev/disk/by-label/NIXOS-FS";
fsType = "btrfs";
options = ["noatime" "compress=zstd:3"];
};
swapDevices =
[ { device = "/dev/disk/by-label/SWAP"; }
];
swapDevices = [
{device = "/dev/disk/by-label/SWAP";}
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's

View file

@ -1,10 +1,9 @@
{ lib, ... }: let
{lib, ...}: let
inherit (lib) mkOption mkEnableOption types;
in
{
in {
options.myOptions.device = {
cpu.type = mkOption {
type = with types; nullOr (enum [ "intel" "amd" ]);
type = with types; nullOr (enum ["intel" "amd"]);
default = null;
description = ''
The manifaturer/type of the primary system CPU.
@ -16,7 +15,7 @@ in
};
gpu.type = mkOption {
type = with types; nullOr (enum [ "nvidia" "amd" "intel" "hybrid-nvidia" "hybrid-amd" ]);
type = with types; nullOr (enum ["nvidia" "amd" "intel" "hybrid-nvidia" "hybrid-amd"]);
default = null;
description = ''
The manifaturer/type of the primary system GPU.

View file

@ -1,4 +1,8 @@
{ lib, config, ... }: let
{
lib,
config,
...
}: let
inherit (lib) mkOption types;
cfg = config.myOptions.device.roles;

View file

@ -1,7 +1,7 @@
{ lib, ... }: with lib; let
{lib, ...}:
with lib; let
inherit (lib) mkEnableOption mkOption;
in
{
in {
imports = [
./programs
./git.nix
@ -21,4 +21,3 @@ in
};
};
}

View file

@ -1,7 +1,7 @@
{ lib, ... }: with lib; let
{lib, ...}:
with lib; let
inherit (lib) mkEnableOption mkOption;
in
{
in {
options.myOptions.home-manager.git = {
userName = mkOption {
type = types.str;

View file

@ -1,24 +1,25 @@
{ lib, ... }: let
{lib, ...}: let
inherit (lib) mkOption types;
mkPreferenceCmdOption = name: commandDefault: mkOption {
type = types.str;
description = "The command to start your preferred ${name}.";
default = commandDefault;
};
mkPreferenceCmdOption = name: commandDefault:
mkOption {
type = types.str;
description = "The command to start your preferred ${name}.";
default = commandDefault;
};
mkPreferenceDesktopOption = name: desktopDefault: mkOption {
type = types.str;
description = "The desktop (application) file for your preferred ${name}.";
default = desktopDefault;
};
mkPreferenceDesktopOption = name: desktopDefault:
mkOption {
type = types.str;
description = "The desktop (application) file for your preferred ${name}.";
default = desktopDefault;
};
mkPreferenceOptions = name: commandDefault: desktopDefault: {
command = mkPreferenceCmdOption name commandDefault;
desktop = mkPreferenceDesktopOption name desktopDefault;
};
in
{
in {
options.myOptions.home-manager.preferences = {
browser = mkPreferenceOptions "browser" "firefox" "firefox.desktop";
terminalEmulator = mkPreferenceOptions "terminal emulator" "kitty" "kitty.desktop";

View file

@ -1,7 +1,7 @@
{ lib, ... }: with lib; let
{lib, ...}:
with lib; let
inherit (lib) mkEnableOption mkOption types;
in
{
in {
imports = [
./iamb.nix
];

View file

@ -6,8 +6,7 @@
inherit (lib) mkEnableOption mkOption types mkIf;
cfg = config.myOptions.home-manager.programs.applications.iamb;
in
{
in {
options.myOptions.home-manager.programs.applications.iamb = {
enable = mkEnableOption "iamb (vim-inspired terminal Matrix client)";
defaultProfile = mkOption {
@ -48,4 +47,3 @@ in
];
};
}

View file

@ -1,7 +1,7 @@
{ lib, ... }: with lib; let
{lib, ...}:
with lib; let
inherit (lib) mkEnableOption mkOption types;
in
{
in {
options.myOptions.home-manager.services = {
dunst.enable = mkEnableOption "Dunst (lightweight notification daemon)";
hyprpaper = {
@ -14,4 +14,3 @@ in
};
};
}

View file

@ -1,7 +1,10 @@
{ lib, pkgs, ... }: let
inherit (lib) mkEnableOption mkOption types;
in
{
lib,
pkgs,
...
}: let
inherit (lib) mkEnableOption mkOption types;
in {
options.myOptions.home-manager.theme = {
gtk = {
enable = mkEnableOption "GTK theming optionss";
@ -48,7 +51,7 @@ in
size = mkOption {
type = types.int;
description = "The size of the font";
default = 10; # 10
default = 10; # 10
};
};
};
@ -141,6 +144,5 @@ in
description = "The size of the cursor";
};
};
};
}

View file

@ -11,7 +11,6 @@ in {
Hyprland wayland compositor.
'';
monitor = mkOption {
type = types.listOf types.str;
default = [];

View file

@ -1,7 +1,11 @@
{ lib, config, ... }: with lib; let
inherit (lib) mkEnableOption mkOption literalExpression types;
in
{
lib,
config,
...
}:
with lib; let
inherit (lib) mkEnableOption mkOption literalExpression types;
in {
options.myOptions.security.auditd = {
enable = mkEnableOption "the audit daemon.";
autoPrune = {
@ -58,4 +62,3 @@ in
};
};
}

View file

@ -1,4 +1,9 @@
{ config, lib, pkgs, ...}: let
{
config,
lib,
pkgs,
...
}: let
inherit (lib) mkOption mkEnableOption literalExpression;
cfg = config.myOptions.system.boot;
@ -16,17 +21,17 @@ in {
description = "The kernel to use for the system.";
};
tmpOnTmpfs =
tmpOnTmpfs = mkEnableOption ''
`/tmp` living on tmpfs. false means it will be cleared manually on each reboot
This option defaults to `true` if the host provides patches to the kernel package in
`boot.kernelPatches`
'';
silentBoot =
mkEnableOption ''
`/tmp` living on tmpfs. false means it will be cleared manually on each reboot
This option defaults to `true` if the host provides patches to the kernel package in
`boot.kernelPatches`
'';
silentBoot = mkEnableOption ''
almost entirely silent boot process through `quiet` kernel parameter
''
// { default = cfg.plymouth.enable; };
almost entirely silent boot process through `quiet` kernel parameter
''
// {default = cfg.plymouth.enable;};
};
}

View file

@ -1,7 +1,7 @@
{ lib, ... }: with lib; let
{lib, ...}:
with lib; let
inherit (lib) mkEnableOption mkOption types;
in
{
in {
options.myOptions.system.boot.plymouth = {
enable = mkEnableOption ''
Plymouth boot splash.

View file

@ -1,9 +1,9 @@
{ lib, ... }: with lib; let
{lib, ...}:
with lib; let
inherit (lib) mkEnableOption;
in
{
in {
options.myOptions.system.boot.secure-boot = {
enable = mkEnableOption ''
enable = mkEnableOption ''
secure-boot using lanzaboote.
Note that you will need to have UEFI firmware, and the rebuild
@ -18,6 +18,6 @@ in
sudo sbctl enroll-keys -m
```
Then reboot, and secure-boot should be enabled.
'';
'';
};
}

View file

@ -1,7 +1,7 @@
{ lib, ... }: with lib; let
{lib, ...}:
with lib; let
inherit (lib) mkOption;
in
{
in {
imports = [
./boot
./impermanence.nix

View file

@ -1,9 +1,13 @@
{ lib, config, ... }: with lib; let
{
lib,
config,
...
}:
with lib; let
inherit (lib) mkEnableOption mkOption literalExpression types;
cfg = config.myOptions.system.impermanence;
in
{
in {
options.myOptions.system.impermanence = {
root = {
enable = mkEnableOption ''
@ -129,16 +133,16 @@ in
};
in {
enable = mkEnableOption ''
automatic wiping of specified BTRFS subvolumes from initrd.
automatic wiping of specified BTRFS subvolumes from initrd.
If you're using BTRFS, you will generally want to enable this, however
with a non-BTRFS system, or in case you wish to set up some custom handling
which this module doesn't support, you will need to write your own logic
for automatic root wiping.
If you're using BTRFS, you will generally want to enable this, however
with a non-BTRFS system, or in case you wish to set up some custom handling
which this module doesn't support, you will need to write your own logic
for automatic root wiping.
One option is is to simply have your root get mounted from tmpfs, making it
live in RAM. This does however require dedicating a concrete chunk of RAM.
'';
One option is is to simply have your root get mounted from tmpfs, making it
live in RAM. This does however require dedicating a concrete chunk of RAM.
'';
devices = mkOption {
default = {};

Some files were not shown because too many files have changed in this diff Show more