mirror of
https://github.com/ItsDrike/nixdots
synced 2024-12-25 06:24:35 +00:00
Run alejandra
This commit is contained in:
parent
286920def4
commit
c00134da1c
|
@ -1,9 +1,13 @@
|
||||||
{ config, lib, inputs, self, ... }:
|
{
|
||||||
let
|
config,
|
||||||
|
lib,
|
||||||
|
inputs,
|
||||||
|
self,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
myHmConf = config.myOptions.home-manager;
|
myHmConf = config.myOptions.home-manager;
|
||||||
username = config.myOptions.system.username;
|
username = config.myOptions.system.username;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
home-manager = lib.mkIf myHmConf.enable {
|
home-manager = lib.mkIf myHmConf.enable {
|
||||||
# Use verbose mode for home-manager
|
# Use verbose mode for home-manager
|
||||||
verbose = true;
|
verbose = true;
|
||||||
|
@ -23,7 +27,7 @@ in
|
||||||
backupFileExtension = "hm.old";
|
backupFileExtension = "hm.old";
|
||||||
|
|
||||||
# These will be passed to all hm modules
|
# These will be passed to all hm modules
|
||||||
extraSpecialArgs = { inherit inputs self; };
|
extraSpecialArgs = {inherit inputs self;};
|
||||||
|
|
||||||
users.${username} = {
|
users.${username} = {
|
||||||
# These imports will be scoped under this key so all settings
|
# These imports will be scoped under this key so all settings
|
||||||
|
|
|
@ -7,18 +7,21 @@
|
||||||
inherit (lib) mkIf;
|
inherit (lib) mkIf;
|
||||||
cfg = osConfig.myOptions.system.impermanence.home;
|
cfg = osConfig.myOptions.system.impermanence.home;
|
||||||
in {
|
in {
|
||||||
imports = [ inputs.impermanence.nixosModules.home-manager.impermanence ];
|
imports = [inputs.impermanence.nixosModules.home-manager.impermanence];
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home.persistence."${cfg.persistentMountPoint}" = {
|
home.persistence."${cfg.persistentMountPoint}" = {
|
||||||
directories = [
|
directories =
|
||||||
".cache/nix"
|
[
|
||||||
".cache/nix-index"
|
".cache/nix"
|
||||||
] ++ cfg.extraDirectories;
|
".cache/nix-index"
|
||||||
|
]
|
||||||
|
++ cfg.extraDirectories;
|
||||||
|
|
||||||
files = [
|
files =
|
||||||
|
[
|
||||||
] ++ cfg.extraFiles;
|
]
|
||||||
|
++ cfg.extraFiles;
|
||||||
|
|
||||||
# Allow other users (such as root), to access files through the bind
|
# Allow other users (such as root), to access files through the bind
|
||||||
# mounted directories listed in `directories`. Useful for `sudo` operations,
|
# mounted directories listed in `directories`. Useful for `sudo` operations,
|
||||||
|
@ -27,13 +30,15 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
home.persistence."${cfg.persistentDataMountPoint}" = {
|
home.persistence."${cfg.persistentDataMountPoint}" = {
|
||||||
directories = [
|
directories =
|
||||||
|
[
|
||||||
|
]
|
||||||
|
++ cfg.extraDataDirectories;
|
||||||
|
|
||||||
] ++ cfg.extraDataDirectories;
|
files =
|
||||||
|
[
|
||||||
files = [
|
]
|
||||||
|
++ cfg.extraDataFiles;
|
||||||
] ++ cfg.extraDataFiles;
|
|
||||||
|
|
||||||
# See comment for this above
|
# See comment for this above
|
||||||
allowOther = true;
|
allowOther = true;
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
inherit (lib) mkIf;
|
inherit (lib) mkIf;
|
||||||
|
|
||||||
devType = osConfig.myOptions.device.roles.type;
|
devType = osConfig.myOptions.device.roles.type;
|
||||||
acceptedTypes = [ "laptop" "desktop" ];
|
acceptedTypes = ["laptop" "desktop"];
|
||||||
in {
|
in {
|
||||||
config = mkIf (builtins.elem devType acceptedTypes) {
|
config = mkIf (builtins.elem devType acceptedTypes) {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
|
|
@ -1,15 +1,11 @@
|
||||||
{
|
{pkgs, ...}: let
|
||||||
pkgs,
|
scriptPkgs = import ./packages {inherit pkgs;};
|
||||||
...
|
|
||||||
}: let
|
|
||||||
|
|
||||||
scriptPkgs = (import ./packages {inherit pkgs;});
|
|
||||||
in {
|
in {
|
||||||
home.packages = with scriptPkgs; [
|
home.packages = with scriptPkgs; [
|
||||||
bitcoin
|
bitcoin
|
||||||
cheatsh
|
cheatsh
|
||||||
colors256
|
colors256
|
||||||
unix
|
unix
|
||||||
gh-notify
|
gh-notify
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{pkgs, ...}:
|
{pkgs, ...}: (pkgs.writeShellApplication {
|
||||||
(pkgs.writeShellApplication {
|
|
||||||
name = "bitcoin";
|
name = "bitcoin";
|
||||||
runtimeInputs = with pkgs; [coreutils curl jq];
|
runtimeInputs = with pkgs; [coreutils curl jq];
|
||||||
text = ''
|
text = ''
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{pkgs, ...}:
|
{pkgs, ...}: (pkgs.writeShellApplication {
|
||||||
(pkgs.writeShellApplication {
|
|
||||||
name = "cheat.sh";
|
name = "cheat.sh";
|
||||||
runtimeInputs = with pkgs; [coreutils curl jq gnugrep fzf];
|
runtimeInputs = with pkgs; [coreutils curl jq gnugrep fzf];
|
||||||
text = ''
|
text = ''
|
||||||
|
|
|
@ -1,9 +1,7 @@
|
||||||
{pkgs, ...}:
|
{pkgs, ...}: (pkgs.writeShellApplication {
|
||||||
(pkgs.writeShellApplication {
|
|
||||||
name = "colors-256";
|
name = "colors-256";
|
||||||
runtimeInputs = with pkgs; [coreutils];
|
runtimeInputs = with pkgs; [coreutils];
|
||||||
text = ''
|
text = ''
|
||||||
${builtins.readFile ./colors-256.sh}
|
${builtins.readFile ./colors-256.sh}
|
||||||
'';
|
'';
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,4 @@
|
||||||
{
|
{pkgs, ...}: let
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
packages = {
|
packages = {
|
||||||
bitcoin = pkgs.callPackage ./bitcoin.nix {};
|
bitcoin = pkgs.callPackage ./bitcoin.nix {};
|
||||||
cheatsh = pkgs.callPackage ./cheatsh {};
|
cheatsh = pkgs.callPackage ./cheatsh {};
|
||||||
|
@ -11,4 +8,3 @@
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
packages
|
packages
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{pkgs, ...}:
|
{pkgs, ...}: (pkgs.writeShellApplication {
|
||||||
(pkgs.writeShellApplication {
|
|
||||||
name = "gh-notify";
|
name = "gh-notify";
|
||||||
runtimeInputs = with pkgs; [
|
runtimeInputs = with pkgs; [
|
||||||
coreutils
|
coreutils
|
||||||
|
@ -12,5 +11,3 @@
|
||||||
${builtins.readFile ./gh-notify.sh}
|
${builtins.readFile ./gh-notify.sh}
|
||||||
'';
|
'';
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,7 @@
|
||||||
{pkgs, ...}:
|
{pkgs, ...}: (pkgs.writeShellApplication {
|
||||||
(pkgs.writeShellApplication {
|
|
||||||
name = "unix";
|
name = "unix";
|
||||||
runtimeInputs = with pkgs; [coreutils];
|
runtimeInputs = with pkgs; [coreutils];
|
||||||
text = ''
|
text = ''
|
||||||
${builtins.readFile ./unix.sh}
|
${builtins.readFile ./unix.sh}
|
||||||
'';
|
'';
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -7,10 +7,9 @@
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
inherit (lib) mkIf;
|
inherit (lib) mkIf;
|
||||||
|
|
||||||
in {
|
in {
|
||||||
config = mkIf osConfig.myOptions.home-manager.wms.isWayland {
|
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 {} {
|
xdg.configFile."swappy/config".text = lib.generators.toINI {} {
|
||||||
Default = {
|
Default = {
|
||||||
|
|
|
@ -5,11 +5,8 @@
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
inherit (lib) mkIf;
|
inherit (lib) mkIf;
|
||||||
|
|
||||||
in {
|
in {
|
||||||
config = mkIf osConfig.myOptions.home-manager.wms.isWayland {
|
config = mkIf osConfig.myOptions.home-manager.wms.isWayland {
|
||||||
home.packages = with pkgs; [ wlogout ];
|
home.packages = with pkgs; [wlogout];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,3 @@ in {
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -9,6 +9,6 @@
|
||||||
cfg = osConfig.myOptions.home-manager.programs.applications.qalculate-gtk;
|
cfg = osConfig.myOptions.home-manager.programs.applications.qalculate-gtk;
|
||||||
in {
|
in {
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home.packages = with pkgs; [ qalculate-gtk ];
|
home.packages = with pkgs; [qalculate-gtk];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,4 +14,3 @@ in {
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -14,4 +14,3 @@ in {
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,13 +9,13 @@
|
||||||
cfg = osConfig.myOptions.home-manager.programs.applications.vesktop;
|
cfg = osConfig.myOptions.home-manager.programs.applications.vesktop;
|
||||||
in {
|
in {
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home.packages = with pkgs; [ vesktop ];
|
home.packages = with pkgs; [vesktop];
|
||||||
|
|
||||||
systemd.user.services."vesktop" = mkIf cfg.autoStart {
|
systemd.user.services."vesktop" = mkIf cfg.autoStart {
|
||||||
Unit = {
|
Unit = {
|
||||||
Description = "Vesktop (An alternate client for Discord with Vencord built-in)";
|
Description = "Vesktop (An alternate client for Discord with Vencord built-in)";
|
||||||
After = [ "graphical-session.target" ];
|
After = ["graphical-session.target"];
|
||||||
PartOf = [ "graphical-session.target" ];
|
PartOf = ["graphical-session.target"];
|
||||||
};
|
};
|
||||||
|
|
||||||
Service = {
|
Service = {
|
||||||
|
@ -24,7 +24,7 @@ in {
|
||||||
ExecStart = "${pkgs.vesktop}/bin/vesktop";
|
ExecStart = "${pkgs.vesktop}/bin/vesktop";
|
||||||
};
|
};
|
||||||
|
|
||||||
Install.WantedBy = [ "graphical-session.target" ];
|
Install.WantedBy = ["graphical-session.target"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,8 +17,8 @@ in {
|
||||||
systemd.user.services."webcord" = mkIf cfg.autoStart {
|
systemd.user.services."webcord" = mkIf cfg.autoStart {
|
||||||
Unit = {
|
Unit = {
|
||||||
Description = "Webcord (An electron-based Discord client implemented without Discord API with Vencord built-in)";
|
Description = "Webcord (An electron-based Discord client implemented without Discord API with Vencord built-in)";
|
||||||
After = [ "graphical-session.target" ];
|
After = ["graphical-session.target"];
|
||||||
PartOf = [ "graphical-session.target" ];
|
PartOf = ["graphical-session.target"];
|
||||||
};
|
};
|
||||||
|
|
||||||
Service = {
|
Service = {
|
||||||
|
@ -27,8 +27,7 @@ in {
|
||||||
ExecStart = "${pkgs.webcord-vencord}/bin/webcord";
|
ExecStart = "${pkgs.webcord-vencord}/bin/webcord";
|
||||||
};
|
};
|
||||||
|
|
||||||
Install.WantedBy = [ "graphical-session.target" ];
|
Install.WantedBy = ["graphical-session.target"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
}: let
|
}: let
|
||||||
inherit (lib) mkIf;
|
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;
|
cfg = osConfig.myOptions.home-manager.programs.bars.eww;
|
||||||
in {
|
in {
|
||||||
|
@ -44,8 +44,8 @@ in {
|
||||||
in {
|
in {
|
||||||
Unit = {
|
Unit = {
|
||||||
Description = "ElKowar's Wacky Widgets (eww) daemon";
|
Description = "ElKowar's Wacky Widgets (eww) daemon";
|
||||||
After = [ "graphical-session-pre.target" ];
|
After = ["graphical-session-pre.target"];
|
||||||
PartOf = [ "graphical-session.target" ];
|
PartOf = ["graphical-session.target"];
|
||||||
};
|
};
|
||||||
|
|
||||||
Service = {
|
Service = {
|
||||||
|
@ -63,14 +63,14 @@ in {
|
||||||
Nice = 19;
|
Nice = 19;
|
||||||
};
|
};
|
||||||
|
|
||||||
Install.WantedBy = [ "graphical-session.target" ];
|
Install.WantedBy = ["graphical-session.target"];
|
||||||
};
|
};
|
||||||
|
|
||||||
"eww-window-bar0" = {
|
"eww-window-bar0" = {
|
||||||
Unit = {
|
Unit = {
|
||||||
Description = "Open bar0 eww (ElKowar's Wacky Widgets) window";
|
Description = "Open bar0 eww (ElKowar's Wacky Widgets) window";
|
||||||
After = [ "eww.service" ];
|
After = ["eww.service"];
|
||||||
PartOf = [ "graphical-session.target" "eww.service" ];
|
PartOf = ["graphical-session.target" "eww.service"];
|
||||||
};
|
};
|
||||||
|
|
||||||
Service = {
|
Service = {
|
||||||
|
@ -82,7 +82,7 @@ in {
|
||||||
Restart = "on-failure";
|
Restart = "on-failure";
|
||||||
};
|
};
|
||||||
|
|
||||||
Install.WantedBy = [ "graphical-session.target" ];
|
Install.WantedBy = ["graphical-session.target"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -14,7 +14,8 @@ in {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
package = pkgs.ungoogled-chromium.override {
|
package = pkgs.ungoogled-chromium.override {
|
||||||
commandLineArgs = [
|
commandLineArgs =
|
||||||
|
[
|
||||||
# Ungoogled features
|
# Ungoogled features
|
||||||
"--disable-search-engine-collection"
|
"--disable-search-engine-collection"
|
||||||
"--extension-mime-request-handling=always-prompt-for-install"
|
"--extension-mime-request-handling=always-prompt-for-install"
|
||||||
|
@ -60,12 +61,12 @@ in {
|
||||||
"--disable-sync"
|
"--disable-sync"
|
||||||
"--disable-speech-api"
|
"--disable-speech-api"
|
||||||
"--disable-speech-synthesis-api"
|
"--disable-speech-synthesis-api"
|
||||||
] ++ optionals isWayland [
|
]
|
||||||
|
++ optionals isWayland [
|
||||||
"--ozone-platform=wayland"
|
"--ozone-platform=wayland"
|
||||||
"--enable-features=UseOzonePlatform"
|
"--enable-features=UseOzonePlatform"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -6,4 +6,3 @@ _: {
|
||||||
./firefox
|
./firefox
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,7 @@ in {
|
||||||
|
|
||||||
search = {
|
search = {
|
||||||
defaultSearchEngine = "Brave";
|
defaultSearchEngine = "Brave";
|
||||||
removeEngines = [ "Bing" "Amazon.com" "eBay" "Twitter" "Wikipedia" "LibRedirect" ];
|
removeEngines = ["Bing" "Amazon.com" "eBay" "Twitter" "Wikipedia" "LibRedirect"];
|
||||||
searxUrl = "https://searx.be";
|
searxUrl = "https://searx.be";
|
||||||
searxQuery = "https://searx.be/search?q={searchTerms}&categories=general";
|
searxQuery = "https://searx.be/search?q={searchTerms}&categories=general";
|
||||||
|
|
||||||
|
@ -47,32 +47,32 @@ in {
|
||||||
URLTemplate = "https://search.brave.com/search?q={searchTerms}";
|
URLTemplate = "https://search.brave.com/search?q={searchTerms}";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
Name = "NixOS Packages";
|
Name = "NixOS Packages";
|
||||||
Description = "NixOS Unstable package search";
|
Description = "NixOS Unstable package search";
|
||||||
Alias = "!np";
|
Alias = "!np";
|
||||||
Method = "GET";
|
Method = "GET";
|
||||||
URLTemplate = "https://search.nixos.org/packages?channel=unstable&query={searchTerms}";
|
URLTemplate = "https://search.nixos.org/packages?channel=unstable&query={searchTerms}";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
Name = "NixOS Options";
|
Name = "NixOS Options";
|
||||||
Description = "NixOS Unstable option search";
|
Description = "NixOS Unstable option search";
|
||||||
Alias = "!no";
|
Alias = "!no";
|
||||||
Method = "GET";
|
Method = "GET";
|
||||||
URLTemplate = "https://search.nixos.org/options?channel=unstable&query={searchTerms}";
|
URLTemplate = "https://search.nixos.org/options?channel=unstable&query={searchTerms}";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
Name = "NixOS Wiki";
|
Name = "NixOS Wiki";
|
||||||
Description = "NixOS Wiki search";
|
Description = "NixOS Wiki search";
|
||||||
Alias = "!nw";
|
Alias = "!nw";
|
||||||
Method = "GET";
|
Method = "GET";
|
||||||
URLTemplate = "https://nixos.wiki/index.php?search={searchTerms}";
|
URLTemplate = "https://nixos.wiki/index.php?search={searchTerms}";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
Name = "Home Manager Options";
|
Name = "Home Manager Options";
|
||||||
Description = "Home Manager option search";
|
Description = "Home Manager option search";
|
||||||
Alias = "!hm";
|
Alias = "!hm";
|
||||||
Method = "GET";
|
Method = "GET";
|
||||||
URLTemplate = "https://mipmip.github.io/home-manager-option-search?query={searchTerms}";
|
URLTemplate = "https://mipmip.github.io/home-manager-option-search?query={searchTerms}";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
Name = "MyNixOS";
|
Name = "MyNixOS";
|
||||||
|
@ -82,25 +82,25 @@ in {
|
||||||
URLTemplate = "https://mynixos.com/search?q={searchTerms}";
|
URLTemplate = "https://mynixos.com/search?q={searchTerms}";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
Name = "Arch Wiki";
|
Name = "Arch Wiki";
|
||||||
Description = "Arch Wiki search";
|
Description = "Arch Wiki search";
|
||||||
Alias = "!aw";
|
Alias = "!aw";
|
||||||
Method = "GET";
|
Method = "GET";
|
||||||
URLTemplate = "https://wiki.archlinux.org/index.php?search={searchTerms}";
|
URLTemplate = "https://wiki.archlinux.org/index.php?search={searchTerms}";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
Name = "Gentoo Wiki";
|
Name = "Gentoo Wiki";
|
||||||
Description = "Gentoo Wiki search";
|
Description = "Gentoo Wiki search";
|
||||||
Alias = "!gw";
|
Alias = "!gw";
|
||||||
Method = "GET";
|
Method = "GET";
|
||||||
URLTemplate = "https://wiki.gentoo.org/index.php?search={searchTerms}";
|
URLTemplate = "https://wiki.gentoo.org/index.php?search={searchTerms}";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
Name = "Debian Wiki";
|
Name = "Debian Wiki";
|
||||||
Description = "Debian Wiki search";
|
Description = "Debian Wiki search";
|
||||||
Alias = "!dw";
|
Alias = "!dw";
|
||||||
Method = "GET";
|
Method = "GET";
|
||||||
URLTemplate = "https://wiki.debian.org/FrontPage?action=fullsearch&value={searchTerms}";
|
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;
|
extraExtensions = builtins.foldl' (acc: ext: acc // {ext.id = {install_url = mkUrl ext.name;};}) {} extensions;
|
||||||
in extraExtensions;
|
in
|
||||||
|
extraExtensions;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
cfgPreferences = osConfig.myOptions.home-manager.preferences;
|
cfgPreferences = osConfig.myOptions.home-manager.preferences;
|
||||||
in {
|
in {
|
||||||
config = mkIf cfg.enable {
|
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 {} {
|
xdg.configFile."pcmanfm-qt/default/settings.conf".text = lib.generators.toINI {} {
|
||||||
Behavior = {
|
Behavior = {
|
||||||
|
@ -109,7 +109,7 @@ in {
|
||||||
|
|
||||||
Thumbnail = {
|
Thumbnail = {
|
||||||
MaxExternalThumbnailFileSize = -1;
|
MaxExternalThumbnailFileSize = -1;
|
||||||
MaxThumbnailFileSize = 40960; # 40 MB
|
MaxThumbnailFileSize = 40960; # 40 MB
|
||||||
ShowThumbnails = true;
|
ShowThumbnails = true;
|
||||||
ThumbnailLocalFilesOnly = true;
|
ThumbnailLocalFilesOnly = true;
|
||||||
};
|
};
|
||||||
|
|
|
@ -9,6 +9,6 @@
|
||||||
cfg = osConfig.myOptions.home-manager.programs.games.prismlauncher;
|
cfg = osConfig.myOptions.home-manager.programs.games.prismlauncher;
|
||||||
in {
|
in {
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home.packages = with pkgs; [ prismlauncher ];
|
home.packages = with pkgs; [prismlauncher];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
inherit (lib) mkIf;
|
inherit (lib) mkIf;
|
||||||
cfg = osConfig.myOptions.home-manager.programs.launchers.walker;
|
cfg = osConfig.myOptions.home-manager.programs.launchers.walker;
|
||||||
in {
|
in {
|
||||||
imports = [ inputs.walker.homeManagerModules.walker ];
|
imports = [inputs.walker.homeManagerModules.walker];
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
programs.walker = {
|
programs.walker = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -25,13 +25,13 @@ in {
|
||||||
fullscreen = false;
|
fullscreen = false;
|
||||||
scrollbar_policy = "automatic";
|
scrollbar_policy = "automatic";
|
||||||
websearch = {
|
websearch = {
|
||||||
engines = ["google" "duckduckgo"];
|
engines = ["google" "duckduckgo"];
|
||||||
};
|
};
|
||||||
hyprland = {
|
hyprland = {
|
||||||
context_aware_history = false;
|
context_aware_history = false;
|
||||||
};
|
};
|
||||||
applications = {
|
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
|
# Mode for picking the entry with keyboard using labels
|
||||||
|
@ -48,7 +48,7 @@ in {
|
||||||
hide_spinner = false;
|
hide_spinner = false;
|
||||||
};
|
};
|
||||||
runner = {
|
runner = {
|
||||||
excludes = ["rm"]; # commands to be excluded from the runner
|
excludes = ["rm"]; # commands to be excluded from the runner
|
||||||
};
|
};
|
||||||
clipboard = {
|
clipboard = {
|
||||||
max_entries = 10;
|
max_entries = 10;
|
||||||
|
@ -82,7 +82,7 @@ in {
|
||||||
};
|
};
|
||||||
orientation = "vertical";
|
orientation = "vertical";
|
||||||
icons = {
|
icons = {
|
||||||
theme = ""; # GTK Icon theme (default)
|
theme = ""; # GTK Icon theme (default)
|
||||||
hide = false;
|
hide = false;
|
||||||
size = 28;
|
size = 28;
|
||||||
image_height = 200;
|
image_height = 200;
|
||||||
|
@ -127,7 +127,7 @@ in {
|
||||||
switcher_exclusive = true;
|
switcher_exclusive = true;
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "websearch"; # uses google
|
name = "websearch"; # uses google
|
||||||
prefix = "";
|
prefix = "";
|
||||||
switcher_exclusive = true;
|
switcher_exclusive = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,4 +10,3 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,4 @@
|
||||||
{
|
{osConfig, ...}: let
|
||||||
osConfig,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
cfg = osConfig.myOptions.home-manager.wms.hyprland;
|
cfg = osConfig.myOptions.home-manager.wms.hyprland;
|
||||||
in {
|
in {
|
||||||
wayland.windowManager.hyprland.settings = {
|
wayland.windowManager.hyprland.settings = {
|
||||||
|
@ -29,4 +26,3 @@ in {
|
||||||
monitor = cfg.monitor;
|
monitor = cfg.monitor;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,8 @@
|
||||||
{ config, osConfig, ... }: let
|
{
|
||||||
|
config,
|
||||||
|
osConfig,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
cfgPreferences = osConfig.myOptions.home-manager.preferences;
|
cfgPreferences = osConfig.myOptions.home-manager.preferences;
|
||||||
in {
|
in {
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
|
@ -21,7 +25,7 @@ in {
|
||||||
"SUPER, W, killactive,"
|
"SUPER, W, killactive,"
|
||||||
"SUPER, F, togglefloating,"
|
"SUPER, F, togglefloating,"
|
||||||
"SUPER, Space, fullscreen, 0"
|
"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
|
"CTRL_SHIFT, Space, exec, toggle-fake-fullscreen" # fake fullscreen + custom border
|
||||||
"SUPER_SHIFT, S, layoutmsg, togglesplit"
|
"SUPER_SHIFT, S, layoutmsg, togglesplit"
|
||||||
|
|
||||||
|
@ -191,7 +195,6 @@ in {
|
||||||
# Global keybinds (passing keys to other programs)
|
# Global keybinds (passing keys to other programs)
|
||||||
#
|
#
|
||||||
"CTRL, F10, pass, ^(com\.obsproject\.Studio)$"
|
"CTRL, F10, pass, ^(com\.obsproject\.Studio)$"
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# Mouse bindings
|
# Mouse bindings
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
wayland.windowManager.hyprland.settings = {
|
wayland.windowManager.hyprland.settings = {
|
||||||
general.layout = "dwindle";
|
general.layout = "dwindle";
|
||||||
|
|
||||||
dwindle = {
|
dwindle = {
|
||||||
# Don't change the split (side/top) regardless of what happens to the container
|
# Don't change the split (side/top) regardless of what happens to the container
|
||||||
|
|
|
@ -1,10 +1,5 @@
|
||||||
{
|
{config, ...}: {
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
wayland.windowManager.hyprland.settings = {
|
wayland.windowManager.hyprland.settings = {
|
||||||
|
|
||||||
#
|
#
|
||||||
# Window gaps
|
# Window gaps
|
||||||
#
|
#
|
||||||
|
@ -34,12 +29,12 @@
|
||||||
|
|
||||||
group = {
|
group = {
|
||||||
# Groupped windows
|
# Groupped windows
|
||||||
"col.border_active" = "rgba(00A500FF)"; # green
|
"col.border_active" = "rgba(00A500FF)"; # green
|
||||||
"col.border_inactive" = "rgba(5AA500FF)"; # transparent green
|
"col.border_inactive" = "rgba(5AA500FF)"; # transparent green
|
||||||
|
|
||||||
# Locked groupped windows
|
# Locked groupped windows
|
||||||
"col.border_locked_active" = "rgba(A0A500FF)"; # yellow
|
"col.border_locked_active" = "rgba(A0A500FF)"; # yellow
|
||||||
"col.border_locked_inactive" = "rgba(A0A500AA)"; # transparent yellow
|
"col.border_locked_inactive" = "rgba(A0A500AA)"; # transparent yellow
|
||||||
};
|
};
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -52,7 +47,7 @@
|
||||||
render_titles = false; # disable, looks kinda bad
|
render_titles = false; # disable, looks kinda bad
|
||||||
font_family = "Monaspace Krypton";
|
font_family = "Monaspace Krypton";
|
||||||
font_size = 11;
|
font_size = 11;
|
||||||
text_color = "rgba(FFFFFFFF)"; # white
|
text_color = "rgba(FFFFFFFF)"; # white
|
||||||
|
|
||||||
# Gradients should be enabled only if title rendering is also enabled
|
# Gradients should be enabled only if title rendering is also enabled
|
||||||
# on their own, they look really bad
|
# on their own, they look really bad
|
||||||
|
@ -81,7 +76,6 @@
|
||||||
"col.shadow_inactive" = "rgba(0F0F0F99)";
|
"col.shadow_inactive" = "rgba(0F0F0F99)";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Window Blur
|
# Window Blur
|
||||||
#
|
#
|
||||||
|
@ -92,7 +86,6 @@
|
||||||
passes = 1;
|
passes = 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Dim inactive windows
|
# Dim inactive windows
|
||||||
#
|
#
|
||||||
|
@ -124,4 +117,3 @@
|
||||||
misc.animate_manual_resizes = true;
|
misc.animate_manual_resizes = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -109,4 +109,3 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
}: let
|
}: let
|
||||||
inherit (lib) mkIf;
|
inherit (lib) mkIf;
|
||||||
|
|
||||||
hyprPkgs = (import ./packages {inherit pkgs;});
|
hyprPkgs = import ./packages {inherit pkgs;};
|
||||||
|
|
||||||
# TODO: Switch to flake
|
# TODO: Switch to flake
|
||||||
hyprlandPkg = pkgs.hyprland;
|
hyprlandPkg = pkgs.hyprland;
|
||||||
|
@ -15,7 +15,7 @@
|
||||||
cfg = osConfig.myOptions.home-manager.wms.hyprland;
|
cfg = osConfig.myOptions.home-manager.wms.hyprland;
|
||||||
in {
|
in {
|
||||||
imports = [
|
imports = [
|
||||||
./config
|
./config
|
||||||
];
|
];
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{pkgs, ...}:
|
{pkgs, ...}:
|
||||||
pkgs.writeShellScriptBin "brightness" ''
|
pkgs.writeShellScriptBin "brightness" ''
|
||||||
${builtins.readFile ./brightness.sh}
|
${builtins.readFile ./brightness.sh}
|
||||||
''
|
''
|
||||||
|
|
|
@ -1,7 +1,4 @@
|
||||||
{
|
{pkgs, ...}: let
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
packages = {
|
packages = {
|
||||||
hyprland-move-window = pkgs.callPackage ./hyprland-move-window {};
|
hyprland-move-window = pkgs.callPackage ./hyprland-move-window {};
|
||||||
brightness = pkgs.callPackage ./brightness {};
|
brightness = pkgs.callPackage ./brightness {};
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{pkgs, ...}:
|
{pkgs, ...}:
|
||||||
pkgs.writeShellScriptBin "hyprland-move-window" ''
|
pkgs.writeShellScriptBin "hyprland-move-window" ''
|
||||||
${builtins.readFile ./hyprland-move-window.sh}
|
${builtins.readFile ./hyprland-move-window.sh}
|
||||||
''
|
''
|
||||||
|
|
||||||
|
|
|
@ -13,4 +13,3 @@ pkgs.writeShellApplication {
|
||||||
${builtins.readFile ./quick-record.sh}
|
${builtins.readFile ./quick-record.sh}
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,5 +10,3 @@ pkgs.writeShellApplication {
|
||||||
${builtins.readFile ./toggle-fake-fullscreen.sh}
|
${builtins.readFile ./toggle-fake-fullscreen.sh}
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,3 @@ pkgs.writeShellApplication {
|
||||||
${builtins.readFile ./toggle-notifications.sh}
|
${builtins.readFile ./toggle-notifications.sh}
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -9,6 +9,6 @@
|
||||||
cfg = osConfig.myOptions.home-manager.programs.coding.python;
|
cfg = osConfig.myOptions.home-manager.programs.coding.python;
|
||||||
in {
|
in {
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home.packages = with pkgs; [ python312Packages.ipython ];
|
home.packages = with pkgs; [python312Packages.ipython];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,6 @@
|
||||||
cfg = osConfig.myOptions.home-manager.programs.coding.python;
|
cfg = osConfig.myOptions.home-manager.programs.coding.python;
|
||||||
in {
|
in {
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home.packages = with pkgs; [ python312Packages.mypy ];
|
home.packages = with pkgs; [python312Packages.mypy];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,6 @@
|
||||||
cfg = osConfig.myOptions.home-manager.programs.coding.python;
|
cfg = osConfig.myOptions.home-manager.programs.coding.python;
|
||||||
in {
|
in {
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home.packages = with pkgs; [ pyright ];
|
home.packages = with pkgs; [pyright];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,52 +15,52 @@ in {
|
||||||
line-length = 119;
|
line-length = 119;
|
||||||
lint = {
|
lint = {
|
||||||
select = [
|
select = [
|
||||||
"F" # Pyflakes
|
"F" # Pyflakes
|
||||||
"E" # Pycodestyle (errors)
|
"E" # Pycodestyle (errors)
|
||||||
"W" # Pycodestyle (warnigns)
|
"W" # Pycodestyle (warnigns)
|
||||||
"N" # pep8-naming
|
"N" # pep8-naming
|
||||||
"D" # pydocstyle
|
"D" # pydocstyle
|
||||||
"UP" # pyupgrade
|
"UP" # pyupgrade
|
||||||
"YTT" # flake8-2020
|
"YTT" # flake8-2020
|
||||||
"ANN" # flake8-annotations
|
"ANN" # flake8-annotations
|
||||||
"ASYNC" # flake8-async
|
"ASYNC" # flake8-async
|
||||||
"S" # flake8-bandit
|
"S" # flake8-bandit
|
||||||
"BLE" # flake8-blind-except
|
"BLE" # flake8-blind-except
|
||||||
"B" # flake8-bugbear
|
"B" # flake8-bugbear
|
||||||
"A" # flake8-builtins
|
"A" # flake8-builtins
|
||||||
"COM" # flake8-commas
|
"COM" # flake8-commas
|
||||||
"C4" # flake8-comprehensions
|
"C4" # flake8-comprehensions
|
||||||
"DTZ" # flake8-datetimez
|
"DTZ" # flake8-datetimez
|
||||||
"T10" # flake8-debugger
|
"T10" # flake8-debugger
|
||||||
"EM" # flake8-errmsg
|
"EM" # flake8-errmsg
|
||||||
"EXE" # flake8-executable
|
"EXE" # flake8-executable
|
||||||
"FA" # flake8-future-annotations
|
"FA" # flake8-future-annotations
|
||||||
"ISC" # flake8-implicit-str-concat
|
"ISC" # flake8-implicit-str-concat
|
||||||
"ICN" # flake8-import-conventions
|
"ICN" # flake8-import-conventions
|
||||||
"LOG" # flake8-logging
|
"LOG" # flake8-logging
|
||||||
"G" # flake8-logging-format
|
"G" # flake8-logging-format
|
||||||
"INP" # flake8-no-pep420
|
"INP" # flake8-no-pep420
|
||||||
"PIE" # flake8-pie
|
"PIE" # flake8-pie
|
||||||
"T20" # flake8-print
|
"T20" # flake8-print
|
||||||
"PYI" # flake8-pyi
|
"PYI" # flake8-pyi
|
||||||
"PT" # flake8-pytest-style
|
"PT" # flake8-pytest-style
|
||||||
"Q" # flake8-quotes
|
"Q" # flake8-quotes
|
||||||
"RSE" # flake8-raise
|
"RSE" # flake8-raise
|
||||||
"RET" # flake8-return
|
"RET" # flake8-return
|
||||||
"SLOT" # flake8-slots
|
"SLOT" # flake8-slots
|
||||||
"SIM" # flake8-simplify
|
"SIM" # flake8-simplify
|
||||||
"TID" # flake8-tidy-imports
|
"TID" # flake8-tidy-imports
|
||||||
"TCH" # flake8-type-checking
|
"TCH" # flake8-type-checking
|
||||||
"INT" # flake8-gettext
|
"INT" # flake8-gettext
|
||||||
"PTH" # flake8-use-pathlib
|
"PTH" # flake8-use-pathlib
|
||||||
"TD" # flake8-todos
|
"TD" # flake8-todos
|
||||||
"ERA" # flake8-eradicate
|
"ERA" # flake8-eradicate
|
||||||
"PGH" # pygrep-hooks
|
"PGH" # pygrep-hooks
|
||||||
"PL" # pylint
|
"PL" # pylint
|
||||||
"TRY" # tryceratops
|
"TRY" # tryceratops
|
||||||
"FLY" # flynt
|
"FLY" # flynt
|
||||||
"PERF" # perflint
|
"PERF" # perflint
|
||||||
"RUF" # ruff-specific rules
|
"RUF" # ruff-specific rules
|
||||||
];
|
];
|
||||||
ignore = [
|
ignore = [
|
||||||
"D100" # Missing docstring in public module
|
"D100" # Missing docstring in public module
|
||||||
|
@ -100,25 +100,25 @@ in {
|
||||||
"TD002" # Missing author in TODO
|
"TD002" # Missing author in TODO
|
||||||
"TD003" # Missing issue link on the line following this TODO
|
"TD003" # Missing issue link on the line following this TODO
|
||||||
|
|
||||||
"PT011" # pytest.raises without match parameter is too broad # TODO: Unignore this
|
"PT011" # pytest.raises without match parameter is too broad # TODO: Unignore this
|
||||||
"TRY003" # No f-strings in raise statements
|
"TRY003" # No f-strings in raise statements
|
||||||
"EM101" # No string literals in exception init
|
"EM101" # No string literals in exception init
|
||||||
"EM102" # No f-strings in exception init
|
"EM102" # No f-strings in exception init
|
||||||
"UP024" # Using errors that alias OSError
|
"UP024" # Using errors that alias OSError
|
||||||
"PLR2004" # Using unnamed numerical constants
|
"PLR2004" # Using unnamed numerical constants
|
||||||
"PGH003" # Using specific rule codes in type ignores
|
"PGH003" # Using specific rule codes in type ignores
|
||||||
"E731" # Don't asign a lambda expression, use a def
|
"E731" # Don't asign a lambda expression, use a def
|
||||||
|
|
||||||
# Redundant rules with ruff-format:
|
# Redundant rules with ruff-format:
|
||||||
"E111" # Indentation of a non-multiple of 4 spaces
|
"E111" # Indentation of a non-multiple of 4 spaces
|
||||||
"E114" # Comment with 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
|
"E117" # Cheks for over-indented code
|
||||||
"D206" # Checks for docstrings indented with tabs
|
"D206" # Checks for docstrings indented with tabs
|
||||||
"D300" # Checks for docstring that use ''' instead of """
|
"D300" # Checks for docstring that use ''' instead of """
|
||||||
"Q000" # Checks of inline strings that use wrong quotes (' instead of ")
|
"Q000" # Checks of inline strings that use wrong quotes (' instead of ")
|
||||||
"Q001" # Multiline string 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 """)
|
"Q002" # Checks for docstrings that use wrong quotes (''' instead of """)
|
||||||
"Q003" # Checks for avoidable escaped quotes ("\"" -> '"')
|
"Q003" # Checks for avoidable escaped quotes ("\"" -> '"')
|
||||||
"COM812" # Missing trailing comma (in multi-line lists/tuples/...)
|
"COM812" # Missing trailing comma (in multi-line lists/tuples/...)
|
||||||
"COM819" # Prohibited trailing comma (in single-line lists/tuples/...)
|
"COM819" # Prohibited trailing comma (in single-line lists/tuples/...)
|
||||||
"ISC001" # Single line implicit string concatenation ("hi" "hey" -> "hihey")
|
"ISC001" # Single line implicit string concatenation ("hi" "hey" -> "hihey")
|
||||||
|
@ -126,7 +126,7 @@ in {
|
||||||
];
|
];
|
||||||
extend-per-file-ignores = {
|
extend-per-file-ignores = {
|
||||||
"tests/*" = [
|
"tests/*" = [
|
||||||
"ANN" # flake8-annotations
|
"ANN" # flake8-annotations
|
||||||
"S101" # Use of assert
|
"S101" # Use of assert
|
||||||
];
|
];
|
||||||
"docs/conf.py" = [
|
"docs/conf.py" = [
|
||||||
|
@ -139,10 +139,10 @@ in {
|
||||||
combine-as-imports = true;
|
combine-as-imports = true;
|
||||||
|
|
||||||
# Redundant rules with ruff-format
|
# Redundant rules with ruff-format
|
||||||
force-single-line = false; # forces all imports to appear on their own line
|
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
|
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-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
|
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
|
split-on-trailing-comma = false; # if last member of multiline import has a comma, don't fold it to single line
|
||||||
};
|
};
|
||||||
pylint = {
|
pylint = {
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
in {
|
in {
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home = {
|
home = {
|
||||||
packages = with pkgs; [ rye ];
|
packages = with pkgs; [rye];
|
||||||
|
|
||||||
sessionVariables = {
|
sessionVariables = {
|
||||||
RYE_HOME = "${config.xdg.configHome}/rye";
|
RYE_HOME = "${config.xdg.configHome}/rye";
|
||||||
|
@ -32,7 +32,7 @@ in {
|
||||||
# see: <https://rye.astral.sh/guide/config/#config-file>
|
# see: <https://rye.astral.sh/guide/config/#config-file>
|
||||||
xdg.configFile."rye/config.toml".source = toTOML "config.toml" {
|
xdg.configFile."rye/config.toml".source = toTOML "config.toml" {
|
||||||
default.license = "GPL-3.0-or-later";
|
default.license = "GPL-3.0-or-later";
|
||||||
behavior.global-python=true;
|
behavior.global-python = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,5 +8,3 @@ _: {
|
||||||
./kitty.nix
|
./kitty.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,4 @@
|
||||||
{
|
{pkgs, ...}: {
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
libsixel # for displaying images
|
libsixel # for displaying images
|
||||||
];
|
];
|
||||||
|
@ -62,4 +59,3 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -92,4 +92,3 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,4 +9,3 @@ _: {
|
||||||
./ranger.nix
|
./ranger.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -16,4 +16,3 @@ in {
|
||||||
${(optionalString config.programs.kitty.enable "set preview_images_method kitty")}
|
${(optionalString config.programs.kitty.enable "set preview_images_method kitty")}
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -49,4 +49,3 @@
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -12,4 +12,3 @@ pkgs: {
|
||||||
hash = "sha256-k/yre9SYNPYBM2W1DPpL6Ypt3w3EMO9dznHwa+fw/n0=";
|
hash = "sha256-k/yre9SYNPYBM2W1DPpL6Ypt3w3EMO9dznHwa+fw/n0=";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,4 +38,3 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -144,4 +144,3 @@
|
||||||
"*.pkg" = "";
|
"*.pkg" = "";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -61,4 +61,3 @@
|
||||||
syntect_theme = "";
|
syntect_theme = "";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -43,4 +43,3 @@
|
||||||
permissions_s = {fg = "darkgray";};
|
permissions_s = {fg = "darkgray";};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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 = {
|
programs.zsh.shellAliases = {
|
||||||
# I'm not the greatest typist
|
# I'm not the greatest typist
|
||||||
sl = "ls";
|
sl = "ls";
|
||||||
|
|
|
@ -1,4 +1,8 @@
|
||||||
{ config, pkgs, ... }: {
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
./plugins.nix
|
./plugins.nix
|
||||||
./aliases.nix
|
./aliases.nix
|
||||||
|
|
|
@ -1,9 +1,6 @@
|
||||||
_:
|
_: let
|
||||||
let
|
|
||||||
inherit (builtins) readFile;
|
inherit (builtins) readFile;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
|
|
||||||
# I prefer having the rc files split across multiple files in my system rather
|
# 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
|
# than just using readFile and putting them all into the generated zshrc
|
||||||
# this also allows me to source them individually if I need to
|
# this also allows me to source them individually if I need to
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
let
|
|
||||||
inherit (pkgs) fetchFromGitHub;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
inherit (pkgs) fetchFromGitHub;
|
||||||
|
in {
|
||||||
programs.zsh.plugins = [
|
programs.zsh.plugins = [
|
||||||
{
|
{
|
||||||
name = "zsh-nix-shell";
|
name = "zsh-nix-shell";
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
DIRENV_LOG_FORMAT="";
|
DIRENV_LOG_FORMAT = "";
|
||||||
};
|
};
|
||||||
programs.direnv = {
|
programs.direnv = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -11,4 +11,3 @@ in {
|
||||||
programs.fastfetch.enable = true;
|
programs.fastfetch.enable = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,5 @@
|
||||||
{
|
{pkgs, ...}: let
|
||||||
pkgs,
|
scriptPkgs = import ./bin {inherit pkgs;};
|
||||||
...
|
|
||||||
}: let
|
|
||||||
|
|
||||||
scriptPkgs = (import ./bin {inherit pkgs;});
|
|
||||||
in {
|
in {
|
||||||
programs.git = {
|
programs.git = {
|
||||||
aliases = {
|
aliases = {
|
||||||
|
@ -70,6 +66,8 @@ in {
|
||||||
|
|
||||||
set-upstream = "!git branch --set-upstream-to=origin/`git symbolic-ref --short HEAD`";
|
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";
|
staash = "stash --all";
|
||||||
stash-staged = "!sh -c 'git stash --keep-index; git stash push -m \"staged\" --keep-index; git stash pop stash@{1}'";
|
stash-staged = "!sh -c 'git stash --keep-index; git stash push -m \"staged\" --keep-index; git stash pop stash@{1}'";
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{pkgs, ...}:
|
{pkgs, ...}:
|
||||||
pkgs.writeShellScriptBin "better-git-branch" ''
|
pkgs.writeShellScriptBin "better-git-branch" ''
|
||||||
${builtins.readFile ./better-git-branch.sh}
|
${builtins.readFile ./better-git-branch.sh}
|
||||||
''
|
''
|
||||||
|
|
|
@ -1,7 +1,4 @@
|
||||||
{
|
{pkgs, ...}: let
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
packages = {
|
packages = {
|
||||||
better-git-branch = pkgs.callPackage ./better-git-branch {};
|
better-git-branch = pkgs.callPackage ./better-git-branch {};
|
||||||
};
|
};
|
||||||
|
|
|
@ -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 = [
|
imports = [
|
||||||
./gh.nix
|
./gh.nix
|
||||||
./ignores.nix
|
./ignores.nix
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, ... }: {
|
{pkgs, ...}: {
|
||||||
programs.gh = {
|
programs.gh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
gitCredentialHelper.enable = false;
|
gitCredentialHelper.enable = false;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, ... }: {
|
{config, ...}: {
|
||||||
programs = {
|
programs = {
|
||||||
gpg = {
|
gpg = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
cfg = osConfig.myOptions.home-manager.programs.applications.iamb;
|
cfg = osConfig.myOptions.home-manager.programs.applications.iamb;
|
||||||
in {
|
in {
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home.packages = with pkgs; [ iamb ];
|
home.packages = with pkgs; [iamb];
|
||||||
|
|
||||||
xdg.configFile."iamb/config.json".text = builtins.toJSON {
|
xdg.configFile."iamb/config.json".text = builtins.toJSON {
|
||||||
settings = {
|
settings = {
|
||||||
|
@ -33,10 +33,12 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
default_profile = cfg.defaultProfile;
|
default_profile = cfg.defaultProfile;
|
||||||
profiles = lib.mapAttrs (name: profile: {
|
profiles =
|
||||||
user_id = profile.userId;
|
lib.mapAttrs (name: profile: {
|
||||||
url = profile.homeServer;
|
user_id = profile.userId;
|
||||||
}) cfg.profiles;
|
url = profile.homeServer;
|
||||||
|
})
|
||||||
|
cfg.profiles;
|
||||||
|
|
||||||
dirs = {
|
dirs = {
|
||||||
cache = "${config.xdg.cacheHome}/iamb/";
|
cache = "${config.xdg.cacheHome}/iamb/";
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
# Config copied from https://git.notashelf.dev/NotAShelf/nyx
|
# Config copied from https://git.notashelf.dev/NotAShelf/nyx
|
||||||
{ pkgs, lib, ... }: let
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
inherit (lib) getExe;
|
inherit (lib) getExe;
|
||||||
|
|
||||||
mpv = "${getExe pkgs.mpv}";
|
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 v set browser "${mpv} %u" ; open-in-browser ; set browser "firefox %u" -- "Open video on mpv"
|
||||||
macro , open-in-browser
|
macro , open-in-browser
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -57,4 +57,3 @@
|
||||||
{url = "https://kiszamolo.hu/feed";}
|
{url = "https://kiszamolo.hu/feed";}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, ... }: {
|
{config, ...}: {
|
||||||
programs = {
|
programs = {
|
||||||
# nix-index is a file database for nixpkgs
|
# nix-index is a file database for nixpkgs
|
||||||
# this provides `nix-locate` command.
|
# this provides `nix-locate` command.
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
{
|
{
|
||||||
programs = {
|
programs = {
|
||||||
ssh = {
|
ssh = {
|
||||||
|
|
||||||
# TODO: Enable this after figuring out how to add protected/encrypted blocks here.
|
# 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.
|
# I don't like the idea of expising IPs/hostnames in the config.
|
||||||
# For now, I just persist the .ssh directory, managing stuff manually.
|
# For now, I just persist the .ssh directory, managing stuff manually.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# Attribute set of files to link into the user's XDG directories
|
# Attribute set of files to link into the user's XDG directories
|
||||||
{ config, ... }: let
|
{config, ...}: let
|
||||||
XDG_CACHE_HOME = config.xdg.cacheHome;
|
XDG_CACHE_HOME = config.xdg.cacheHome;
|
||||||
XDG_CONFIG_HOME = config.xdg.configHome;
|
XDG_CONFIG_HOME = config.xdg.configHome;
|
||||||
XDG_DATA_HOME = config.xdg.dataHome;
|
XDG_DATA_HOME = config.xdg.dataHome;
|
||||||
|
@ -7,7 +7,6 @@
|
||||||
XDG_RUNTIME_DIR = config.home.sessionVariables.XDG_RUNTIME_DIR;
|
XDG_RUNTIME_DIR = config.home.sessionVariables.XDG_RUNTIME_DIR;
|
||||||
XDG_BIN_HOME = config.home.sessionVariables.XDG_BIN_HOME;
|
XDG_BIN_HOME = config.home.sessionVariables.XDG_BIN_HOME;
|
||||||
in {
|
in {
|
||||||
|
|
||||||
# Variables set to force apps into the XDG base directories
|
# Variables set to force apps into the XDG base directories
|
||||||
# These will get set at login
|
# These will get set at login
|
||||||
# Defined in /etc/profiles/per-user/$USER/etc/profile.d/hm-session-vars.sh
|
# Defined in /etc/profiles/per-user/$USER/etc/profile.d/hm-session-vars.sh
|
||||||
|
|
|
@ -1,4 +1,8 @@
|
||||||
{config, pkgs, ...}: {
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
./mime-apps.nix
|
./mime-apps.nix
|
||||||
./user-dirs.nix
|
./user-dirs.nix
|
||||||
|
@ -23,5 +27,5 @@
|
||||||
|
|
||||||
# xdg-ninja is a CLI tool that checks $HOME for unwanted
|
# xdg-ninja is a CLI tool that checks $HOME for unwanted
|
||||||
# files/dirs and shows how to move them to XDG dirs
|
# files/dirs and shows how to move them to XDG dirs
|
||||||
home.packages = [ pkgs.xdg-ninja ];
|
home.packages = [pkgs.xdg-ninja];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,5 @@
|
||||||
# Manage $XDG_CONFIG_HOME/mimeapps.list
|
# Manage $XDG_CONFIG_HOME/mimeapps.list
|
||||||
{
|
{osConfig, ...}: let
|
||||||
osConfig,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
cfgPreferences = osConfig.myOptions.home-manager.preferences;
|
cfgPreferences = osConfig.myOptions.home-manager.preferences;
|
||||||
in {
|
in {
|
||||||
xdg.mimeApps = let
|
xdg.mimeApps = let
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# Manage $XDG_CONFIG_HOME/user-dirs.dirs
|
# Manage $XDG_CONFIG_HOME/user-dirs.dirs
|
||||||
{ config, ... }: {
|
{config, ...}: {
|
||||||
xdg.userDirs = {
|
xdg.userDirs = {
|
||||||
enable = true;
|
enable = true;
|
||||||
createDirectories = true;
|
createDirectories = true;
|
||||||
|
|
|
@ -12,11 +12,11 @@
|
||||||
in {
|
in {
|
||||||
config = mkIf (cfg.enable && cfgIsWayland) {
|
config = mkIf (cfg.enable && cfgIsWayland) {
|
||||||
systemd.user.services.hyprpaper = {
|
systemd.user.services.hyprpaper = {
|
||||||
Install.WantedBy = [ "hyprland-session.target" ];
|
Install.WantedBy = ["hyprland-session.target"];
|
||||||
Unit = {
|
Unit = {
|
||||||
Description = "Hyprpaper (Hyprland wallpaper daemon)";
|
Description = "Hyprpaper (Hyprland wallpaper daemon)";
|
||||||
PartOf = [ "graphical-session.target" ];
|
PartOf = ["graphical-session.target"];
|
||||||
After = [ "graphical-session.target" ];
|
After = ["graphical-session.target"];
|
||||||
};
|
};
|
||||||
Service = {
|
Service = {
|
||||||
Type = "simple";
|
Type = "simple";
|
||||||
|
@ -31,4 +31,3 @@ in {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,4 @@
|
||||||
{
|
{osConfig, ...}: let
|
||||||
osConfig,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
cfg = osConfig.myOptions.home-manager.theme.cursor;
|
cfg = osConfig.myOptions.home-manager.theme.cursor;
|
||||||
in {
|
in {
|
||||||
home = {
|
home = {
|
||||||
|
|
|
@ -18,7 +18,11 @@ in {
|
||||||
GTK_THEME = "${cfg.theme.name}";
|
GTK_THEME = "${cfg.theme.name}";
|
||||||
|
|
||||||
# gtk applications should use filepickers specified by xdg
|
# 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
|
||||||
|
)}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -80,7 +80,6 @@ in {
|
||||||
};
|
};
|
||||||
"Kvantum/${cfg.kvantumTheme.name}".source = "${cfg.kvantumTheme.package}/share/Kvantum/${cfg.kvantumTheme.name}";
|
"Kvantum/${cfg.kvantumTheme.name}".source = "${cfg.kvantumTheme.package}/share/Kvantum/${cfg.kvantumTheme.name}";
|
||||||
|
|
||||||
|
|
||||||
# Set icon theme using qtct
|
# Set icon theme using qtct
|
||||||
"qt5ct/qt5ct.conf".text = lib.generators.toINI {} {
|
"qt5ct/qt5ct.conf".text = lib.generators.toINI {} {
|
||||||
Appearance = {
|
Appearance = {
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ inputs, ... }:
|
{inputs, ...}: let
|
||||||
let
|
|
||||||
inherit (inputs) self;
|
inherit (inputs) self;
|
||||||
inherit (inputs.nixpkgs) lib;
|
inherit (inputs.nixpkgs) lib;
|
||||||
|
|
||||||
|
@ -9,27 +8,30 @@ let
|
||||||
../home
|
../home
|
||||||
../options
|
../options
|
||||||
];
|
];
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
herugrim = lib.nixosSystem {
|
herugrim = lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
specialArgs = { inherit lib inputs self; };
|
specialArgs = {inherit lib inputs self;};
|
||||||
modules = [
|
modules =
|
||||||
./herugrim
|
[
|
||||||
inputs.home-manager.nixosModules.home-manager
|
./herugrim
|
||||||
inputs.impermanence.nixosModules.impermanence
|
inputs.home-manager.nixosModules.home-manager
|
||||||
inputs.lanzaboote.nixosModules.lanzaboote
|
inputs.impermanence.nixosModules.impermanence
|
||||||
] ++ shared;
|
inputs.lanzaboote.nixosModules.lanzaboote
|
||||||
|
]
|
||||||
|
++ shared;
|
||||||
};
|
};
|
||||||
|
|
||||||
voyager = lib.nixosSystem {
|
voyager = lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
specialArgs = { inherit lib inputs self; };
|
specialArgs = {inherit lib inputs self;};
|
||||||
modules = [
|
modules =
|
||||||
./voyager
|
[
|
||||||
inputs.home-manager.nixosModules.home-manager
|
./voyager
|
||||||
inputs.impermanence.nixosModules.impermanence
|
inputs.home-manager.nixosModules.home-manager
|
||||||
inputs.lanzaboote.nixosModules.lanzaboote
|
inputs.impermanence.nixosModules.impermanence
|
||||||
] ++ shared;
|
inputs.lanzaboote.nixosModules.lanzaboote
|
||||||
|
]
|
||||||
|
++ shared;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,13 @@
|
||||||
{ lib, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.supportedFilesystems = [ "btrfs" ];
|
boot.supportedFilesystems = ["btrfs"];
|
||||||
|
|
||||||
# My flake disables this by default for security reasons. However,
|
# My flake disables this by default for security reasons. However,
|
||||||
# with an encrypted setup, which requires entering password before
|
# with an encrypted setup, which requires entering password before
|
||||||
|
@ -42,7 +45,7 @@
|
||||||
# Configure automatic root subvolume wiping on boot from initrd
|
# Configure automatic root subvolume wiping on boot from initrd
|
||||||
autoWipeBtrfs = {
|
autoWipeBtrfs = {
|
||||||
enable = true;
|
enable = true;
|
||||||
devices."/dev/disk/by-label/NIXROOT".subvolumes = [ "root" ];
|
devices."/dev/disk/by-label/NIXROOT".subvolumes = ["root"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,60 +1,64 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
lib,
|
||||||
];
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "sd_mod" ];
|
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usb_storage" "sd_mod"];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
boot.kernelModules = ["kvm-amd"];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
boot.initrd.luks.devices."cryptfs".device = "/dev/disk/by-label/NIXCRYPTROOT";
|
boot.initrd.luks.devices."cryptfs".device = "/dev/disk/by-label/NIXCRYPTROOT";
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-label/NIXROOT";
|
device = "/dev/disk/by-label/NIXROOT";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
options = [ "subvol=root" "noatime" "compress=zstd:3" ];
|
options = ["subvol=root" "noatime" "compress=zstd:3"];
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/home" =
|
fileSystems."/home" = {
|
||||||
{ device = "/dev/disk/by-label/NIXROOT";
|
device = "/dev/disk/by-label/NIXROOT";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
options = [ "subvol=home" "noatime" "compress=zstd:3" ];
|
options = ["subvol=home" "noatime" "compress=zstd:3"];
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/nix" =
|
fileSystems."/nix" = {
|
||||||
{ device = "/dev/disk/by-label/NIXROOT";
|
device = "/dev/disk/by-label/NIXROOT";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
options = [ "subvol=nix" "noatime" "compress=zstd:3" ];
|
options = ["subvol=nix" "noatime" "compress=zstd:3"];
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/var/log" =
|
fileSystems."/var/log" = {
|
||||||
{ device = "/dev/disk/by-label/NIXROOT";
|
device = "/dev/disk/by-label/NIXROOT";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
options = [ "subvol=log" "noatime" "compress=zstd:3" ];
|
options = ["subvol=log" "noatime" "compress=zstd:3"];
|
||||||
neededForBoot = true;
|
neededForBoot = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/persist" =
|
fileSystems."/persist" = {
|
||||||
{ device = "/dev/disk/by-label/NIXROOT";
|
device = "/dev/disk/by-label/NIXROOT";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
options = [ "subvol=persist" "noatime" "compress=zstd:3" ];
|
options = ["subvol=persist" "noatime" "compress=zstd:3"];
|
||||||
neededForBoot = true;
|
neededForBoot = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-label/NIXBOOT";
|
device = "/dev/disk/by-label/NIXBOOT";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices =
|
swapDevices = [
|
||||||
[ { device = "/dev/disk/by-label/SWAP"; }
|
{device = "/dev/disk/by-label/SWAP";}
|
||||||
];
|
];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# 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
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
|
|
@ -1,16 +1,18 @@
|
||||||
# Edit this configuration file to define what should be installed on
|
# Edit this configuration file to define what should be installed on
|
||||||
# your system. Help is available in the configuration.nix(5) man page, 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`).
|
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
|
||||||
|
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ # Include the results of the hardware scan.
|
lib,
|
||||||
./hardware-configuration.nix
|
pkgs,
|
||||||
];
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
# Include the results of the hardware scan.
|
||||||
|
./hardware-configuration.nix
|
||||||
|
];
|
||||||
|
|
||||||
boot.supportedFilesystems = [ "btrfs" ];
|
boot.supportedFilesystems = ["btrfs"];
|
||||||
hardware.enableAllFirmware = true;
|
hardware.enableAllFirmware = true;
|
||||||
|
|
||||||
# My flake disables this by default for security reasons. However, with an encrypted setup,
|
# 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
|
# Configure automatic root subvolume wiping on boot from initrd
|
||||||
autoWipeBtrfs = {
|
autoWipeBtrfs = {
|
||||||
enable = true;
|
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 = {
|
device = {
|
||||||
roles = {
|
roles = {
|
||||||
type = "laptop";
|
type = "laptop";
|
||||||
virtual-machine = false;
|
virtual-machine = false;
|
||||||
};
|
};
|
||||||
cpu.type = "amd";
|
cpu.type = "amd";
|
||||||
gpu.type = "amd";
|
gpu.type = "amd";
|
||||||
|
@ -144,7 +146,7 @@
|
||||||
security = {
|
security = {
|
||||||
auditd = {
|
auditd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
autoPrune.enable = true;
|
autoPrune.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -161,28 +163,28 @@
|
||||||
|
|
||||||
git = {
|
git = {
|
||||||
userName = "ItsDrike";
|
userName = "ItsDrike";
|
||||||
userEmail = "itsdrike@protonmail.com";
|
userEmail = "itsdrike@protonmail.com";
|
||||||
signing = {
|
signing = {
|
||||||
enable = true;
|
enable = true;
|
||||||
key = "FA2745890B7048C0";
|
key = "FA2745890B7048C0";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
wms.hyprland = {
|
wms.hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
monitor = [
|
monitor = [
|
||||||
# Primary / laptop display
|
# Primary / laptop display
|
||||||
"eDP-1, 1920x1200@60, 0x1080, 1"
|
"eDP-1, 1920x1200@60, 0x1080, 1"
|
||||||
|
|
||||||
# HDMI-A-1 above primary
|
# 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 left to primary
|
||||||
#"HDMI-A-1, 1920x1080@60, 1920x1080, 1"
|
#"HDMI-A-1, 1920x1080@60, 1920x1080, 1"
|
||||||
|
|
||||||
# Mirror the primary (laptop) monitor on externals
|
# Mirror the primary (laptop) monitor on externals
|
||||||
", preferred, auto, 1, mirror, eDP-1"
|
", preferred, auto, 1, mirror, eDP-1"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
|
@ -205,7 +207,7 @@
|
||||||
};
|
};
|
||||||
webcord.enable = true;
|
webcord.enable = true;
|
||||||
mpv.enable = true;
|
mpv.enable = true;
|
||||||
nomacs.enable = true; # TODO: probably disable
|
nomacs.enable = true; # TODO: probably disable
|
||||||
qimgv.enable = true;
|
qimgv.enable = true;
|
||||||
qbittorrent.enable = true;
|
qbittorrent.enable = true;
|
||||||
obs.enable = true;
|
obs.enable = true;
|
||||||
|
|
|
@ -1,60 +1,64 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
lib,
|
||||||
];
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "usb_storage" "sd_mod" ];
|
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "usb_storage" "sd_mod"];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
boot.kernelModules = ["kvm-amd"];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
boot.initrd.luks.devices."cryptfs".device = "/dev/disk/by-label/NIXOS-CRYPTFS";
|
boot.initrd.luks.devices."cryptfs".device = "/dev/disk/by-label/NIXOS-CRYPTFS";
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-label/NIXOS-FS";
|
device = "/dev/disk/by-label/NIXOS-FS";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
options = [ "subvol=root" "noatime" "compress=zstd:3" ];
|
options = ["subvol=root" "noatime" "compress=zstd:3"];
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/nix" =
|
fileSystems."/nix" = {
|
||||||
{ device = "/dev/disk/by-label/NIXOS-FS";
|
device = "/dev/disk/by-label/NIXOS-FS";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
options = [ "subvol=nix" "noatime" "compress=zstd:3" ];
|
options = ["subvol=nix" "noatime" "compress=zstd:3"];
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/persist" =
|
fileSystems."/persist" = {
|
||||||
{ device = "/dev/disk/by-label/NIXOS-FS";
|
device = "/dev/disk/by-label/NIXOS-FS";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
options = [ "subvol=persist" "noatime" "compress=zstd:3" ];
|
options = ["subvol=persist" "noatime" "compress=zstd:3"];
|
||||||
neededForBoot = true;
|
neededForBoot = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/data" =
|
fileSystems."/data" = {
|
||||||
{ device = "/dev/disk/by-label/NIXOS-FS";
|
device = "/dev/disk/by-label/NIXOS-FS";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
options = [ "subvol=data" "noatime" "compress=zstd:3" ];
|
options = ["subvol=data" "noatime" "compress=zstd:3"];
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-label/EFI";
|
device = "/dev/disk/by-label/EFI";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = [ "fmask=0022" "dmask=0022" ];
|
options = ["fmask=0022" "dmask=0022"];
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/.btrfs" =
|
fileSystems."/.btrfs" = {
|
||||||
{ device = "/dev/disk/by-label/NIXOS-FS";
|
device = "/dev/disk/by-label/NIXOS-FS";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
options = [ "noatime" "compress=zstd:3" ];
|
options = ["noatime" "compress=zstd:3"];
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices =
|
swapDevices = [
|
||||||
[ { device = "/dev/disk/by-label/SWAP"; }
|
{device = "/dev/disk/by-label/SWAP";}
|
||||||
];
|
];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# 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
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
|
|
@ -1,10 +1,9 @@
|
||||||
{ lib, ... }: let
|
{lib, ...}: let
|
||||||
inherit (lib) mkOption mkEnableOption types;
|
inherit (lib) mkOption mkEnableOption types;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
options.myOptions.device = {
|
options.myOptions.device = {
|
||||||
cpu.type = mkOption {
|
cpu.type = mkOption {
|
||||||
type = with types; nullOr (enum [ "intel" "amd" ]);
|
type = with types; nullOr (enum ["intel" "amd"]);
|
||||||
default = null;
|
default = null;
|
||||||
description = ''
|
description = ''
|
||||||
The manifaturer/type of the primary system CPU.
|
The manifaturer/type of the primary system CPU.
|
||||||
|
@ -16,7 +15,7 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
gpu.type = mkOption {
|
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;
|
default = null;
|
||||||
description = ''
|
description = ''
|
||||||
The manifaturer/type of the primary system GPU.
|
The manifaturer/type of the primary system GPU.
|
||||||
|
|
|
@ -1,4 +1,8 @@
|
||||||
{ lib, config, ... }: let
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
inherit (lib) mkOption types;
|
inherit (lib) mkOption types;
|
||||||
|
|
||||||
cfg = config.myOptions.device.roles;
|
cfg = config.myOptions.device.roles;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ lib, ... }: with lib; let
|
{lib, ...}:
|
||||||
|
with lib; let
|
||||||
inherit (lib) mkEnableOption mkOption;
|
inherit (lib) mkEnableOption mkOption;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
./programs
|
./programs
|
||||||
./git.nix
|
./git.nix
|
||||||
|
@ -21,4 +21,3 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ lib, ... }: with lib; let
|
{lib, ...}:
|
||||||
|
with lib; let
|
||||||
inherit (lib) mkEnableOption mkOption;
|
inherit (lib) mkEnableOption mkOption;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
options.myOptions.home-manager.git = {
|
options.myOptions.home-manager.git = {
|
||||||
userName = mkOption {
|
userName = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
|
|
|
@ -1,24 +1,25 @@
|
||||||
{ lib, ... }: let
|
{lib, ...}: let
|
||||||
inherit (lib) mkOption types;
|
inherit (lib) mkOption types;
|
||||||
|
|
||||||
mkPreferenceCmdOption = name: commandDefault: mkOption {
|
mkPreferenceCmdOption = name: commandDefault:
|
||||||
type = types.str;
|
mkOption {
|
||||||
description = "The command to start your preferred ${name}.";
|
type = types.str;
|
||||||
default = commandDefault;
|
description = "The command to start your preferred ${name}.";
|
||||||
};
|
default = commandDefault;
|
||||||
|
};
|
||||||
|
|
||||||
mkPreferenceDesktopOption = name: desktopDefault: mkOption {
|
mkPreferenceDesktopOption = name: desktopDefault:
|
||||||
type = types.str;
|
mkOption {
|
||||||
description = "The desktop (application) file for your preferred ${name}.";
|
type = types.str;
|
||||||
default = desktopDefault;
|
description = "The desktop (application) file for your preferred ${name}.";
|
||||||
};
|
default = desktopDefault;
|
||||||
|
};
|
||||||
|
|
||||||
mkPreferenceOptions = name: commandDefault: desktopDefault: {
|
mkPreferenceOptions = name: commandDefault: desktopDefault: {
|
||||||
command = mkPreferenceCmdOption name commandDefault;
|
command = mkPreferenceCmdOption name commandDefault;
|
||||||
desktop = mkPreferenceDesktopOption name desktopDefault;
|
desktop = mkPreferenceDesktopOption name desktopDefault;
|
||||||
};
|
};
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
options.myOptions.home-manager.preferences = {
|
options.myOptions.home-manager.preferences = {
|
||||||
browser = mkPreferenceOptions "browser" "firefox" "firefox.desktop";
|
browser = mkPreferenceOptions "browser" "firefox" "firefox.desktop";
|
||||||
terminalEmulator = mkPreferenceOptions "terminal emulator" "kitty" "kitty.desktop";
|
terminalEmulator = mkPreferenceOptions "terminal emulator" "kitty" "kitty.desktop";
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ lib, ... }: with lib; let
|
{lib, ...}:
|
||||||
|
with lib; let
|
||||||
inherit (lib) mkEnableOption mkOption types;
|
inherit (lib) mkEnableOption mkOption types;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
./iamb.nix
|
./iamb.nix
|
||||||
];
|
];
|
||||||
|
|
|
@ -6,8 +6,7 @@
|
||||||
inherit (lib) mkEnableOption mkOption types mkIf;
|
inherit (lib) mkEnableOption mkOption types mkIf;
|
||||||
|
|
||||||
cfg = config.myOptions.home-manager.programs.applications.iamb;
|
cfg = config.myOptions.home-manager.programs.applications.iamb;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
options.myOptions.home-manager.programs.applications.iamb = {
|
options.myOptions.home-manager.programs.applications.iamb = {
|
||||||
enable = mkEnableOption "iamb (vim-inspired terminal Matrix client)";
|
enable = mkEnableOption "iamb (vim-inspired terminal Matrix client)";
|
||||||
defaultProfile = mkOption {
|
defaultProfile = mkOption {
|
||||||
|
@ -48,4 +47,3 @@ in
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ lib, ... }: with lib; let
|
{lib, ...}:
|
||||||
|
with lib; let
|
||||||
inherit (lib) mkEnableOption mkOption types;
|
inherit (lib) mkEnableOption mkOption types;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
options.myOptions.home-manager.services = {
|
options.myOptions.home-manager.services = {
|
||||||
dunst.enable = mkEnableOption "Dunst (lightweight notification daemon)";
|
dunst.enable = mkEnableOption "Dunst (lightweight notification daemon)";
|
||||||
hyprpaper = {
|
hyprpaper = {
|
||||||
|
@ -14,4 +14,3 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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 = {
|
options.myOptions.home-manager.theme = {
|
||||||
gtk = {
|
gtk = {
|
||||||
enable = mkEnableOption "GTK theming optionss";
|
enable = mkEnableOption "GTK theming optionss";
|
||||||
|
@ -48,7 +51,7 @@ in
|
||||||
size = mkOption {
|
size = mkOption {
|
||||||
type = types.int;
|
type = types.int;
|
||||||
description = "The size of the font";
|
description = "The size of the font";
|
||||||
default = 10; # 10
|
default = 10; # 10
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -141,6 +144,5 @@ in
|
||||||
description = "The size of the cursor";
|
description = "The size of the cursor";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,6 @@ in {
|
||||||
Hyprland wayland compositor.
|
Hyprland wayland compositor.
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
||||||
monitor = mkOption {
|
monitor = mkOption {
|
||||||
type = types.listOf types.str;
|
type = types.listOf types.str;
|
||||||
default = [];
|
default = [];
|
||||||
|
|
|
@ -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 = {
|
options.myOptions.security.auditd = {
|
||||||
enable = mkEnableOption "the audit daemon.";
|
enable = mkEnableOption "the audit daemon.";
|
||||||
autoPrune = {
|
autoPrune = {
|
||||||
|
@ -58,4 +62,3 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
{ config, lib, pkgs, ...}: let
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
inherit (lib) mkOption mkEnableOption literalExpression;
|
inherit (lib) mkOption mkEnableOption literalExpression;
|
||||||
|
|
||||||
cfg = config.myOptions.system.boot;
|
cfg = config.myOptions.system.boot;
|
||||||
|
@ -16,17 +21,17 @@ in {
|
||||||
description = "The kernel to use for the system.";
|
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 ''
|
mkEnableOption ''
|
||||||
`/tmp` living on tmpfs. false means it will be cleared manually on each reboot
|
almost entirely silent boot process through `quiet` kernel parameter
|
||||||
|
''
|
||||||
This option defaults to `true` if the host provides patches to the kernel package in
|
// {default = cfg.plymouth.enable;};
|
||||||
`boot.kernelPatches`
|
|
||||||
'';
|
|
||||||
|
|
||||||
silentBoot = mkEnableOption ''
|
|
||||||
almost entirely silent boot process through `quiet` kernel parameter
|
|
||||||
''
|
|
||||||
// { default = cfg.plymouth.enable; };
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ lib, ... }: with lib; let
|
{lib, ...}:
|
||||||
|
with lib; let
|
||||||
inherit (lib) mkEnableOption mkOption types;
|
inherit (lib) mkEnableOption mkOption types;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
options.myOptions.system.boot.plymouth = {
|
options.myOptions.system.boot.plymouth = {
|
||||||
enable = mkEnableOption ''
|
enable = mkEnableOption ''
|
||||||
Plymouth boot splash.
|
Plymouth boot splash.
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
{ lib, ... }: with lib; let
|
{lib, ...}:
|
||||||
|
with lib; let
|
||||||
inherit (lib) mkEnableOption;
|
inherit (lib) mkEnableOption;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
options.myOptions.system.boot.secure-boot = {
|
options.myOptions.system.boot.secure-boot = {
|
||||||
enable = mkEnableOption ''
|
enable = mkEnableOption ''
|
||||||
secure-boot using lanzaboote.
|
secure-boot using lanzaboote.
|
||||||
|
|
||||||
Note that you will need to have UEFI firmware, and the rebuild
|
Note that you will need to have UEFI firmware, and the rebuild
|
||||||
|
@ -18,6 +18,6 @@ in
|
||||||
sudo sbctl enroll-keys -m
|
sudo sbctl enroll-keys -m
|
||||||
```
|
```
|
||||||
Then reboot, and secure-boot should be enabled.
|
Then reboot, and secure-boot should be enabled.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ lib, ... }: with lib; let
|
{lib, ...}:
|
||||||
|
with lib; let
|
||||||
inherit (lib) mkOption;
|
inherit (lib) mkOption;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
./boot
|
./boot
|
||||||
./impermanence.nix
|
./impermanence.nix
|
||||||
|
|
|
@ -1,9 +1,13 @@
|
||||||
{ lib, config, ... }: with lib; let
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
inherit (lib) mkEnableOption mkOption literalExpression types;
|
inherit (lib) mkEnableOption mkOption literalExpression types;
|
||||||
|
|
||||||
cfg = config.myOptions.system.impermanence;
|
cfg = config.myOptions.system.impermanence;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
options.myOptions.system.impermanence = {
|
options.myOptions.system.impermanence = {
|
||||||
root = {
|
root = {
|
||||||
enable = mkEnableOption ''
|
enable = mkEnableOption ''
|
||||||
|
@ -129,16 +133,16 @@ in
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
enable = mkEnableOption ''
|
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
|
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
|
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
|
which this module doesn't support, you will need to write your own logic
|
||||||
for automatic root wiping.
|
for automatic root wiping.
|
||||||
|
|
||||||
One option is is to simply have your root get mounted from tmpfs, making it
|
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.
|
live in RAM. This does however require dedicating a concrete chunk of RAM.
|
||||||
'';
|
'';
|
||||||
|
|
||||||
devices = mkOption {
|
devices = mkOption {
|
||||||
default = {};
|
default = {};
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue