mirror of
https://github.com/ItsDrike/nixdots
synced 2025-05-06 14:58:37 +00:00
Compare commits
No commits in common. "ebefce894a193ae2bf37b9eaf3ed7b96b59b9248" and "4b2f0ccb5425c3ec7c7112d40da602925724ec75" have entirely different histories.
ebefce894a
...
4b2f0ccb54
154 changed files with 725 additions and 881 deletions
|
@ -1,13 +1,9 @@
|
||||||
{
|
{ config, lib, inputs, self, ... }:
|
||||||
config,
|
let
|
||||||
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;
|
||||||
|
|
|
@ -11,17 +11,14 @@ in {
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home.persistence."${cfg.persistentMountPoint}" = {
|
home.persistence."${cfg.persistentMountPoint}" = {
|
||||||
directories =
|
directories = [
|
||||||
[
|
|
||||||
".cache/nix"
|
".cache/nix"
|
||||||
".cache/nix-index"
|
".cache/nix-index"
|
||||||
]
|
] ++ cfg.extraDirectories;
|
||||||
++ 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,
|
||||||
|
@ -30,15 +27,13 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
home.persistence."${cfg.persistentDataMountPoint}" = {
|
home.persistence."${cfg.persistentDataMountPoint}" = {
|
||||||
directories =
|
directories = [
|
||||||
[
|
|
||||||
]
|
|
||||||
++ cfg.extraDataDirectories;
|
|
||||||
|
|
||||||
files =
|
] ++ cfg.extraDataDirectories;
|
||||||
[
|
|
||||||
]
|
files = [
|
||||||
++ cfg.extraDataFiles;
|
|
||||||
|
] ++ cfg.extraDataFiles;
|
||||||
|
|
||||||
# See comment for this above
|
# See comment for this above
|
||||||
allowOther = true;
|
allowOther = true;
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
{pkgs, ...}: let
|
{
|
||||||
scriptPkgs = import ./packages {inherit pkgs;};
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
|
||||||
|
scriptPkgs = (import ./packages {inherit pkgs;});
|
||||||
in {
|
in {
|
||||||
home.packages = with scriptPkgs; [
|
home.packages = with scriptPkgs; [
|
||||||
bitcoin
|
bitcoin
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{pkgs, ...}: (pkgs.writeShellApplication {
|
{pkgs, ...}:
|
||||||
|
(pkgs.writeShellApplication {
|
||||||
name = "bitcoin";
|
name = "bitcoin";
|
||||||
runtimeInputs = with pkgs; [coreutils curl jq];
|
runtimeInputs = with pkgs; [coreutils curl jq];
|
||||||
text = ''
|
text = ''
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{pkgs, ...}: (pkgs.writeShellApplication {
|
{pkgs, ...}:
|
||||||
|
(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,7 +1,9 @@
|
||||||
{pkgs, ...}: (pkgs.writeShellApplication {
|
{pkgs, ...}:
|
||||||
|
(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,4 +1,7 @@
|
||||||
{pkgs, ...}: let
|
{
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
packages = {
|
packages = {
|
||||||
bitcoin = pkgs.callPackage ./bitcoin.nix {};
|
bitcoin = pkgs.callPackage ./bitcoin.nix {};
|
||||||
cheatsh = pkgs.callPackage ./cheatsh {};
|
cheatsh = pkgs.callPackage ./cheatsh {};
|
||||||
|
@ -8,3 +11,4 @@
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
packages
|
packages
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{pkgs, ...}: (pkgs.writeShellApplication {
|
{pkgs, ...}:
|
||||||
|
(pkgs.writeShellApplication {
|
||||||
name = "gh-notify";
|
name = "gh-notify";
|
||||||
runtimeInputs = with pkgs; [
|
runtimeInputs = with pkgs; [
|
||||||
coreutils
|
coreutils
|
||||||
|
@ -11,3 +12,5 @@
|
||||||
${builtins.readFile ./gh-notify.sh}
|
${builtins.readFile ./gh-notify.sh}
|
||||||
'';
|
'';
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
{pkgs, ...}: (pkgs.writeShellApplication {
|
{pkgs, ...}:
|
||||||
|
(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,6 +7,7 @@
|
||||||
...
|
...
|
||||||
}: 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 ];
|
||||||
|
|
|
@ -5,8 +5,11 @@
|
||||||
...
|
...
|
||||||
}: 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,3 +16,6 @@ in {
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -14,3 +14,4 @@ in {
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -14,3 +14,4 @@ in {
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -31,3 +31,4 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -14,8 +14,7 @@ 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"
|
||||||
|
@ -61,8 +60,7 @@ 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"
|
||||||
];
|
];
|
||||||
|
@ -70,3 +68,4 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -6,3 +6,4 @@ _: {
|
||||||
./firefox
|
./firefox
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -143,9 +143,9 @@ 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
|
in extraExtensions;
|
||||||
extraExtensions;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,3 +10,4 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,7 @@
|
||||||
{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 = {
|
||||||
|
@ -26,3 +29,4 @@ in {
|
||||||
monitor = cfg.monitor;
|
monitor = cfg.monitor;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,4 @@
|
||||||
{
|
{ 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 = {
|
||||||
|
@ -195,6 +191,7 @@ 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,5 +1,10 @@
|
||||||
{config, ...}: {
|
{
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
wayland.windowManager.hyprland.settings = {
|
wayland.windowManager.hyprland.settings = {
|
||||||
|
|
||||||
#
|
#
|
||||||
# Window gaps
|
# Window gaps
|
||||||
#
|
#
|
||||||
|
@ -76,6 +81,7 @@
|
||||||
"col.shadow_inactive" = "rgba(0F0F0F99)";
|
"col.shadow_inactive" = "rgba(0F0F0F99)";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Window Blur
|
# Window Blur
|
||||||
#
|
#
|
||||||
|
@ -86,6 +92,7 @@
|
||||||
passes = 1;
|
passes = 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Dim inactive windows
|
# Dim inactive windows
|
||||||
#
|
#
|
||||||
|
@ -117,3 +124,4 @@
|
||||||
misc.animate_manual_resizes = true;
|
misc.animate_manual_resizes = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -109,3 +109,4 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -1,4 +1,7 @@
|
||||||
{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 {};
|
||||||
|
|
|
@ -2,3 +2,4 @@
|
||||||
pkgs.writeShellScriptBin "hyprland-move-window" ''
|
pkgs.writeShellScriptBin "hyprland-move-window" ''
|
||||||
${builtins.readFile ./hyprland-move-window.sh}
|
${builtins.readFile ./hyprland-move-window.sh}
|
||||||
''
|
''
|
||||||
|
|
||||||
|
|
|
@ -13,3 +13,4 @@ pkgs.writeShellApplication {
|
||||||
${builtins.readFile ./quick-record.sh}
|
${builtins.readFile ./quick-record.sh}
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,3 +10,5 @@ pkgs.writeShellApplication {
|
||||||
${builtins.readFile ./toggle-fake-fullscreen.sh}
|
${builtins.readFile ./toggle-fake-fullscreen.sh}
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -10,3 +10,6 @@ pkgs.writeShellApplication {
|
||||||
${builtins.readFile ./toggle-notifications.sh}
|
${builtins.readFile ./toggle-notifications.sh}
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
_: {
|
_: {
|
||||||
imports = [
|
imports = [
|
||||||
./neovim
|
./neovim
|
||||||
./helix
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,49 +0,0 @@
|
||||||
{pkgs, ...}: {
|
|
||||||
programs.helix = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
settings = {
|
|
||||||
theme = "tokyonight";
|
|
||||||
editor = {
|
|
||||||
line-number = "relative";
|
|
||||||
bufferline = "multiple";
|
|
||||||
cursor-shape.insert = "bar";
|
|
||||||
lsp.display-messages = true;
|
|
||||||
};
|
|
||||||
keys = {
|
|
||||||
normal = {
|
|
||||||
esc = ["collapse_selection" "keep_primary_selection"];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
languages = {
|
|
||||||
language = [
|
|
||||||
{
|
|
||||||
name = "python";
|
|
||||||
scope = "source.python";
|
|
||||||
injection-regex = "python";
|
|
||||||
file-types = ["py" "pyi" "py3" "pyw" ".pythonstartup" ".pythonrc"];
|
|
||||||
shebangs = ["python"];
|
|
||||||
roots = ["." "pyproject.toml" "pyrightconfig.json"];
|
|
||||||
comment-token = "#";
|
|
||||||
language-servers = ["basedpyright" "ruff"];
|
|
||||||
indent = {
|
|
||||||
tab-width = 4;
|
|
||||||
unit = " ";
|
|
||||||
};
|
|
||||||
auto-format = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
language-server = {
|
|
||||||
ruff = {
|
|
||||||
command = "ruff-lsp";
|
|
||||||
};
|
|
||||||
basedpyright = {
|
|
||||||
command = "basedpyright-langserver";
|
|
||||||
args = ["--stdio"];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -8,3 +8,5 @@ _: {
|
||||||
./kitty.nix
|
./kitty.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,7 @@
|
||||||
{pkgs, ...}: {
|
{
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
libsixel # for displaying images
|
libsixel # for displaying images
|
||||||
];
|
];
|
||||||
|
@ -59,3 +62,4 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -92,3 +92,4 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,3 +9,4 @@ _: {
|
||||||
./ranger.nix
|
./ranger.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -16,3 +16,4 @@ in {
|
||||||
${(optionalString config.programs.kitty.enable "set preview_images_method kitty")}
|
${(optionalString config.programs.kitty.enable "set preview_images_method kitty")}
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -49,3 +49,4 @@
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -12,3 +12,4 @@ pkgs: {
|
||||||
hash = "sha256-k/yre9SYNPYBM2W1DPpL6Ypt3w3EMO9dznHwa+fw/n0=";
|
hash = "sha256-k/yre9SYNPYBM2W1DPpL6Ypt3w3EMO9dznHwa+fw/n0=";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,3 +38,4 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -144,3 +144,4 @@
|
||||||
"*.pkg" = "";
|
"*.pkg" = "";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -61,3 +61,4 @@
|
||||||
syntect_theme = "";
|
syntect_theme = "";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -43,3 +43,4 @@
|
||||||
permissions_s = {fg = "darkgray";};
|
permissions_s = {fg = "darkgray";};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,8 @@
|
||||||
{
|
{ config, pkgs, lib, ... }:
|
||||||
config,
|
let
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
nr = "${pkgs.nixos-rebuild}/bin/nixos-rebuild";
|
nr = "${pkgs.nixos-rebuild}/bin/nixos-rebuild";
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
programs.zsh.shellAliases = {
|
programs.zsh.shellAliases = {
|
||||||
# I'm not the greatest typist
|
# I'm not the greatest typist
|
||||||
sl = "ls";
|
sl = "ls";
|
||||||
|
|
|
@ -1,8 +1,4 @@
|
||||||
{
|
{ config, pkgs, ... }: {
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
imports = [
|
||||||
./plugins.nix
|
./plugins.nix
|
||||||
./aliases.nix
|
./aliases.nix
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
_: 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,10 +1,8 @@
|
||||||
{
|
{ config, pkgs, ... }:
|
||||||
config,
|
let
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
inherit (pkgs) fetchFromGitHub;
|
inherit (pkgs) fetchFromGitHub;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
programs.zsh.plugins = [
|
programs.zsh.plugins = [
|
||||||
{
|
{
|
||||||
name = "zsh-nix-shell";
|
name = "zsh-nix-shell";
|
||||||
|
|
|
@ -11,3 +11,4 @@ in {
|
||||||
programs.fastfetch.enable = true;
|
programs.fastfetch.enable = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
{pkgs, ...}: let
|
{
|
||||||
scriptPkgs = import ./bin {inherit pkgs;};
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
|
||||||
|
scriptPkgs = (import ./bin {inherit pkgs;});
|
||||||
in {
|
in {
|
||||||
programs.git = {
|
programs.git = {
|
||||||
aliases = {
|
aliases = {
|
||||||
|
@ -66,8 +70,6 @@ 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,7 @@
|
||||||
{pkgs, ...}: let
|
{
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
packages = {
|
packages = {
|
||||||
better-git-branch = pkgs.callPackage ./better-git-branch {};
|
better-git-branch = pkgs.callPackage ./better-git-branch {};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,10 +1,8 @@
|
||||||
{
|
{ osConfig, pkgs, ... }:
|
||||||
osConfig,
|
let
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
myGitConf = osConfig.myOptions.home-manager.git;
|
myGitConf = osConfig.myOptions.home-manager.git;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./gh.nix
|
./gh.nix
|
||||||
./ignores.nix
|
./ignores.nix
|
||||||
|
|
|
@ -33,12 +33,10 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
default_profile = cfg.defaultProfile;
|
default_profile = cfg.defaultProfile;
|
||||||
profiles =
|
profiles = lib.mapAttrs (name: profile: {
|
||||||
lib.mapAttrs (name: profile: {
|
|
||||||
user_id = profile.userId;
|
user_id = profile.userId;
|
||||||
url = profile.homeServer;
|
url = profile.homeServer;
|
||||||
})
|
}) cfg.profiles;
|
||||||
cfg.profiles;
|
|
||||||
|
|
||||||
dirs = {
|
dirs = {
|
||||||
cache = "${config.xdg.cacheHome}/iamb/";
|
cache = "${config.xdg.cacheHome}/iamb/";
|
||||||
|
|
|
@ -1,9 +1,5 @@
|
||||||
# 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}";
|
||||||
|
|
|
@ -57,3 +57,4 @@
|
||||||
{url = "https://kiszamolo.hu/feed";}
|
{url = "https://kiszamolo.hu/feed";}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{
|
{
|
||||||
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.
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
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,8 +1,4 @@
|
||||||
{
|
{config, pkgs, ...}: {
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
imports = [
|
||||||
./mime-apps.nix
|
./mime-apps.nix
|
||||||
./user-dirs.nix
|
./user-dirs.nix
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
# 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
|
||||||
|
|
|
@ -31,3 +31,4 @@ in {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,7 @@
|
||||||
{osConfig, ...}: let
|
{
|
||||||
|
osConfig,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
cfg = osConfig.myOptions.home-manager.theme.cursor;
|
cfg = osConfig.myOptions.home-manager.theme.cursor;
|
||||||
in {
|
in {
|
||||||
home = {
|
home = {
|
||||||
|
|
|
@ -18,11 +18,7 @@ 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 (
|
GTK_USE_PORTAL = "${toString (if cfg.usePortal then 1 else 0)}";
|
||||||
if cfg.usePortal
|
|
||||||
then 1
|
|
||||||
else 0
|
|
||||||
)}";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -80,6 +80,7 @@ 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,4 +1,5 @@
|
||||||
{inputs, ...}: let
|
{ inputs, ... }:
|
||||||
|
let
|
||||||
inherit (inputs) self;
|
inherit (inputs) self;
|
||||||
inherit (inputs.nixpkgs) lib;
|
inherit (inputs.nixpkgs) lib;
|
||||||
|
|
||||||
|
@ -8,30 +9,27 @@
|
||||||
../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
|
./herugrim
|
||||||
inputs.home-manager.nixosModules.home-manager
|
inputs.home-manager.nixosModules.home-manager
|
||||||
inputs.impermanence.nixosModules.impermanence
|
inputs.impermanence.nixosModules.impermanence
|
||||||
inputs.lanzaboote.nixosModules.lanzaboote
|
inputs.lanzaboote.nixosModules.lanzaboote
|
||||||
]
|
] ++ shared;
|
||||||
++ 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
|
./voyager
|
||||||
inputs.home-manager.nixosModules.home-manager
|
inputs.home-manager.nixosModules.home-manager
|
||||||
inputs.impermanence.nixosModules.impermanence
|
inputs.impermanence.nixosModules.impermanence
|
||||||
inputs.lanzaboote.nixosModules.lanzaboote
|
inputs.lanzaboote.nixosModules.lanzaboote
|
||||||
]
|
] ++ shared;
|
||||||
++ shared;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,5 @@
|
||||||
|
{ lib, pkgs, ... }:
|
||||||
{
|
{
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
];
|
];
|
||||||
|
|
|
@ -1,15 +1,11 @@
|
||||||
# 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, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
config,
|
imports =
|
||||||
lib,
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
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" ];
|
||||||
|
@ -19,45 +15,45 @@
|
||||||
|
|
||||||
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
|
||||||
|
|
|
@ -1,14 +1,12 @@
|
||||||
# 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, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
config,
|
imports =
|
||||||
lib,
|
[ # Include the results of the hardware scan.
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
# Include the results of the hardware scan.
|
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -85,7 +83,6 @@
|
||||||
".local/state/nvim"
|
".local/state/nvim"
|
||||||
".config/github-copilot"
|
".config/github-copilot"
|
||||||
".config/ipython"
|
".config/ipython"
|
||||||
".cache/pre-commit"
|
|
||||||
|
|
||||||
# Services
|
# Services
|
||||||
".local/state/wireplumber" # volume settings
|
".local/state/wireplumber" # volume settings
|
||||||
|
|
|
@ -1,15 +1,11 @@
|
||||||
# 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, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
config,
|
imports =
|
||||||
lib,
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
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" ];
|
||||||
|
@ -19,45 +15,45 @@
|
||||||
|
|
||||||
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
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{ 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" ]);
|
||||||
|
|
|
@ -1,8 +1,4 @@
|
||||||
{
|
{ 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, ...}:
|
{ lib, ... }: with lib; let
|
||||||
with lib; let
|
|
||||||
inherit (lib) mkEnableOption mkOption;
|
inherit (lib) mkEnableOption mkOption;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./programs
|
./programs
|
||||||
./git.nix
|
./git.nix
|
||||||
|
@ -21,3 +21,4 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{lib, ...}:
|
{ lib, ... }: with lib; let
|
||||||
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,15 +1,13 @@
|
||||||
{ lib, ... }: let
|
{ lib, ... }: let
|
||||||
inherit (lib) mkOption types;
|
inherit (lib) mkOption types;
|
||||||
|
|
||||||
mkPreferenceCmdOption = name: commandDefault:
|
mkPreferenceCmdOption = name: commandDefault: mkOption {
|
||||||
mkOption {
|
|
||||||
type = types.str;
|
type = types.str;
|
||||||
description = "The command to start your preferred ${name}.";
|
description = "The command to start your preferred ${name}.";
|
||||||
default = commandDefault;
|
default = commandDefault;
|
||||||
};
|
};
|
||||||
|
|
||||||
mkPreferenceDesktopOption = name: desktopDefault:
|
mkPreferenceDesktopOption = name: desktopDefault: mkOption {
|
||||||
mkOption {
|
|
||||||
type = types.str;
|
type = types.str;
|
||||||
description = "The desktop (application) file for your preferred ${name}.";
|
description = "The desktop (application) file for your preferred ${name}.";
|
||||||
default = desktopDefault;
|
default = desktopDefault;
|
||||||
|
@ -19,7 +17,8 @@
|
||||||
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, ...}:
|
{ lib, ... }: with lib; let
|
||||||
with lib; let
|
|
||||||
inherit (lib) mkEnableOption mkOption types;
|
inherit (lib) mkEnableOption mkOption types;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./iamb.nix
|
./iamb.nix
|
||||||
];
|
];
|
||||||
|
|
|
@ -6,7 +6,8 @@
|
||||||
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 {
|
||||||
|
@ -47,3 +48,4 @@ in {
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{lib, ...}:
|
{ lib, ... }: with lib; let
|
||||||
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,3 +14,4 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,7 @@
|
||||||
{
|
{ lib, pkgs, ... }: let
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
inherit (lib) mkEnableOption mkOption types;
|
inherit (lib) mkEnableOption mkOption types;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options.myOptions.home-manager.theme = {
|
options.myOptions.home-manager.theme = {
|
||||||
gtk = {
|
gtk = {
|
||||||
enable = mkEnableOption "GTK theming optionss";
|
enable = mkEnableOption "GTK theming optionss";
|
||||||
|
@ -144,5 +141,6 @@ in {
|
||||||
description = "The size of the cursor";
|
description = "The size of the cursor";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,6 +11,7 @@ in {
|
||||||
Hyprland wayland compositor.
|
Hyprland wayland compositor.
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
||||||
monitor = mkOption {
|
monitor = mkOption {
|
||||||
type = types.listOf types.str;
|
type = types.listOf types.str;
|
||||||
default = [];
|
default = [];
|
||||||
|
|
|
@ -1,11 +1,7 @@
|
||||||
{
|
{ lib, config, ... }: with lib; let
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
with lib; let
|
|
||||||
inherit (lib) mkEnableOption mkOption literalExpression types;
|
inherit (lib) mkEnableOption mkOption literalExpression types;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options.myOptions.security.auditd = {
|
options.myOptions.security.auditd = {
|
||||||
enable = mkEnableOption "the audit daemon.";
|
enable = mkEnableOption "the audit daemon.";
|
||||||
autoPrune = {
|
autoPrune = {
|
||||||
|
@ -62,3 +58,4 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,4 @@
|
||||||
{
|
{ 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;
|
||||||
|
@ -21,15 +16,15 @@ in {
|
||||||
description = "The kernel to use for the system.";
|
description = "The kernel to use for the system.";
|
||||||
};
|
};
|
||||||
|
|
||||||
tmpOnTmpfs = mkEnableOption ''
|
tmpOnTmpfs =
|
||||||
|
mkEnableOption ''
|
||||||
`/tmp` living on tmpfs. false means it will be cleared manually on each reboot
|
`/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
|
This option defaults to `true` if the host provides patches to the kernel package in
|
||||||
`boot.kernelPatches`
|
`boot.kernelPatches`
|
||||||
'';
|
'';
|
||||||
|
|
||||||
silentBoot =
|
silentBoot = mkEnableOption ''
|
||||||
mkEnableOption ''
|
|
||||||
almost entirely silent boot process through `quiet` kernel parameter
|
almost entirely silent boot process through `quiet` kernel parameter
|
||||||
''
|
''
|
||||||
// { default = cfg.plymouth.enable; };
|
// { default = cfg.plymouth.enable; };
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{lib, ...}:
|
{ lib, ... }: with lib; let
|
||||||
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,7 +1,7 @@
|
||||||
{lib, ...}:
|
{ lib, ... }: with lib; let
|
||||||
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.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{lib, ...}:
|
{ lib, ... }: with lib; let
|
||||||
with lib; let
|
|
||||||
inherit (lib) mkOption;
|
inherit (lib) mkOption;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./boot
|
./boot
|
||||||
./impermanence.nix
|
./impermanence.nix
|
||||||
|
|
|
@ -1,13 +1,9 @@
|
||||||
{
|
{ 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 ''
|
||||||
|
|
|
@ -1,13 +1,9 @@
|
||||||
{
|
{ 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.workstation;
|
cfg = config.myOptions.workstation;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options.myOptions.workstation = {
|
options.myOptions.workstation = {
|
||||||
printing = {
|
printing = {
|
||||||
enable = mkEnableOption ''
|
enable = mkEnableOption ''
|
||||||
|
|
|
@ -1,9 +1,4 @@
|
||||||
{
|
{ pkgs, lib, config, ...}: let
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
inherit (lib) mkIf;
|
inherit (lib) mkIf;
|
||||||
deviceType = config.myOptions.device.roles.type;
|
deviceType = config.myOptions.device.roles.type;
|
||||||
acceptedTypes = ["laptop"];
|
acceptedTypes = ["laptop"];
|
||||||
|
@ -25,3 +20,4 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,4 @@
|
||||||
{
|
{ pkgs, lib, config, ...}: let
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
inherit (lib) mkIf;
|
inherit (lib) mkIf;
|
||||||
deviceType = config.myOptions.device.roles.type;
|
deviceType = config.myOptions.device.roles.type;
|
||||||
acceptedTypes = ["laptop"];
|
acceptedTypes = ["laptop"];
|
||||||
|
|
|
@ -1,9 +1,4 @@
|
||||||
{
|
{ pkgs, lib, config, ...}: let
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
inherit (lib) mkIf;
|
inherit (lib) mkIf;
|
||||||
inherit (lib.modules) mkForce;
|
inherit (lib.modules) mkForce;
|
||||||
inherit (lib.strings) makeBinPath;
|
inherit (lib.strings) makeBinPath;
|
||||||
|
|
|
@ -1,9 +1,4 @@
|
||||||
{
|
{ pkgs, lib, config, ...}: let
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
inherit (lib) mkIf;
|
inherit (lib) mkIf;
|
||||||
deviceType = config.myOptions.device.roles.type;
|
deviceType = config.myOptions.device.roles.type;
|
||||||
acceptedTypes = ["laptop"];
|
acceptedTypes = ["laptop"];
|
||||||
|
@ -21,3 +16,4 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,4 @@
|
||||||
{
|
{ lib, config, ...}: let
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
inherit (lib) mkIf;
|
inherit (lib) mkIf;
|
||||||
deviceType = config.myOptions.device.roles.type;
|
deviceType = config.myOptions.device.roles.type;
|
||||||
acceptedTypes = ["laptop"];
|
acceptedTypes = ["laptop"];
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
inherit (lib) mkIf getExe;
|
inherit (lib) mkIf getExe;
|
||||||
inherit (lib.strings) concatStringsSep;
|
inherit (lib.strings) concatStringsSep;
|
||||||
|
|
||||||
|
|
||||||
deviceType = config.myOptions.device.roles.type;
|
deviceType = config.myOptions.device.roles.type;
|
||||||
acceptedTypes = ["laptop" "desktop"];
|
acceptedTypes = ["laptop" "desktop"];
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,4 @@
|
||||||
{
|
{lib, config, ...}: let
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
inherit (lib) mkIf;
|
inherit (lib) mkIf;
|
||||||
deviceType = config.myOptions.device.roles.type;
|
deviceType = config.myOptions.device.roles.type;
|
||||||
acceptedTypes = ["laptop" "desktop"];
|
acceptedTypes = ["laptop" "desktop"];
|
||||||
|
|
|
@ -23,10 +23,7 @@ in {
|
||||||
# Note: this assumes a wlroots based compositor if it's not hyprland
|
# Note: this assumes a wlroots based compositor if it's not hyprland
|
||||||
# which may not always actually be the case, however, I can't be bothered to handle
|
# which may not always actually be the case, however, I can't be bothered to handle
|
||||||
# everything here and I don't plan on moving WMs any time soon.
|
# everything here and I don't plan on moving WMs any time soon.
|
||||||
portal =
|
portal = if cfgHyprlandEnabled then "hyprland" else "wlr";
|
||||||
if cfgHyprlandEnabled
|
|
||||||
then "hyprland"
|
|
||||||
else "wlr";
|
|
||||||
in {
|
in {
|
||||||
# Use this portal for every interface, unless a specific override is present
|
# Use this portal for every interface, unless a specific override is present
|
||||||
default = ["gtk"];
|
default = ["gtk"];
|
||||||
|
|
|
@ -1,9 +1,4 @@
|
||||||
{
|
{pkgs, lib, config, ...}: let
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
inherit (lib) mkIf;
|
inherit (lib) mkIf;
|
||||||
deviceType = config.myOptions.device.roles.type;
|
deviceType = config.myOptions.device.roles.type;
|
||||||
acceptedTypes = ["laptop" "desktop"];
|
acceptedTypes = ["laptop" "desktop"];
|
||||||
|
@ -20,30 +15,26 @@ in {
|
||||||
"Noto Color Emoji"
|
"Noto Color Emoji"
|
||||||
];
|
];
|
||||||
in {
|
in {
|
||||||
monospace =
|
monospace = [
|
||||||
[
|
|
||||||
"Monaspace Krypton"
|
"Monaspace Krypton"
|
||||||
"Source Code Pro Medium"
|
"Source Code Pro Medium"
|
||||||
"Source Han Mono"
|
"Source Han Mono"
|
||||||
]
|
]
|
||||||
++ common;
|
++ common;
|
||||||
|
|
||||||
sansSerif =
|
sansSerif = [
|
||||||
[
|
|
||||||
"Noto Sans"
|
"Noto Sans"
|
||||||
"Jost"
|
"Jost"
|
||||||
"Lexend"
|
"Lexend"
|
||||||
]
|
]
|
||||||
++ common;
|
++ common;
|
||||||
|
|
||||||
serif =
|
serif = [
|
||||||
[
|
|
||||||
"Noto Serif"
|
"Noto Serif"
|
||||||
]
|
]
|
||||||
++ common;
|
++ common;
|
||||||
|
|
||||||
emoji =
|
emoji = [
|
||||||
[
|
|
||||||
"Noto Color Emoji"
|
"Noto Color Emoji"
|
||||||
]
|
]
|
||||||
++ common;
|
++ common;
|
||||||
|
|
|
@ -1,8 +1,4 @@
|
||||||
{
|
{ lib, config, ...}: let
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
inherit (lib) mkIf;
|
inherit (lib) mkIf;
|
||||||
deviceType = config.myOptions.device.roles.type;
|
deviceType = config.myOptions.device.roles.type;
|
||||||
acceptedTypes = ["laptop" "desktop"];
|
acceptedTypes = ["laptop" "desktop"];
|
||||||
|
|
|
@ -1,8 +1,4 @@
|
||||||
{
|
{ lib, config, ...}: let
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
inherit (lib) mkIf;
|
inherit (lib) mkIf;
|
||||||
deviceType = config.myOptions.device.roles.type;
|
deviceType = config.myOptions.device.roles.type;
|
||||||
acceptedTypes = ["laptop" "desktop"];
|
acceptedTypes = ["laptop" "desktop"];
|
||||||
|
|
|
@ -16,3 +16,4 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -34,3 +34,4 @@ in {
|
||||||
services.tumbler.enable = true;
|
services.tumbler.enable = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -8,3 +8,4 @@
|
||||||
./gnome-keyring.nix
|
./gnome-keyring.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,4 @@
|
||||||
{
|
{pkgs, lib, config, ...}: let
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
inherit (lib) mkIf;
|
inherit (lib) mkIf;
|
||||||
deviceType = config.myOptions.device.roles.type;
|
deviceType = config.myOptions.device.roles.type;
|
||||||
acceptedTypes = ["laptop" "desktop"];
|
acceptedTypes = ["laptop" "desktop"];
|
||||||
|
|
|
@ -1,9 +1,4 @@
|
||||||
{
|
{pkgs, lib, config, ...}: let
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
inherit (lib) mkIf;
|
inherit (lib) mkIf;
|
||||||
deviceType = config.myOptions.device.roles.type;
|
deviceType = config.myOptions.device.roles.type;
|
||||||
acceptedTypes = ["laptop" "desktop"];
|
acceptedTypes = ["laptop" "desktop"];
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue