This commit is contained in:
cnst
2024-10-17 20:06:17 +02:00
parent f70061cc24
commit ec57cb7599
196 changed files with 1150 additions and 1271 deletions

796
flake.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -6,8 +6,9 @@
systems = ["x86_64-linux"]; systems = ["x86_64-linux"];
imports = [ imports = [
./home ./users
./hosts ./hosts
./modules
]; ];
perSystem = {pkgs, ...}: { perSystem = {pkgs, ...}: {
@@ -89,7 +90,6 @@
chaotic.url = "https://flakehub.com/f/chaotic-cx/nyx/*.tar.gz"; chaotic.url = "https://flakehub.com/f/chaotic-cx/nyx/*.tar.gz";
# Miscellaneous # Miscellaneous
helix.url = "github:SoraTenshi/helix/new-daily-driver";
helix-flake.url = "github:helix-editor/helix"; helix-flake.url = "github:helix-editor/helix";
nix-gaming = { nix-gaming = {
@@ -100,11 +100,6 @@
}; };
}; };
firefox-nightly = {
url = "github:nix-community/flake-firefox-nightly";
inputs.nixpkgs.follows = "nixpkgs";
};
nur.url = "github:nix-community/NUR"; nur.url = "github:nix-community/NUR";
anyrun.url = "github:anyrun-org/anyrun"; anyrun.url = "github:anyrun-org/anyrun";
@@ -112,15 +107,10 @@
agenix.url = "github:ryantm/agenix"; agenix.url = "github:ryantm/agenix";
# Rust toolchain # Rust toolchain
fenix = { # fenix = {
url = "github:nix-community/fenix"; # url = "github:nix-community/fenix";
inputs.nixpkgs.follows = "nixpkgs"; # inputs.nixpkgs.follows = "nixpkgs";
}; # };
wezterm = {
url = "github:wez/wezterm/main?dir=nix";
inputs.nixpkgs.follows = "nixpkgs";
};
# Custom apps # Custom apps
tuirun.url = "git+https://git.sr.ht/~canasta/tuirun"; tuirun.url = "git+https://git.sr.ht/~canasta/tuirun";

View File

@@ -1,18 +0,0 @@
```
home
├── etc
├── modules
│   ├── browsers
│   ├── comm
│   ├── devtools
│   ├── gaming
│   ├── terminal
│   ├── userd
│   ├── utils
│   └── wm
│   ├── hyprland
│   └── utils
└── users
├── cnst
└── toothpick
```

View File

@@ -1,9 +0,0 @@
{
dconf = {
settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
};
};
};
}

View File

@@ -1,9 +0,0 @@
{
imports = [
# shared imports
./dconf
./polkit
./gtk
./xdg
];
}

View File

@@ -1,36 +0,0 @@
{umodPath, ...}: {
imports = [
"${umodPath}/browsers/chromium"
"${umodPath}/browsers/firefox"
"${umodPath}/comm/discord"
"${umodPath}/devtools/neovim"
"${umodPath}/devtools/vscode"
"${umodPath}/devtools/helix"
"${umodPath}/gaming/lutris"
"${umodPath}/gaming/mangohud"
"${umodPath}/terminal/alacritty"
"${umodPath}/terminal/foot"
"${umodPath}/terminal/kitty"
"${umodPath}/terminal/wezterm"
"${umodPath}/terminal/zellij"
"${umodPath}/userd/copyq"
"${umodPath}/userd/blueman-applet"
"${umodPath}/userd/mako"
"${umodPath}/userd/udiskie"
"${umodPath}/userd/gpg"
"${umodPath}/userd/syncthing"
"${umodPath}/utils/anyrun"
"${umodPath}/utils/misc"
"${umodPath}/utils/rofi"
"${umodPath}/utils/waybar"
"${umodPath}/utils/yazi"
"${umodPath}/utils/zathura"
"${umodPath}/utils/tuirun"
"${umodPath}/utils/eza"
"${umodPath}/utils/ssh"
"${umodPath}/wm/hyprland"
"${umodPath}/wm/utils/hypridle"
"${umodPath}/wm/utils/hyprlock"
"${umodPath}/wm/utils/hyprpaper"
];
}

View File

@@ -1,107 +0,0 @@
{lib, ...}: let
inherit (lib) mkForce;
in {
userModules = {
browsers = {
# firefox = {
# enable = mkForce true;
# };
chromium = {
enable = mkForce false;
};
};
# comm = {
# discord = {
# enable = mkForce true;
# };
# };
# devtools = {
# neovim = {
# enable = mkForce true;
# };
# vscode = {
# enable = mkForce false;
# };
# helix = {
# enable = mkForce true;
# };
# };
# gaming = {
# lutris = {
# enable = mkForce false;
# };
# mangohud = {
# enable = mkForce false;
# };
# };
terminal = {
# alacritty = {
# enable = mkForce true;
# };
# foot = {
# enable = mkForce true;
# };
# kitty = {
# enable = mkForce true;
# };
wezterm = {
enable = mkForce false;
};
# zellij = {
# enable = mkForce false;
# };
};
# userd = {
# copyq = {
# enable = mkForce true;
# };
# mako = {
# enable = mkForce true;
# };
# udiskie = {
# enable = mkForce true;
# };
# };
# utils = {
# anyrun = {
# enable = mkForce false;
# };
# rofi = {
# enable = mkForce false;
# };
# waybar = {
# enable = mkForce true;
# };
# yazi = {
# enable = mkForce true;
# };
# zathura = {
# enable = mkForce true;
# };
# misc = {
# enable = mkForce true;
# };
# };
# wm = {
# hyprland = {
# cnst = {
# enable = mkForce true;
# };
# toothpick = {
# enable = mkForce false;
# };
# };
# utils = {
# hypridle = {
# enable = mkForce true;
# };
# hyprlock = {
# enable = mkForce true;
# };
# hyprpaper = {
# enable = mkForce true;
# };
# };
# };
};
}

View File

@@ -1,5 +1,5 @@
{ {
systemModules = { system = {
boot = { boot = {
loader = { loader = {
default = { default = {
@@ -17,12 +17,12 @@
}; };
}; };
gaming = { gaming = {
steam = { # steam = {
enable = true; # enable = true;
}; # };
gamescope = { # gamescope = {
enable = true; # enable = true;
}; # };
lutris = { lutris = {
enable = true; enable = true;
}; };
@@ -70,15 +70,6 @@
}; };
}; };
}; };
nix = {
nh = {
enable = true;
clean = {
enable = true;
extraArgs = "--keep 3 --keep-since 21d";
};
};
};
studio = { studio = {
blender = { blender = {
enable = true; enable = true;
@@ -201,6 +192,13 @@
enable = true; enable = true;
}; };
}; };
nh = {
enable = true;
clean = {
enable = true;
extraArgs = "--keep 3 --keep-since 21d";
};
};
npm = { npm = {
enable = true; enable = true;
}; };

View File

@@ -1,5 +1,5 @@
{ {
systemModules = { system = {
boot = { boot = {
loader = { loader = {
default.enable = true; default.enable = true;

View File

@@ -11,11 +11,11 @@
systemConfig = "${self}/system"; systemConfig = "${self}/system";
hostConfig = "${self}/hosts"; hostConfig = "${self}/hosts";
cnstConfig = "${self}/home/users/cnst"; cnstConfig = "${self}/users/cnst";
toothpickConfig = "${self}/home/users/toothpick"; toothpickConfig = "${self}/users/toothpick";
umodPath = "${self}/home/modules"; umodPath = "${self}/modules/home";
smodPath = "${self}/system/modules"; smodPath = "${self}/modules/system";
# shorten paths # shorten paths
inherit (inputs.nixpkgs.lib) nixosSystem; inherit (inputs.nixpkgs.lib) nixosSystem;
@@ -41,6 +41,7 @@
extraSpecialArgs = specialArgs; extraSpecialArgs = specialArgs;
}; };
} }
self.nixosModules.system
inputs.chaotic.nixosModules.default inputs.chaotic.nixosModules.default
inputs.agenix.nixosModules.default inputs.agenix.nixosModules.default
]; ];

View File

@@ -1,5 +1,5 @@
{ {
systemModules = { system = {
boot = { boot = {
loader = { loader = {
default.enable = false; default.enable = false;

119
modules/default.nix Normal file
View File

@@ -0,0 +1,119 @@
{
flake.nixosModules = {
home = {
imports = [
./home/browsers/chromium
./home/browsers/firefox
./home/comm/discord
./home/devtools/helix
./home/devtools/neovim
./home/devtools/vscode
./home/gaming/steam
./home/terminal/alacritty
./home/terminal/foot
./home/terminal/kitty
./home/terminal/wezterm
./home/terminal/zellij
./home/userd/blueman-applet
./home/userd/copyq
./home/userd/dconf
./home/userd/gpg
./home/userd/gtk
./home/userd/mako
./home/userd/polkit
./home/userd/syncthing
./home/userd/udiskie
./home/userd/xdg
./home/utils/anyrun
./home/utils/eza
./home/utils/misc
./home/utils/mpv
./home/utils/rofi
./home/utils/ssh
./home/utils/tuirun
./home/utils/waybar
./home/utils/yazi
./home/utils/zathura
./home/wm/hyprland
./home/wm/utils/hypridle
./home/wm/utils/hyprlock
./home/wm/utils/hyprpaper
];
};
system = {
imports = [
./system/boot/loader
./system/boot/kernel
./system/gaming/gamemode
./system/gaming/gamescope
./system/gaming/lutris
./system/gaming/steam
./system/gui/gnome
./system/gui/hyprland
./system/hardware/bluetooth
./system/hardware/graphics/amd
./system/hardware/graphics/nvidia
./system/hardware/logitech
./system/hardware/network
./system/studio/blender
./system/studio/gimp
./system/studio/inkscape
./system/studio/beekeeper
./system/studio/mysql-workbench
./system/sysd/network/blueman
./system/sysd/network/mullvad
./system/sysd/network/samba
./system/sysd/network/openssh
./system/sysd/security/agenix
./system/sysd/security/gnome-keyring
./system/sysd/session/dbus
./system/sysd/session/dconf
./system/sysd/session/xserver
./system/sysd/system/fwupd
./system/sysd/system/greetd
./system/sysd/system/gvfs
./system/sysd/system/locate
./system/sysd/system/nix-ld
./system/sysd/system/pcscd
./system/sysd/system/pipewire
./system/sysd/system/powerd
./system/sysd/system/udisks
./system/sysd/system/zram
./system/sysd/system/kanata
./system/utils/android
./system/utils/anyrun
./system/utils/brightnessctl
./system/utils/chaotic
./system/utils/corectrl
./system/utils/microfetch
./system/utils/misc
./system/utils/nh
./system/utils/npm
./system/utils/obsidian
./system/utils/yubikey
./system/utils/zsh
];
};
options = {
imports = [
./options/monitors
];
};
};
}

View File

@@ -5,10 +5,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.userModules.browsers.chromium; cfg = config.home.browsers.chromium;
in { in {
options = { options = {
userModules.browsers.chromium.enable = mkEnableOption "Enables chromium"; home.browsers.chromium.enable = mkEnableOption "Enables chromium";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.chromium = { programs.chromium = {

View File

@@ -6,13 +6,13 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.userModules.browsers.firefox; cfg = config.home.browsers.firefox;
in { in {
imports = [ imports = [
inputs.nur.hmModules.nur inputs.nur.hmModules.nur
]; ];
options = { options = {
userModules.browsers.firefox.enable = mkEnableOption "Enables firefox"; home.browsers.firefox.enable = mkEnableOption "Enables firefox";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.firefox = { programs.firefox = {

View File

@@ -5,10 +5,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.userModules.comm.discord; cfg = config.home.comm.discord;
in { in {
options = { options = {
userModules.comm.discord.enable = mkEnableOption "Enables discord"; home.comm.discord.enable = mkEnableOption "Enables discord";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
home.packages = with pkgs; [vesktop]; home.packages = with pkgs; [vesktop];

View File

@@ -6,7 +6,7 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.userModules.devtools.helix; cfg = config.home.devtools.helix;
in { in {
imports = [ imports = [
./lang.nix ./lang.nix
@@ -14,7 +14,7 @@ in {
]; ];
options = { options = {
userModules.devtools.helix.enable = mkEnableOption "Enable helix"; home.devtools.helix.enable = mkEnableOption "Enable helix";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View File

@@ -5,7 +5,7 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.userModules.devtools.neovim; cfg = config.home.devtools.neovim;
in { in {
imports = [ imports = [
./plugins ./plugins
@@ -15,7 +15,7 @@ in {
]; ];
options = { options = {
userModules.devtools.neovim.enable = mkEnableOption "Enable neovim"; home.devtools.neovim.enable = mkEnableOption "Enable neovim";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View File

@@ -6,7 +6,7 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.userModules.devtools.nixvim; cfg = config.home.devtools.nixvim;
in { in {
imports = [ imports = [
inputs.nixvim.homeManagerModules.nixvim inputs.nixvim.homeManagerModules.nixvim
@@ -18,7 +18,7 @@ in {
]; ];
options = { options = {
userModules.devtools.nixvim.enable = mkEnableOption "Enable nixvim"; home.devtools.nixvim.enable = mkEnableOption "Enable nixvim";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkEnableOption mkIf; inherit (lib) mkEnableOption mkIf;
cfg = config.userModules.devtools.nixvim.plugins.barbar; cfg = config.home.devtools.nixvim.plugins.barbar;
in { in {
options = { options = {
userModules.devtools.nixvim.plugins.barbar.enable = mkEnableOption "Enables Barbar plugin for nixvim"; home.devtools.nixvim.plugins.barbar.enable = mkEnableOption "Enables Barbar plugin for nixvim";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkEnableOption mkIf; inherit (lib) mkEnableOption mkIf;
cfg = config.userModules.devtools.nixvim.plugins.cmp; cfg = config.home.devtools.nixvim.plugins.cmp;
in { in {
options = { options = {
userModules.devtools.nixvim.plugins.cmp.enable = mkEnableOption "Enables completion plugin for nixvim"; home.devtools.nixvim.plugins.cmp.enable = mkEnableOption "Enables completion plugin for nixvim";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkEnableOption mkIf; inherit (lib) mkEnableOption mkIf;
cfg = config.userModules.devtools.nixvim.plugins.comment; cfg = config.home.devtools.nixvim.plugins.comment;
in { in {
options = { options = {
userModules.devtools.nixvim.plugins.comment.enable = mkEnableOption "Enables Comment plugin for nixvim"; home.devtools.nixvim.plugins.comment.enable = mkEnableOption "Enables Comment plugin for nixvim";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View File

@@ -5,10 +5,10 @@
... ...
}: let }: let
inherit (lib) mkEnableOption mkIf; inherit (lib) mkEnableOption mkIf;
cfg = config.userModules.devtools.nixvim.plugins.conform; cfg = config.home.devtools.nixvim.plugins.conform;
in { in {
options = { options = {
userModules.devtools.nixvim.plugins.conform.enable = mkEnableOption "Enables Conform plugin for nixvim"; home.devtools.nixvim.plugins.conform.enable = mkEnableOption "Enables Conform plugin for nixvim";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkEnableOption mkIf; inherit (lib) mkEnableOption mkIf;
cfg = config.userModules.devtools.nixvim.plugins.copilot; cfg = config.home.devtools.nixvim.plugins.copilot;
in { in {
options = { options = {
userModules.devtools.nixvim.plugins.copilot.enable = mkEnableOption "Enables AI tools for nixvim"; home.devtools.nixvim.plugins.copilot.enable = mkEnableOption "Enables AI tools for nixvim";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View File

@@ -5,10 +5,10 @@
... ...
}: let }: let
inherit (lib) mkEnableOption mkIf; inherit (lib) mkEnableOption mkIf;
cfg = config.userModules.devtools.nixvim.plugins.efm; cfg = config.home.devtools.nixvim.plugins.efm;
in { in {
options = { options = {
userModules.devtools.nixvim.plugins.efm.enable = mkEnableOption "Enables EFM LSP support for nixvim"; home.devtools.nixvim.plugins.efm.enable = mkEnableOption "Enables EFM LSP support for nixvim";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkEnableOption mkIf; inherit (lib) mkEnableOption mkIf;
cfg = config.userModules.devtools.nixvim.plugins.floaterm; cfg = config.home.devtools.nixvim.plugins.floaterm;
in { in {
options = { options = {
userModules.devtools.nixvim.plugins.floaterm.enable = mkEnableOption "Enables Floaterm plugin for nixvim"; home.devtools.nixvim.plugins.floaterm.enable = mkEnableOption "Enables Floaterm plugin for nixvim";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkEnableOption mkIf; inherit (lib) mkEnableOption mkIf;
cfg = config.userModules.devtools.nixvim.plugins.harpoon; cfg = config.home.devtools.nixvim.plugins.harpoon;
in { in {
options = { options = {
userModules.devtools.nixvim.plugins.harpoon.enable = mkEnableOption "Enables Harpoon plugin for nixvim"; home.devtools.nixvim.plugins.harpoon.enable = mkEnableOption "Enables Harpoon plugin for nixvim";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkEnableOption mkIf; inherit (lib) mkEnableOption mkIf;
cfg = config.userModules.devtools.nixvim.plugins.lightline; cfg = config.home.devtools.nixvim.plugins.lightline;
in { in {
options = { options = {
userModules.devtools.nixvim.plugins.lightline.enable = mkEnableOption "Enables lightline plugin for nixvim"; home.devtools.nixvim.plugins.lightline.enable = mkEnableOption "Enables lightline plugin for nixvim";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkEnableOption mkIf; inherit (lib) mkEnableOption mkIf;
cfg = config.userModules.devtools.nixvim.plugins.lsp-format; cfg = config.home.devtools.nixvim.plugins.lsp-format;
in { in {
options = { options = {
userModules.devtools.nixvim.plugins.lsp-format = { home.devtools.nixvim.plugins.lsp-format = {
enable = mkEnableOption "Enables LSP formatting support for nixvim"; enable = mkEnableOption "Enables LSP formatting support for nixvim";
}; };
}; };

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkEnableOption mkIf; inherit (lib) mkEnableOption mkIf;
cfg = config.userModules.devtools.nixvim.plugins.lsp; cfg = config.home.devtools.nixvim.plugins.lsp;
in { in {
options = { options = {
userModules.devtools.nixvim.plugins.lsp = { home.devtools.nixvim.plugins.lsp = {
enable = mkEnableOption "Enables LSP support for nixvim"; enable = mkEnableOption "Enables LSP support for nixvim";
}; };
}; };

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkEnableOption mkIf; inherit (lib) mkEnableOption mkIf;
cfg = config.userModules.devtools.nixvim.plugins.lualine; cfg = config.home.devtools.nixvim.plugins.lualine;
in { in {
options = { options = {
userModules.devtools.nixvim.plugins.lualine.enable = mkEnableOption "Enables Lualine plugin for nixvim"; home.devtools.nixvim.plugins.lualine.enable = mkEnableOption "Enables Lualine plugin for nixvim";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkEnableOption mkIf; inherit (lib) mkEnableOption mkIf;
cfg = config.userModules.devtools.nixvim.plugins.markdown-preview; cfg = config.home.devtools.nixvim.plugins.markdown-preview;
in { in {
options = { options = {
userModules.devtools.nixvim.plugins.markdown-preview.enable = mkEnableOption "Enables Markdown Preview plugin for nixvim"; home.devtools.nixvim.plugins.markdown-preview.enable = mkEnableOption "Enables Markdown Preview plugin for nixvim";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkEnableOption mkIf; inherit (lib) mkEnableOption mkIf;
cfg = config.userModules.devtools.nixvim.plugins.neo-tree; cfg = config.home.devtools.nixvim.plugins.neo-tree;
in { in {
options = { options = {
userModules.devtools.nixvim.plugins.neo-tree.enable = mkEnableOption "Enables neo-tree plugin for nixvim"; home.devtools.nixvim.plugins.neo-tree.enable = mkEnableOption "Enables neo-tree plugin for nixvim";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkEnableOption mkIf; inherit (lib) mkEnableOption mkIf;
cfg = config.userModules.devtools.nixvim.plugins.none-ls; cfg = config.home.devtools.nixvim.plugins.none-ls;
in { in {
options = { options = {
userModules.devtools.nixvim.plugins.none-ls.enable = mkEnableOption "Enables None-LS plugin for nixvim"; home.devtools.nixvim.plugins.none-ls.enable = mkEnableOption "Enables None-LS plugin for nixvim";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View File

@@ -4,9 +4,9 @@
... ...
}: }:
with lib; let with lib; let
cfg = config.userModules.devtools.nixvim.plugins.rustaceanvim; cfg = config.home.devtools.nixvim.plugins.rustaceanvim;
in { in {
options.userModules.devtools.nixvim.plugins.rustaceanvim = { options.home.devtools.nixvim.plugins.rustaceanvim = {
enable = mkEnableOption "Whether to enable rustaceanvim."; enable = mkEnableOption "Whether to enable rustaceanvim.";
}; };

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkEnableOption mkIf; inherit (lib) mkEnableOption mkIf;
cfg = config.userModules.devtools.nixvim.plugins.startify; cfg = config.home.devtools.nixvim.plugins.startify;
in { in {
options = { options = {
userModules.devtools.nixvim.plugins.startify.enable = mkEnableOption "Enables Startify plugin for nixvim"; home.devtools.nixvim.plugins.startify.enable = mkEnableOption "Enables Startify plugin for nixvim";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkEnableOption mkIf; inherit (lib) mkEnableOption mkIf;
cfg = config.userModules.devtools.nixvim.plugins.tagbar; cfg = config.home.devtools.nixvim.plugins.tagbar;
in { in {
options = { options = {
userModules.devtools.nixvim.plugins.tagbar.enable = mkEnableOption "Enables Tagbar plugin for nixvim"; home.devtools.nixvim.plugins.tagbar.enable = mkEnableOption "Enables Tagbar plugin for nixvim";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkEnableOption mkIf; inherit (lib) mkEnableOption mkIf;
cfg = config.userModules.devtools.nixvim.plugins.telescope; cfg = config.home.devtools.nixvim.plugins.telescope;
in { in {
options = { options = {
userModules.devtools.nixvim.plugins.telescope.enable = mkEnableOption "Enables Telescope plugin for nixvim"; home.devtools.nixvim.plugins.telescope.enable = mkEnableOption "Enables Telescope plugin for nixvim";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkEnableOption mkIf; inherit (lib) mkEnableOption mkIf;
cfg = config.userModules.devtools.nixvim.plugins.treesitter; cfg = config.home.devtools.nixvim.plugins.treesitter;
in { in {
options = { options = {
userModules.devtools.nixvim.plugins = { home.devtools.nixvim.plugins = {
treesitter.enable = mkEnableOption "Enables Treesitter plugin for nixvim"; treesitter.enable = mkEnableOption "Enables Treesitter plugin for nixvim";
}; };
}; };

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkEnableOption mkIf; inherit (lib) mkEnableOption mkIf;
cfg = config.userModules.devtools.nixvim.plugins.vimtex; cfg = config.home.devtools.nixvim.plugins.vimtex;
in { in {
options = { options = {
userModules.devtools.nixvim.plugins.vimtex.enable = mkEnableOption "Enables VimTeX plugin for nixvim"; home.devtools.nixvim.plugins.vimtex.enable = mkEnableOption "Enables VimTeX plugin for nixvim";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkEnableOption mkIf; inherit (lib) mkEnableOption mkIf;
cfg = config.userModules.devtools.nixvim.plugins.yanky; cfg = config.home.devtools.nixvim.plugins.yanky;
in { in {
options = { options = {
userModules.devtools.nixvim.plugins.yanky.enable = mkEnableOption "Enables Yanky plugin for nixvim"; home.devtools.nixvim.plugins.yanky.enable = mkEnableOption "Enables Yanky plugin for nixvim";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.userModules.devtools.vscode; cfg = config.home.devtools.vscode;
in { in {
options = { options = {
userModules.devtools.vscode.enable = mkEnableOption "Enables vscode"; home.devtools.vscode.enable = mkEnableOption "Enables vscode";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.vscode = { programs.vscode = {

View File

@@ -5,10 +5,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.userModules.gaming.lutris; cfg = config.home.gaming.lutris;
in { in {
options = { options = {
userModules.gaming.lutris.enable = mkEnableOption "Enables lutris"; home.gaming.lutris.enable = mkEnableOption "Enables lutris";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
home.packages = [ home.packages = [

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.userModules.gaming.mangohud; cfg = config.home.gaming.mangohud;
in { in {
options = { options = {
userModules.gaming.mangohud.enable = mkEnableOption "Enables mangohud"; home.gaming.mangohud.enable = mkEnableOption "Enables mangohud";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.mangohud = { programs.mangohud = {

View File

@@ -0,0 +1,64 @@
# Yanked from Misterio77
{
pkgs,
lib,
config,
...
}: let
inherit (lib) mkIf mkEnableOption concatStringsSep head filter getExe;
cfg = config.home.gaming.steam;
steam-with-pkgs = pkgs.steam.override {
extraPkgs = pkgs:
with pkgs; [
xorg.libXcursor
xorg.libXi
xorg.libXinerama
xorg.libXScrnSaver
libpng
libpulseaudio
libvorbis
stdenv.cc.cc.lib
libkrb5
keyutils
gamescope
];
};
monitor = head (filter (m: m.primary) config.monitors);
steam-session = let
gamescope = concatStringsSep " " [
(getExe pkgs.gamescope)
"--output-width ${toString monitor.width}"
"--output-height ${toString monitor.height}"
"--framerate-limit ${toString monitor.refreshRate}"
"--prefer-output ${monitor.name}"
# "--adaptive-sync"
"--expose-wayland"
"--hdr-enabled"
"--steam"
];
steam = concatStringsSep " " [
"steam"
"steam://open/bigpicture"
];
in
pkgs.writeTextDir "share/wayland-sessions/steam-sesson.desktop" # ini
''
[Desktop Entry]
Name=Steam Session
Exec=${gamescope} -- ${steam}
Type=Application
'';
in {
options = {
home.gaming.steam.enable = mkEnableOption "Enables steam";
};
config = {
home.packages = mkIf cfg.enable [
steam-with-pkgs
steam-session
pkgs.gamescope
];
};
}

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.userModules.terminal.alacritty; cfg = config.home.terminal.alacritty;
in { in {
options = { options = {
userModules.terminal.alacritty.enable = mkEnableOption "Enables firefox"; home.terminal.alacritty.enable = mkEnableOption "Enables firefox";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.alacritty = { programs.alacritty = {

View File

@@ -5,10 +5,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.userModules.terminal.foot; cfg = config.home.terminal.foot;
in { in {
options = { options = {
userModules.terminal.foot.enable = mkEnableOption "Enables foot terminal"; home.terminal.foot.enable = mkEnableOption "Enables foot terminal";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.foot = { programs.foot = {

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.userModules.terminal.kitty; cfg = config.home.terminal.kitty;
in { in {
options = { options = {
userModules.terminal.kitty.enable = mkEnableOption "Enables kitty terminal"; home.terminal.kitty.enable = mkEnableOption "Enables kitty terminal";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.kitty = { programs.kitty = {

View File

@@ -9,10 +9,10 @@
weztermPkg = pkgs.wezterm; weztermPkg = pkgs.wezterm;
# weztermFlake = inputs.wezterm.packages.${pkgs.system}.default; # weztermFlake = inputs.wezterm.packages.${pkgs.system}.default;
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.userModules.terminal.wezterm; cfg = config.home.terminal.wezterm;
in { in {
options = { options = {
userModules.terminal.wezterm.enable = mkEnableOption "Enables wezterm terminal"; home.terminal.wezterm.enable = mkEnableOption "Enables wezterm terminal";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.wezterm = { programs.wezterm = {

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.userModules.terminal.zellij; cfg = config.home.terminal.zellij;
in { in {
options = { options = {
userModules.terminal.zellij.enable = mkEnableOption "Enables zellij"; home.terminal.zellij.enable = mkEnableOption "Enables zellij";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.zellij = { programs.zellij = {

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.userModules.userd.blueman-applet; cfg = config.home.userd.blueman-applet;
in { in {
options = { options = {
userModules.userd.blueman-applet.enable = mkEnableOption "Enables blueman-applet"; home.userd.blueman-applet.enable = mkEnableOption "Enables blueman-applet";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.blueman-applet = { services.blueman-applet = {

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.userModules.userd.copyq; cfg = config.home.userd.copyq;
in { in {
options = { options = {
userModules.userd.copyq.enable = mkEnableOption "Enables copyq"; home.userd.copyq.enable = mkEnableOption "Enables copyq";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.copyq = { services.copyq = {

View File

@@ -0,0 +1,24 @@
{
config,
lib,
...
}: let
inherit (lib) types mkOption;
cfg = config.home.userd.dconf;
in {
options = {
home.userd.dconf.settings.color-scheme = mkOption {
type = types.str;
default = "prefer-dark";
};
};
config = {
dconf = {
settings = {
"org/gnome/desktop/interface" = {
color-scheme = cfg.settings.color-scheme;
};
};
};
};
}

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.userModules.userd.gpg; cfg = config.home.userd.gpg;
in { in {
options = { options = {
userModules.userd.gpg.enable = mkEnableOption "Enables gpg"; home.userd.gpg.enable = mkEnableOption "Enables gpg";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.gpg-agent = { services.gpg-agent = {

View File

@@ -0,0 +1,140 @@
{
config,
pkgs,
lib,
...
}: let
inherit (lib) types mkOption mkIf;
cfg = config.home.userd.gtk;
in {
options = {
home.userd.gtk.enable = mkOption {
type = types.bool;
default = true;
description = "Enable GTK configuration.";
};
home.userd.gtk.theme = mkOption {
type = types.str;
default = "Orchis-Grey-Dark-Compact";
description = "GTK theme name.";
};
home.userd.gtk.themePackage = mkOption {
type = types.package;
default = pkgs.orchis-theme;
description = "GTK theme package.";
};
home.userd.gtk.iconTheme = mkOption {
type = types.str;
default = "Adwaita";
description = "GTK icon theme name.";
};
home.userd.gtk.iconThemePackage = mkOption {
type = types.package;
default = pkgs.adwaita-icon-theme;
description = "GTK icon theme package.";
};
home.userd.gtk.font = mkOption {
type = types.attrsOf types.anything;
default = {
name = "Input Sans Narrow Light";
size = 10;
};
description = "GTK font configuration.";
};
home.userd.gtk.cursorTheme = mkOption {
type = types.attrsOf types.anything;
default = {
name = "Adwaita";
size = 28;
package = pkgs.adwaita-icon-theme;
};
description = "Cursor theme configuration.";
};
};
config = mkIf cfg.enable {
home = {
packages = [pkgs.glib];
pointerCursor = {
package = cfg.cursorTheme.package;
name = cfg.cursorTheme.name;
size = cfg.cursorTheme.size;
gtk.enable = true;
x11.enable = true;
};
};
gtk = {
enable = true;
theme = {
package = cfg.themePackage;
name = cfg.theme;
};
iconTheme = {
package = cfg.iconThemePackage;
name = cfg.iconTheme;
};
font = {
name = cfg.font.name;
size = cfg.font.size;
};
cursorTheme = {
package = cfg.cursorTheme.package;
name = cfg.cursorTheme.name;
size = cfg.cursorTheme.size;
};
gtk2 = {
extraConfig = ''
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle="hintslight"
gtk-xft-rgba="rgb"
'';
};
gtk3.extraConfig = {
gtk-application-prefer-dark-theme = true;
gtk-decoration-layout = "appmenu:none";
gtk-toolbar-style = "GTK_TOOLBAR_BOTH";
gtk-toolbar-icon-size = "GTK_ICON_SIZE_LARGE_TOOLBAR";
gtk-button-images = 1;
gtk-menu-images = 1;
gtk-error-bell = 0;
gtk-enable-event-sounds = 0;
gtk-enable-input-feedback-sounds = 0;
gtk-xft-antialias = 1;
gtk-xft-hinting = 1;
gtk-xft-hintstyle = "hintslight";
};
gtk4.extraConfig = {
gtk-application-prefer-dark-theme = true;
gtk-decoration-layout = "appmenu:none";
gtk-error-bell = 0;
gtk-enable-event-sounds = 0;
gtk-enable-input-feedback-sounds = 0;
gtk-xft-antialias = 1;
gtk-xft-hinting = 1;
gtk-xft-hintstyle = "hintslight";
};
};
};
}

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.userModules.userd.mako; cfg = config.home.userd.mako;
in { in {
options = { options = {
userModules.userd.mako.enable = mkEnableOption "Enables mako"; home.userd.mako.enable = mkEnableOption "Enables mako";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.mako = { services.mako = {

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.userModules.userd.syncthing; cfg = config.home.userd.syncthing;
in { in {
options = { options = {
userModules.userd.syncthing.enable = mkEnableOption "Enables syncthing"; home.userd.syncthing.enable = mkEnableOption "Enables syncthing";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.syncthing = { services.syncthing = {

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.userModules.userd.udiskie; cfg = config.home.userd.udiskie;
in { in {
options = { options = {
userModules.userd.udiskie.enable = mkEnableOption "Enables udiskie"; home.userd.udiskie.enable = mkEnableOption "Enables udiskie";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.udiskie = { services.udiskie = {

View File

@@ -5,13 +5,13 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.userModules.utils.anyrun; cfg = config.home.utils.anyrun;
in { in {
imports = [ imports = [
inputs.anyrun.homeManagerModules.default inputs.anyrun.homeManagerModules.default
]; ];
options = { options = {
userModules.utils.anyrun.enable = mkEnableOption "Enables anyrun"; home.utils.anyrun.enable = mkEnableOption "Enables anyrun";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.anyrun = { programs.anyrun = {

View File

@@ -4,20 +4,20 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.userModules.utils.eza; cfg = config.home.utils.eza;
in { in {
options = { options = {
userModules.utils.eza.enable = mkEnableOption "Enables eza"; home.utils.eza.enable = mkEnableOption "Enables eza";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.eza = { programs.eza = {
enable = true; enable = true;
icons = true;
git = true; git = true;
enableZshIntegration = false; enableZshIntegration = false;
extraOptions = [ extraOptions = [
"--group-directories-first" "--group-directories-first"
"--header" "--header"
"--icons"
]; ];
}; };
}; };

View File

@@ -5,10 +5,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.userModules.utils.misc; cfg = config.home.utils.misc;
in { in {
options = { options = {
userModules.utils.misc.enable = mkEnableOption "Enables miscellaneous utility apps"; home.utils.misc.enable = mkEnableOption "Enables miscellaneous utility apps";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs = { programs = {

View File

@@ -0,0 +1,20 @@
{
config,
lib,
pkgs,
...
}: let
inherit (lib) mkIf mkEnableOption;
cfg = config.home.utils.mpv;
in {
options = {
home.utils.mpv.enable = mkEnableOption "Enables mpv";
};
config = mkIf cfg.enable {
programs.mpv = {
enable = true;
defaultProfiles = ["gpu-hq"];
scripts = [pkgs.mpvScripts.mpris];
};
};
}

View File

@@ -5,10 +5,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.userModules.utils.rofi; cfg = config.home.utils.rofi;
in { in {
options = { options = {
userModules.utils.rofi.enable = mkEnableOption "Enables firefox"; home.utils.rofi.enable = mkEnableOption "Enables firefox";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.rofi = { programs.rofi = {

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.userModules.utils.ssh; cfg = config.home.utils.ssh;
in { in {
options = { options = {
userModules.utils.ssh.enable = mkEnableOption "Enables ssh"; home.utils.ssh.enable = mkEnableOption "Enables ssh";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.ssh = { programs.ssh = {

View File

@@ -6,13 +6,13 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.userModules.utils.tuirun; cfg = config.home.utils.tuirun;
in { in {
imports = [ imports = [
inputs.tuirun.homeManagerModules.default inputs.tuirun.homeManagerModules.default
]; ];
options = { options = {
userModules.utils.tuirun.enable = mkEnableOption "Enables tuirun"; home.utils.tuirun.enable = mkEnableOption "Enables tuirun";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.tuirun = { programs.tuirun = {

View File

@@ -5,10 +5,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.userModules.utils.waybar; cfg = config.home.utils.waybar;
in { in {
options = { options = {
userModules.utils.waybar.enable = mkEnableOption "Enables waybar"; home.utils.waybar.enable = mkEnableOption "Enables waybar";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
systemd.user.services.waybar = { systemd.user.services.waybar = {

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