formatted all files with nixfmt, added env variable to hold secrets

This commit is contained in:
pagedmov
2024-11-09 16:20:27 -05:00
parent d38da56ba2
commit 2a1ba18c09
93 changed files with 948 additions and 1254 deletions

3
.gitignore vendored
View File

@@ -1,4 +1,3 @@
env.nix
secrets.nix
result result
hardware.nix hardware.nix

View File

@@ -35,13 +35,14 @@
system = "x86_64-linux"; system = "x86_64-linux";
pkgs = import nixpkgs { inherit system; }; pkgs = import nixpkgs { inherit system; };
username = "pagedmov"; username = "pagedmov";
env = import ./env.nix;
in { in {
homeConfigurations = { homeConfigurations = {
oganessonHome = home-manager.lib.homeManagerConfiguration { oganessonHome = home-manager.lib.homeManagerConfiguration {
inherit pkgs; inherit pkgs;
extraSpecialArgs = { extraSpecialArgs = {
host = "oganesson"; host = "oganesson";
inherit self username inputs; inherit self username env inputs;
}; };
modules = [ modules = [
@@ -57,7 +58,7 @@
inherit pkgs; inherit pkgs;
extraSpecialArgs = { extraSpecialArgs = {
host = "oganesson"; host = "oganesson";
inherit self username inputs; inherit self env username inputs;
}; };
modules = [ modules = [
@@ -73,7 +74,7 @@
inherit pkgs; inherit pkgs;
extraSpecialArgs = { extraSpecialArgs = {
host = "oganesson"; host = "oganesson";
inherit self username inputs; inherit self env username inputs;
}; };
modules = [ modules = [
@@ -88,7 +89,7 @@
oganesson = nixpkgs.lib.nixosSystem { oganesson = nixpkgs.lib.nixosSystem {
specialArgs = { specialArgs = {
host = "oganesson"; host = "oganesson";
inherit self inputs username; inherit self inputs env username;
}; };
inherit system; inherit system;
modules = [ modules = [
@@ -102,7 +103,7 @@
mercury = nixpkgs.lib.nixosSystem { mercury = nixpkgs.lib.nixosSystem {
specialArgs = { specialArgs = {
host = "mercury"; host = "mercury";
inherit self inputs username; inherit self inputs env username;
}; };
inherit system; inherit system;
modules = [ modules = [
@@ -116,7 +117,7 @@
xenon = nixpkgs.lib.nixosSystem { xenon = nixpkgs.lib.nixosSystem {
specialArgs = { specialArgs = {
host = "xenon"; host = "xenon";
inherit self inputs username; inherit self inputs env username;
}; };
inherit system; inherit system;
modules = [ modules = [
@@ -134,10 +135,7 @@
inherit self inputs; inherit self inputs;
}; };
inherit system; inherit system;
modules = [ modules = [ ./hosts/installer nixvim.nixosModules.nixvim ];
./hosts/installer
nixvim.nixosModules.nixvim
];
}; };
}; };
}; };

View File

@@ -1,7 +1,5 @@
{ pkgs, username, ... }: { { pkgs, username, ... }: {
imports = [ imports = [ ./hardware.nix ];
./hardware.nix
];
# My module options # My module options
movOpts = { movOpts = {
@@ -39,13 +37,8 @@
}; };
environment = { environment = {
variables = { variables = { PATH = "${pkgs.clang-tools}/bin:$PATH"; };
PATH = "${pkgs.clang-tools}/bin:$PATH"; shells = with pkgs; [ zsh bash ];
};
shells = with pkgs; [
zsh
bash
];
}; };
users = { users = {

View File

@@ -1,18 +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 = [ (modulesPath + "/installer/scan/not-detected.nix") ];
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod"]; boot.initrd.availableKernelModules =
[ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ]; boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
@@ -49,5 +42,6 @@
# networking.interfaces.wlp15s0.useDHCP = lib.mkDefault true; # networking.interfaces.wlp15s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; hardware.cpu.amd.updateMicrocode =
lib.mkDefault config.hardware.enableRedistributableFirmware;
} }

View File

@@ -1,10 +1,5 @@
{ { lib, pkgs, modulesPath, inputs, ... }:
lib, let
pkgs,
modulesPath,
inputs,
...
}: let
extraFigletFonts = pkgs.fetchFromGitHub { extraFigletFonts = pkgs.fetchFromGitHub {
owner = "xero"; owner = "xero";
repo = "figlet-fonts"; repo = "figlet-fonts";
@@ -28,11 +23,7 @@ in {
]; ];
nixpkgs.hostPlatform = "x86_64-linux"; nixpkgs.hostPlatform = "x86_64-linux";
system.stateVersion = "24.05"; system.stateVersion = "24.05";
nix = { nix = { settings = { experimental-features = [ "nix-command" "flakes" ]; }; };
settings = {
experimental-features = ["nix-command" "flakes"];
};
};
networking = { networking = {
wireless.enable = false; wireless.enable = false;
@@ -67,9 +58,7 @@ in {
programs.home-manager.enable = true; programs.home-manager.enable = true;
home = { home = {
stateVersion = "24.05"; stateVersion = "24.05";
file = { file = { "disko.nix".source = ./disko-ext4-singledisk.nix; };
"disko.nix".source = ./disko-ext4-singledisk.nix;
};
}; };
}; };
}; };
@@ -201,7 +190,9 @@ in {
format = "[$user]($style)"; format = "[$user]($style)";
}; };
directory = { directory = {
format = "\n[$path](bold cyan)[/](bold green) "; format = ''
[$path](bold cyan)[/](bold green) '';
style = "bold #b4befe"; style = "bold #b4befe";
}; };
@@ -220,7 +211,9 @@ in {
}; };
git_branch = { git_branch = {
format = "\non [$symbol$branch](bold purple)"; format = ''
on [$symbol$branch](bold purple)'';
symbol = " "; symbol = " ";
truncation_length = 15; truncation_length = 15;
style = "bold purple"; style = "bold purple";

View File

@@ -1,11 +1,7 @@
# USAGE in your configuration.nix. # USAGE in your configuration.nix.
# Update devices to match your hardware. # Update devices to match your hardware.
{ { device ? throw "Set this to your disk device, e.g. /dev/sda", root_size
device ? throw "Set this to your disk device, e.g. /dev/sda", , nix_size, ... }: {
root_size,
nix_size,
...
}: {
disko.devices = { disko.devices = {
disk = { disk = {
main = { main = {

View File

@@ -1,18 +1,11 @@
{ pkgs, config, ... }: { { pkgs, config, ... }: {
imports = [ imports = [ ./hardware.nix ./home.nix ];
./hardware.nix
./home.nix
];
powerProfiles.enable = true; powerProfiles.enable = true;
boot = { boot = {
kernelModules = [ "acpi_call" ]; kernelModules = [ "acpi_call" ];
extraModulePackages = with config.boot.kernelPackages; extraModulePackages = with config.boot.kernelPackages;
[ [ acpi_call cpupower ] ++ [ pkgs.cpupower-gui ];
acpi_call
cpupower
]
++ [pkgs.cpupower-gui];
}; };
networkModule.enable = true; networkModule.enable = true;
@@ -26,20 +19,9 @@
sysServices.enable = true; sysServices.enable = true;
environment = { environment = {
variables = { variables = { PATH = "${pkgs.clang-tools}/bin:$PATH"; };
PATH = "${pkgs.clang-tools}/bin:$PATH"; shells = with pkgs; [ zsh bash ];
systemPackages = with pkgs; [ acpi brightnessctl cpupower-gui powertop ];
}; };
shells = with pkgs; [
zsh
bash
];
systemPackages = with pkgs; [
acpi
brightnessctl
cpupower-gui
powertop
];
};
} }

View File

@@ -1,18 +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 = [ (modulesPath + "/installer/scan/not-detected.nix") ];
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod"]; boot.initrd.availableKernelModules =
[ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ]; boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
@@ -49,5 +42,6 @@
# networking.interfaces.wlp15s0.useDHCP = lib.mkDefault true; # networking.interfaces.wlp15s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; hardware.cpu.amd.updateMicrocode =
lib.mkDefault config.hardware.enableRedistributableFirmware;
} }

View File

@@ -1,12 +1,5 @@
{ { pkgs, username, ... }: {
pkgs, imports = [ ./hardware.nix ./home.nix ];
username,
...
}: {
imports = [
./hardware.nix
./home.nix
];
movOpts = { movOpts = {
nixSettings.enable = true; nixSettings.enable = true;
networkModule.enable = true; networkModule.enable = true;
@@ -18,9 +11,7 @@
jellyfinConfig.enable = true; jellyfinConfig.enable = true;
caddyConfig.enable = true; caddyConfig.enable = true;
}; };
networking.firewall = { networking.firewall = { allowedTCPPorts = [ 443 8920 ]; };
allowedTCPPorts = [ 443 8920 ];
};
environment = { environment = {
etc."tmpfiles.d/home-permissions.conf".text = '' etc."tmpfiles.d/home-permissions.conf".text = ''
d /home/pagedmov 0750 pagedmov users - d /home/pagedmov 0750 pagedmov users -
@@ -29,9 +20,6 @@
PATH = "${pkgs.clang-tools}/bin:$PATH"; PATH = "${pkgs.clang-tools}/bin:$PATH";
TERM = "kitty"; TERM = "kitty";
}; };
shells = with pkgs; [ shells = with pkgs; [ zsh bash ];
zsh
bash
];
}; };
} }

View File

@@ -4,33 +4,32 @@
{ config, lib, pkgs, modulesPath, ... }: { config, lib, pkgs, modulesPath, ... }:
{ {
imports = imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; boot.initrd.availableKernelModules =
[ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ]; boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
fileSystems."/" = fileSystems."/" = {
{ device = "/dev/disk/by-uuid/c40b3b09-688d-4fe3-96f9-8e3d75b0a7b7"; device = "/dev/disk/by-uuid/c40b3b09-688d-4fe3-96f9-8e3d75b0a7b7";
fsType = "ext4"; fsType = "ext4";
}; };
fileSystems."/nix" = fileSystems."/nix" = {
{ device = "/dev/disk/by-uuid/1048d206-0a27-4e4e-b9a4-4f068bab5439"; device = "/dev/disk/by-uuid/1048d206-0a27-4e4e-b9a4-4f068bab5439";
fsType = "ext4"; fsType = "ext4";
}; };
fileSystems."/boot" = fileSystems."/boot" = {
{ device = "/dev/disk/by-uuid/357E-BCCD"; device = "/dev/disk/by-uuid/357E-BCCD";
fsType = "vfat"; fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ]; options = [ "fmask=0077" "dmask=0077" ];
}; };
fileSystems."/home" = fileSystems."/home" = {
{ device = "/dev/disk/by-uuid/b53ab583-f32e-4144-a2ee-f341e54f8233"; device = "/dev/disk/by-uuid/b53ab583-f32e-4144-a2ee-f341e54f8233";
fsType = "ext4"; fsType = "ext4";
}; };
@@ -45,5 +44,6 @@
# networking.interfaces.wlp11s0.useDHCP = lib.mkDefault true; # networking.interfaces.wlp11s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; hardware.cpu.amd.updateMicrocode =
lib.mkDefault config.hardware.enableRedistributableFirmware;
} }

View File

@@ -1,17 +1,3 @@
{ { env, inputs, nixpkgs, config, self, username, host, lib, ... }: {
inputs, imports = [ ./programs ./environment ./scripts ./files.nix ];
nixpkgs,
config,
self,
username,
host,
lib,
...
}: {
imports = [
./programs
./environment
./scripts
./files.nix
];
} }

View File

@@ -1,14 +1,4 @@
{ { host, nur, nixvim, self, inputs, username, config, home-manager, ... }: {
host,
nur,
nixvim,
self,
inputs,
username,
config,
home-manager,
...
}: {
imports = [ imports = [
./gtk.nix ./gtk.nix
./spicetify.nix ./spicetify.nix

View File

@@ -1,16 +1,14 @@
{ lib, config, pkgs, ... }: { { lib, config, pkgs, ... }: {
options = { options = {
movOpts.envConfig.gtkConfig.enable = lib.mkEnableOption "enable my gtk options"; movOpts.envConfig.gtkConfig.enable =
lib.mkEnableOption "enable my gtk options";
}; };
config = lib.mkIf config.movOpts.envConfig.gtkConfig.enable { config = lib.mkIf config.movOpts.envConfig.gtkConfig.enable {
fonts.fontconfig.enable = true; fonts.fontconfig.enable = true;
home.packages = with pkgs; [ home.packages = with pkgs;
[
(nerdfonts.override { (nerdfonts.override {
fonts = [ fonts = [ "JetBrainsMono" "CascadiaCode" "NerdFontsSymbolsOnly" ];
"JetBrainsMono"
"CascadiaCode"
"NerdFontsSymbolsOnly"
];
}) })
]; ];
@@ -18,9 +16,7 @@
enable = true; enable = true;
iconTheme = { iconTheme = {
name = "Papirus-Dark"; name = "Papirus-Dark";
package = pkgs.papirus-nord.override { package = pkgs.papirus-nord.override { accent = "frostblue4"; };
accent = "frostblue4";
};
}; };
#cursorTheme = { #cursorTheme = {
# name = "Bibata-Modern-Ice"; # name = "Bibata-Modern-Ice";

View File

@@ -68,27 +68,30 @@ in {
"aplay ${self}/assets/sound/login.wav &" "aplay ${self}/assets/sound/login.wav &"
]; ];
workspace = workspace = if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout
if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout == "dualmonitor") then [ == "dualmonitor") then [
"1,persistent=true,monitor:${builtins.elemAt mons 0}" "1,persistent=true,monitor:${builtins.elemAt mons 0}"
"2,persistent=true,monitor:${builtins.elemAt mons 0}" "2,persistent=true,monitor:${builtins.elemAt mons 0}"
"3,persistent=true,monitor:${builtins.elemAt mons 0}" "3,persistent=true,monitor:${builtins.elemAt mons 0}"
"4,persistent=true,monitor:${builtins.elemAt mons 1}" "4,persistent=true,monitor:${builtins.elemAt mons 1}"
"5,persistent=true,monitor:${builtins.elemAt mons 1}" "5,persistent=true,monitor:${builtins.elemAt mons 1}"
"6,persistent=true,monitor:${builtins.elemAt mons 1}" "6,persistent=true,monitor:${builtins.elemAt mons 1}"
] else if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout == "singlemonitor") then [ ] else if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout
== "singlemonitor") then [
"1,persistent=true,monitor:${builtins.elemAt mons 0} " "1,persistent=true,monitor:${builtins.elemAt mons 0} "
"2,persistent=true,monitor:${builtins.elemAt mons 0}" "2,persistent=true,monitor:${builtins.elemAt mons 0}"
"3,persistent=true,monitor:${builtins.elemAt mons 0}" "3,persistent=true,monitor:${builtins.elemAt mons 0}"
"4,persistent=true,monitor:${builtins.elemAt mons 0}" "4,persistent=true,monitor:${builtins.elemAt mons 0}"
] else if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout == "trimonitor") then [ ] else if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout
== "trimonitor") then [
"1,persistent=true,monitor:${builtins.elemAt mons 2}" "1,persistent=true,monitor:${builtins.elemAt mons 2}"
"2,persistent=true,monitor:${builtins.elemAt mons 2}" "2,persistent=true,monitor:${builtins.elemAt mons 2}"
"3,persistent=true,monitor:${builtins.elemAt mons 1}" "3,persistent=true,monitor:${builtins.elemAt mons 1}"
"4,persistent=true,monitor:${builtins.elemAt mons 1}" "4,persistent=true,monitor:${builtins.elemAt mons 1}"
"5,persistent=true,monitor:${builtins.elemAt mons 0}" "5,persistent=true,monitor:${builtins.elemAt mons 0}"
"6,persistent=true,monitor:${builtins.elemAt mons 0}" "6,persistent=true,monitor:${builtins.elemAt mons 0}"
] else []; ] else
[ ];
env = [ env = [
"XDG_CONFIG_HOME,$HOME/.config" "XDG_CONFIG_HOME,$HOME/.config"

View File

@@ -1,16 +1,16 @@
{lib, config, pkgs, inputs, ... }: let { lib, config, pkgs, inputs, ... }:
let
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system}; spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
scheme = config.lib.stylix.colors; scheme = config.lib.stylix.colors;
in { in {
imports = [ inputs.spicetify-nix.homeManagerModules.default ]; imports = [ inputs.spicetify-nix.homeManagerModules.default ];
options = { options = {
movOpts.envConfig.spicetifyConfig.enable = lib.mkEnableOption "enable my spicetify options"; movOpts.envConfig.spicetifyConfig.enable =
lib.mkEnableOption "enable my spicetify options";
}; };
config = lib.mkIf config.movOpts.envConfig.spicetifyConfig.enable { config = lib.mkIf config.movOpts.envConfig.spicetifyConfig.enable {
nixpkgs.config.allowUnfreePredicate = pkg: nixpkgs.config.allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkg) [ builtins.elem (lib.getName pkg) [ "spotify" ];
"spotify"
];
programs.spicetify = { programs.spicetify = {
enable = true; enable = true;

View File

@@ -1,6 +1,7 @@
{ config, lib, inputs, ... }: { { config, lib, inputs, ... }: {
options = { options = {
movOpts.envConfig.starshipConfig.enable = lib.mkEnableOption "enables my starship configuration"; movOpts.envConfig.starshipConfig.enable =
lib.mkEnableOption "enables my starship configuration";
}; };
config = lib.mkIf config.movOpts.envConfig.starshipConfig.enable { config = lib.mkIf config.movOpts.envConfig.starshipConfig.enable {
programs.starship = { programs.starship = {
@@ -23,7 +24,9 @@
format = "[$user]($style)"; format = "[$user]($style)";
}; };
directory = { directory = {
format = "\n[$path](bold cyan)[/](bold green) "; format = ''
[$path](bold cyan)[/](bold green) '';
style = "bold #b4befe"; style = "bold #b4befe";
}; };
@@ -42,7 +45,9 @@
}; };
git_branch = { git_branch = {
format = "\non [$symbol$branch](bold purple)"; format = ''
on [$symbol$branch](bold purple)'';
symbol = " "; symbol = " ";
truncation_length = 15; truncation_length = 15;
style = "bold purple"; style = "bold purple";

View File

@@ -3,10 +3,10 @@
let let
scheme = "tokyo-night-dark"; scheme = "tokyo-night-dark";
wallpaper = "${self}/assets/wallpapers/dark-waves.jpg"; wallpaper = "${self}/assets/wallpapers/dark-waves.jpg";
in in {
{
options = { options = {
movOpts.envConfig.stylixHomeConfig.enable = lib.mkEnableOption "enables my stylix Home-Manager options"; movOpts.envConfig.stylixHomeConfig.enable =
lib.mkEnableOption "enables my stylix Home-Manager options";
}; };
config = lib.mkIf config.movOpts.envConfig.stylixHomeConfig.enable { config = lib.mkIf config.movOpts.envConfig.stylixHomeConfig.enable {
stylix = { stylix = {
@@ -15,7 +15,7 @@ in
image = wallpaper; image = wallpaper;
polarity = "dark"; polarity = "dark";
autoEnable = true; autoEnable = true;
opacity.terminal = 0.50; opacity.terminal = 0.5;
targets = { targets = {
waybar.enable = false; waybar.enable = false;
btop.enable = false; btop.enable = false;

View File

@@ -1,6 +1,7 @@
{ lib, config, pkgs, ... }: { { lib, config, pkgs, ... }: {
options = { options = {
movOpts.envConfig.swayncConfig.enable = lib.mkEnableOption "enables my swaync configuration"; movOpts.envConfig.swayncConfig.enable =
lib.mkEnableOption "enables my swaync configuration";
}; };
config = lib.mkIf config.movOpts.envConfig.swayncConfig.enable { config = lib.mkIf config.movOpts.envConfig.swayncConfig.enable {
home.packages = with pkgs; [ swaynotificationcenter ]; home.packages = with pkgs; [ swaynotificationcenter ];

View File

@@ -16,14 +16,13 @@ let
cp -r ${extraFigletFonts}/* $out/share/figlet cp -r ${extraFigletFonts}/* $out/share/figlet
''; '';
}); });
in in {
{
options = { options = {
movOpts.envConfig.userPkgs.enable = lib.mkEnableOption "enables my default user packages"; movOpts.envConfig.userPkgs.enable =
lib.mkEnableOption "enables my default user packages";
}; };
config = lib.mkIf config.movOpts.envConfig.userPkgs.enable { config = lib.mkIf config.movOpts.envConfig.userPkgs.enable {
home.packages = with pkgs; home.packages = with pkgs; [
[
nemo nemo
gtk3 gtk3
sqlite sqlite

View File

@@ -13,16 +13,20 @@ let
"6" = ""; "6" = "";
}; };
persistent-workspaces = persistent-workspaces =
if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout == "singlemonitor") then { if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout
== "singlemonitor") then {
"${builtins.elemAt monitors 0}" = [ 1 2 3 4 ]; "${builtins.elemAt monitors 0}" = [ 1 2 3 4 ];
} else if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout == "dualmonitor") then { } else if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout
== "dualmonitor") then {
"${builtins.elemAt monitors 0}" = [ 1 2 3 ]; "${builtins.elemAt monitors 0}" = [ 1 2 3 ];
"${builtins.elemAt monitors 1}" = [ 4 5 6 ]; "${builtins.elemAt monitors 1}" = [ 4 5 6 ];
} else if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout == "trimonitor") then { } else if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout
== "trimonitor") then {
"${builtins.elemAt monitors 2}" = [ 1 2 ]; "${builtins.elemAt monitors 2}" = [ 1 2 ];
"${builtins.elemAt monitors 1}" = [ 3 4 ]; "${builtins.elemAt monitors 1}" = [ 3 4 ];
"${builtins.elemAt monitors 0}" = [ 5 6 ]; "${builtins.elemAt monitors 0}" = [ 5 6 ];
} else {}; } else
{ };
}; };
@@ -52,7 +56,8 @@ let
monitors = config.movOpts.envConfig.hyprlandConfig.monitorNames; monitors = config.movOpts.envConfig.hyprlandConfig.monitorNames;
in { in {
options = { options = {
movOpts.envConfig.waybarConfig.enable = lib.mkEnableOption "enables my waybar configuration"; movOpts.envConfig.waybarConfig.enable =
lib.mkEnableOption "enables my waybar configuration";
}; };
config = { config = {
programs.waybar = { programs.waybar = {
@@ -68,25 +73,13 @@ in {
name = "mainBar"; name = "mainBar";
margin-left = 8; margin-left = 8;
margin-top = 5; margin-top = 5;
margin-right = margin-right = if desktop then 8 else 5;
if desktop
then 8
else 5;
mode = "dock"; mode = "dock";
"gtk-layer-shell" = true; "gtk-layer-shell" = true;
modules-left = [ modules-left = [ "hyprland/workspaces" "cava" ];
"hyprland/workspaces" modules-center = [ "hyprland/window" ];
"cava" modules-right = [ "group/hardware" "clock" "group/powerbtns" ];
];
modules-center = [
"hyprland/window"
];
modules-right = [
"group/hardware"
"clock"
"group/powerbtns"
];
"hyprland/workspaces" = workspaces; "hyprland/workspaces" = workspaces;
@@ -112,11 +105,7 @@ in {
"group/hardware" = { "group/hardware" = {
orientation = "inherit"; orientation = "inherit";
modules = [ modules = [ "custom/disk-icon" "memory" "cpu" ];
"custom/disk-icon"
"memory"
"cpu"
];
}; };
"custom/disk-icon" = { "custom/disk-icon" = {
@@ -146,34 +135,14 @@ in {
return-type = "json"; return-type = "json";
rotate = 270; rotate = 270;
format = "{icon}"; format = "{icon}";
format-icons = [ format-icons = [ "󰝦" "󰪞" "󰪟" "󰪠" "󰪡" "󰪢" "󰪣" "󰪤" "󰪥" ];
"󰝦"
"󰪞"
"󰪟"
"󰪠"
"󰪡"
"󰪢"
"󰪣"
"󰪤"
"󰪥"
];
}; };
memory = { memory = {
interval = 1; interval = 1;
rotate = 270; rotate = 270;
format = "{icon}"; format = "{icon}";
format-icons = [ format-icons = [ "󰝦" "󰪞" "󰪟" "󰪠" "󰪡" "󰪢" "󰪣" "󰪤" "󰪥" ];
"󰝦"
"󰪞"
"󰪟"
"󰪠"
"󰪡"
"󰪢"
"󰪣"
"󰪤"
"󰪥"
];
max-length = 10; max-length = 10;
tooltip-format = "RAM: {used:0.1f} GB / {total:0.1f} GB"; tooltip-format = "RAM: {used:0.1f} GB / {total:0.1f} GB";
}; };
@@ -182,17 +151,7 @@ in {
interval = 1; interval = 1;
rotate = 270; rotate = 270;
format = "{icon}"; format = "{icon}";
format-icons = [ format-icons = [ "󰝦" "󰪞" "󰪟" "󰪠" "󰪡" "󰪢" "󰪣" "󰪤" "󰪥" ];
"󰝦"
"󰪞"
"󰪟"
"󰪠"
"󰪡"
"󰪢"
"󰪣"
"󰪤"
"󰪥"
];
tooltip-format = "CPU: {usage:0.1f}%"; tooltip-format = "CPU: {usage:0.1f}%";
}; };
@@ -221,11 +180,7 @@ in {
children-class = "power-drawer"; children-class = "power-drawer";
transition-left-to-right = false; transition-left-to-right = false;
}; };
modules = [ modules = [ "custom/power" "custom/logout" "custom/reboot" ];
"custom/power"
"custom/logout"
"custom/reboot"
];
}; };
clock = { clock = {
@@ -235,10 +190,10 @@ in {
}; };
sideBar = { sideBar = {
layer = "bottom"; layer = "bottom";
output = output = if desktop then
if desktop builtins.elemAt monitors 0
then builtins.elemAt monitors 0 else
else builtins.elemAt monitors 1; builtins.elemAt monitors 1;
position = "right"; position = "right";
margin-top = 8; margin-top = 8;
margin-right = 5; margin-right = 5;
@@ -247,47 +202,31 @@ in {
mode = "dock"; mode = "dock";
"gtk-layer-shell" = true; "gtk-layer-shell" = true;
modules-left = modules-left = if desktop then
if desktop [ "hyprland/workspaces" ]
then [
"hyprland/workspaces"
]
else [ else [
"group/brightness" "group/brightness"
"battery" "battery"
]; ];
modules-center = [ modules-center = [ ];
]; modules-right = [ "network" "group/audio" ];
modules-right = [
"network"
"group/audio"
];
"hyprland/workspaces" = workspaces; "hyprland/workspaces" = workspaces;
"pulseaudio/slider" = { "pulseaudio/slider" = { orientation = "vertical"; };
orientation = "vertical";
};
"group/audio" = { "group/audio" = {
orientation = "vertical"; orientation = "vertical";
modules = [ modules = [ "pulseaudio/slider" "pulseaudio" ];
"pulseaudio/slider"
"pulseaudio"
];
}; };
pulseaudio = { pulseaudio = {
format = "{icon}"; format = "{icon}";
format-muted = " "; format-muted = " ";
format-icons = { format-icons = { default = [ " " " " ]; };
default = [
" "
" "
];
};
on-click = "pactl set-sink-mute @DEFAULT_SINK@ toggle"; on-click = "pactl set-sink-mute @DEFAULT_SINK@ toggle";
on-click-right = "hyprctl dispatch exec '[float;size 40% 55%] pavucontrol'"; on-click-right =
"hyprctl dispatch exec '[float;size 40% 55%] pavucontrol'";
}; };
network = { network = {
@@ -298,35 +237,27 @@ in {
tooltip-format-ethernet = "{ifname}"; tooltip-format-ethernet = "{ifname}";
format-disconnected = "󰖪 "; format-disconnected = "󰖪 ";
tooltip-format-disconnected = "Disconnected"; tooltip-format-disconnected = "Disconnected";
on-click = "hyprctl dispatch exec '[float;size 40% 55%] kitty nmtui'"; on-click =
"hyprctl dispatch exec '[float;size 40% 55%] kitty nmtui'";
}; };
battery = { battery = {
bat = "BAT1"; bat = "BAT1";
interval = 1; interval = 1;
tooltip-format = "{capacity}%\nTil empty: {time}"; tooltip-format = ''
tooltip-format-charging = "{capacity}%\nTil full: {time}"; {capacity}%
Til empty: {time}'';
tooltip-format-charging = ''
{capacity}%
Til full: {time}'';
format = "{icon}"; format = "{icon}";
format-icons = [ format-icons = [ "󰁺" "󰁻" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹" ];
"󰁺"
"󰁻"
"󰁽"
"󰁾"
"󰁿"
"󰂀"
"󰂁"
"󰂂"
"󰁹"
];
format-charging = "󰂄"; format-charging = "󰂄";
}; };
"group/brightness" = { "group/brightness" = {
orientation = "vertical"; orientation = "vertical";
modules = [ modules = [ "backlight" "backlight/slider" ];
"backlight"
"backlight/slider"
];
}; };
backlight = { backlight = {
format = "󰃠"; format = "󰃠";

View File

@@ -1,6 +1,7 @@
{ lib, config, self, ... }: { { lib, config, self, ... }: {
options = { options = {
movOpts.envConfig.zshConfig.enable = lib.mkEnableOption "enables my zsh configuration"; movOpts.envConfig.zshConfig.enable =
lib.mkEnableOption "enables my zsh configuration";
}; };
config = lib.mkIf config.movOpts.envConfig.zshConfig.enable { config = lib.mkIf config.movOpts.envConfig.zshConfig.enable {
programs.zoxide = { programs.zoxide = {
@@ -28,7 +29,8 @@
svc = "sudo systemctl"; svc = "sudo systemctl";
viflake = "nvim flake.nix"; viflake = "nvim flake.nix";
iv = "invoke"; iv = "invoke";
cfgfilecount = "find $FLAKEPATH -name \"*.nix\" | wc -l | toilet -f 3d | lolcat"; cfgfilecount =
''find $FLAKEPATH -name "*.nix" | wc -l | toilet -f 3d | lolcat'';
#git #git
"ga" = "playshellsound ${self}/assets/sound/gitadd.wav; git add"; "ga" = "playshellsound ${self}/assets/sound/gitadd.wav; git add";

View File

@@ -10,25 +10,25 @@ let
scheme_path = "${pkgs.base16-schemes}/share/themes/${ssh_base16}.yaml"; scheme_path = "${pkgs.base16-schemes}/share/themes/${ssh_base16}.yaml";
scheme_string = builtins.readFile scheme_path; scheme_string = builtins.readFile scheme_path;
scheme_list = lib.splitString "\n" "${scheme_string}"; scheme_list = lib.splitString "\n" "${scheme_string}";
colors = lib.filter (line: builtins.match "^ *base[0-9A-F]{2}: .*" line != null) scheme_list; colors =
ssh_scheme = lib.filter (line: builtins.match "^ *base[0-9A-F]{2}: .*" line != null)
lib.lists.foldl' ( scheme_list;
acc: line: let ssh_scheme = lib.lists.foldl' (acc: line:
let
splitLine = lib.splitString ": " line; splitLine = lib.splitString ": " line;
key = builtins.elemAt splitLine 0; key = builtins.elemAt splitLine 0;
value = builtins.elemAt splitLine 1; value = builtins.elemAt splitLine 1;
trimmedKey = lib.trim key; trimmedKey = lib.trim key;
cleanValue_step1 = lib.splitString " " value; cleanValue_step1 = lib.splitString " " value;
cleanValue_step2 = builtins.elemAt cleanValue_step1 0; cleanValue_step2 = builtins.elemAt cleanValue_step1 0;
cleanValue_final = builtins.substring 1 (builtins.stringLength cleanValue_step2 - 2) cleanValue_step2; cleanValue_final =
in builtins.substring 1 (builtins.stringLength cleanValue_step2 - 2)
acc // {"${trimmedKey}" = cleanValue_final;} cleanValue_step2;
) {} in acc // { "${trimmedKey}" = cleanValue_final; }) { } colors;
colors; in {
in
{
options = { options = {
movOpts.homeFiles.enable = lib.mkEnableOption "enables declared custom files"; movOpts.homeFiles.enable =
lib.mkEnableOption "enables declared custom files";
}; };
config = { config = {
home.file = { home.file = {

View File

@@ -1,6 +1,7 @@
{ lib, config, ... }: { { lib, config, ... }: {
options = { options = {
movOpts.programConfigs.autojumpConfig.enable = lib.mkEnableOption "enables my autojump options"; movOpts.programConfigs.autojumpConfig.enable =
lib.mkEnableOption "enables my autojump options";
}; };
config = lib.mkIf config.movOpts.programConfigs.autojumpConfig.enable { config = lib.mkIf config.movOpts.programConfigs.autojumpConfig.enable {
programs.autojump = { programs.autojump = {

View File

@@ -1,13 +1,12 @@
{ lib, config, inputs, ... }: { { lib, config, inputs, ... }: {
options = { options = {
movOpts.programConfigs.batConfig.enable = lib.mkEnableOption "enables my bat options"; movOpts.programConfigs.batConfig.enable =
lib.mkEnableOption "enables my bat options";
}; };
config = lib.mkIf config.movOpts.programConfigs.batConfig.enable { config = lib.mkIf config.movOpts.programConfigs.batConfig.enable {
programs.bat = { programs.bat = {
enable = true; enable = true;
config = { config = { pager = "less -FR"; };
pager = "less -FR";
};
}; };
}; };
} }

View File

@@ -1,6 +1,7 @@
{ lib, config, pkgs, ... }: { { lib, config, pkgs, ... }: {
options = { options = {
movOpts.programConfigs.btopConfig.enable = lib.mkEnableOption "enables my btop config"; movOpts.programConfigs.btopConfig.enable =
lib.mkEnableOption "enables my btop config";
}; };
config = lib.mkIf config.movOpts.programConfigs.btopConfig.enable { config = lib.mkIf config.movOpts.programConfigs.btopConfig.enable {
programs.btop = { programs.btop = {

View File

@@ -1,10 +1,9 @@
{ lib, config, inputs, pkgs, ... }: { { lib, config, inputs, pkgs, ... }: {
options = { options = {
movOpts.programConfigs.cavaConfig.enable = lib.mkEnableOption "enables my cava settings"; movOpts.programConfigs.cavaConfig.enable =
lib.mkEnableOption "enables my cava settings";
}; };
config = lib.mkIf config.movOpts.programConfigs.cavaConfig.enable { config = lib.mkIf config.movOpts.programConfigs.cavaConfig.enable {
programs.cava = { programs.cava = { enable = true; };
enable = true;
};
}; };
} }

View File

@@ -1,27 +1,9 @@
{ { env, host, nur, nixvim, self, inputs, username, config, home-manager, ... }: {
host, imports = [ (import ./btop.nix) ] ++ [ (import ./yazi.nix) ]
nur, ++ [ (import ./kitty.nix) ] ++ [ (import ./fuzzel.nix) ]
nixvim, ++ [ (import ./eza.nix) ] ++ [ (import ./cava.nix) ]
self, ++ [ (import ./bat.nix) ] ++ [ (import ./fzf.nix) ]
inputs, ++ [ (import ./git.nix) ] ++ [ (import ./password-store.nix) ]
username, ++ [ (import ./autojump.nix) ] ++ [ (import ./firefox.nix) ]
config,
home-manager,
...
}:
{
imports =
[(import ./btop.nix)]
++ [(import ./yazi.nix)]
++ [(import ./kitty.nix)]
++ [(import ./fuzzel.nix)]
++ [(import ./eza.nix)]
++ [(import ./cava.nix)]
++ [(import ./bat.nix)]
++ [(import ./fzf.nix)]
++ [(import ./git.nix)]
++ [(import ./password-store.nix)]
++ [(import ./autojump.nix)]
++ [(import ./firefox.nix)]
++ [ (import ./nixvim) ]; ++ [ (import ./nixvim) ];
} }

View File

@@ -1,6 +1,7 @@
{ lib, config, ... }: { { lib, config, ... }: {
options = { options = {
movOpts.programConfigs.ezaConfig.enable = lib.mkEnableOption "enables my eza options"; movOpts.programConfigs.ezaConfig.enable =
lib.mkEnableOption "enables my eza options";
}; };
config = lib.mkIf config.movOpts.programConfigs.ezaConfig.enable { config = lib.mkIf config.movOpts.programConfigs.ezaConfig.enable {
programs.eza = { programs.eza = {

View File

@@ -1,6 +1,7 @@
{ lib, config, nur, username, self, pkgs, ... }: { { lib, config, nur, username, self, pkgs, ... }: {
options = { options = {
movOpts.programConfigs.firefoxConfig.enable = lib.mkEnableOption "enables my firefox configuration"; movOpts.programConfigs.firefoxConfig.enable =
lib.mkEnableOption "enables my firefox configuration";
}; };
config = lib.mkIf config.movOpts.programConfigs.firefoxConfig.enable { config = lib.mkIf config.movOpts.programConfigs.firefoxConfig.enable {
programs.firefox = { programs.firefox = {
@@ -22,7 +23,8 @@
OverridePostUpdatePage = ""; OverridePostUpdatePage = "";
DontCheckDefaultBrowser = true; DontCheckDefaultBrowser = true;
DisplayBookmarksToolbar = "always"; # alternatives: "always" or "newtab" DisplayBookmarksToolbar = "always"; # alternatives: "always" or "newtab"
DisplayMenuBar = "default-off"; # alternatives: "always", "never" or "default-on" DisplayMenuBar =
"default-off"; # alternatives: "always", "never" or "default-on"
SearchBar = "unified"; # alternative: "separate" isDefault = true; SearchBar = "unified"; # alternative: "separate" isDefault = true;
}; };
profiles.${username} = { profiles.${username} = {

View File

@@ -1,6 +1,7 @@
{ config, lib, ... }: { { config, lib, ... }: {
options = { options = {
movOpts.programConfigs.fuzzelConfig.enable = lib.mkEnableOption "enables my fuzzel configuration"; movOpts.programConfigs.fuzzelConfig.enable =
lib.mkEnableOption "enables my fuzzel configuration";
}; };
config = lib.mkIf config.movOpts.programConfigs.fuzzelConfig.enable { config = lib.mkIf config.movOpts.programConfigs.fuzzelConfig.enable {
programs.fuzzel = { programs.fuzzel = {

View File

@@ -1,6 +1,7 @@
{ lib, config, ... }: { { lib, config, ... }: {
options = { options = {
movOpts.programConfigs.fzfConfig.enable = lib.mkEnableOption "enables my fzf options"; movOpts.programConfigs.fzfConfig.enable =
lib.mkEnableOption "enables my fzf options";
}; };
config = lib.mkIf config.movOpts.programConfigs.fzfConfig.enable { config = lib.mkIf config.movOpts.programConfigs.fzfConfig.enable {
programs.fzf = { programs.fzf = {

View File

@@ -1,6 +1,7 @@
{ lib, config, username, ... }: { { lib, config, username, ... }: {
options = { options = {
movOpts.programConfigs.gitConfig.enable = lib.mkEnableOption "enables my git configuration"; movOpts.programConfigs.gitConfig.enable =
lib.mkEnableOption "enables my git configuration";
}; };
config = lib.mkIf config.movOpts.programConfigs.gitConfig.enable { config = lib.mkIf config.movOpts.programConfigs.gitConfig.enable {
programs.git = { programs.git = {

View File

@@ -1,6 +1,7 @@
{ lib, config, pkgs, ... }: { { lib, config, pkgs, ... }: {
options = { options = {
movOpts.programConfigs.kittyConfig.enable = lib.mkEnableOption "enables my kitty configuration"; movOpts.programConfigs.kittyConfig.enable =
lib.mkEnableOption "enables my kitty configuration";
}; };
config = lib.mkIf config.movOpts.programConfigs.kittyConfig.enable { config = lib.mkIf config.movOpts.programConfigs.kittyConfig.enable {
programs.kitty = { programs.kitty = {

View File

@@ -2,7 +2,8 @@
programs.nixvim = { programs.nixvim = {
autoCmd = [ autoCmd = [
{ {
command = "FloatermNew --wintype=float --name=shadeterm --position=topright --autoclose=0 --silent --cwd=<buffer> --titleposition=left zsh"; command =
"FloatermNew --wintype=float --name=shadeterm --position=topright --autoclose=0 --silent --cwd=<buffer> --titleposition=left zsh";
event = [ "VimEnter" ]; event = [ "VimEnter" ];
pattern = [ "*" ]; pattern = [ "*" ];
desc = "Create a floating terminal, placed in the top right"; desc = "Create a floating terminal, placed in the top right";
@@ -11,7 +12,8 @@
command = "silent! mkview"; command = "silent! mkview";
event = [ "BufWinLeave" ]; event = [ "BufWinLeave" ];
pattern = [ "*" ]; pattern = [ "*" ];
desc = "Save session window settings to be loaded next time the file is opened"; desc =
"Save session window settings to be loaded next time the file is opened";
} }
{ {
command = "silent! !aplay ~/sound/sys/cd.wav > /dev/null 2>&1 &"; command = "silent! !aplay ~/sound/sys/cd.wav > /dev/null 2>&1 &";
@@ -23,7 +25,8 @@
command = "silent! loadview"; command = "silent! loadview";
event = [ "BufWinEnter" ]; event = [ "BufWinEnter" ];
pattern = [ "*" ]; pattern = [ "*" ];
desc = "Load previous session window settings for the opened file (folds, cursor pos, etc)"; desc =
"Load previous session window settings for the opened file (folds, cursor pos, etc)";
} }
{ {
command = "setlocal textwidth=135"; command = "setlocal textwidth=135";

View File

@@ -1,14 +1,3 @@
{ { env, config, pkgs, host, self, ... }: {
config, imports = [ ./plugins ./options.nix ./keymaps.nix ./autocmd.nix ];
pkgs,
host,
self,
...
}: {
imports = [
./plugins
./options.nix
./keymaps.nix
./autocmd.nix
];
} }

View File

@@ -1,12 +1,7 @@
{ { config, ... }:
config,
...
}:
let let scheme = config.lib.stylix.colors;
scheme = config.lib.stylix.colors; in {
in
{
programs.nixvim = { programs.nixvim = {
colorschemes.base16 = { colorschemes.base16 = {
enable = true; enable = true;

View File

@@ -2,9 +2,7 @@
programs.nixvim = { programs.nixvim = {
plugins.barbar = { plugins.barbar = {
enable = false; enable = false;
settings = { settings = { auto_hide = 1; };
auto_hide = 1;
};
}; };
}; };
} }

View File

@@ -2,11 +2,8 @@
programs.nixvim = { programs.nixvim = {
plugins.cmp = { plugins.cmp = {
autoEnableSources = true; autoEnableSources = true;
settings.sources = [ settings.sources =
{name = "nvim_lsp";} [ { name = "nvim_lsp"; } { name = "path"; } { name = "buffer"; } ];
{name = "path";}
{name = "buffer";}
];
}; };
plugins.cmp-nvim-lsp.enable = true; plugins.cmp-nvim-lsp.enable = true;
plugins.cmp-nvim-lsp-document-symbol.enable = true; plugins.cmp-nvim-lsp-document-symbol.enable = true;

View File

@@ -2,9 +2,7 @@
programs.nixvim = { programs.nixvim = {
plugins.coq-nvim = { plugins.coq-nvim = {
enable = true; enable = true;
settings = { settings = { auto_start = false; };
auto_start = false;
};
}; };
}; };
} }

View File

@@ -1,4 +1,4 @@
{ host, self, pkgs, ... }: { host, self, pkgs, env, ... }:
{ {
imports = [ imports = [

View File

@@ -3,9 +3,7 @@
enable = true; enable = true;
notification = { notification = {
overrideVimNotify = true; overrideVimNotify = true;
window = { window = { border = "rounded"; };
border = "rounded";
};
}; };
}; };
} }

View File

@@ -11,8 +11,6 @@
}; };
}) })
]; ];
plugins = { plugins = { haskell-scope-highlighting.enable = true; };
haskell-scope-highlighting.enable = true;
};
}; };
} }

View File

@@ -38,9 +38,7 @@
}) })
''; '';
}; };
window = { window = { completion.border = "rounded"; };
completion.border = "rounded";
};
}; };
}; };
lsp = { lsp = {
@@ -63,8 +61,10 @@
}; };
options = { options = {
# uses Xenon config because it has every option exposed to it # uses Xenon config because it has every option exposed to it
nixos.expr = "(builtins.getFlake \"github:pagedMov/nixos-config\").nixosConfigurations.xenon.options"; nixos.expr = ''
home.expr = "(builtins.getFlake \"github:pagedMov/nixos-config\").homeConfigurations.xenonHome.options"; (builtins.getFlake "github:pagedMov/nixos-config").nixosConfigurations.xenon.options'';
home.expr = ''
(builtins.getFlake "github:pagedMov/nixos-config").homeConfigurations.xenonHome.options'';
}; };
}; };
}; };

View File

@@ -2,7 +2,8 @@
programs.nixvim.plugins.neocord = { programs.nixvim.plugins.neocord = {
enable = true; enable = true;
settings = { settings = {
logo = "https://styles.redditmedia.com/t5_30kix/styles/communityIcon_n2hvyn96zwk81.png"; logo =
"https://styles.redditmedia.com/t5_30kix/styles/communityIcon_n2hvyn96zwk81.png";
logo_tooltip = "Neovim"; logo_tooltip = "Neovim";
buttons = [ buttons = [
{ {

View File

@@ -2,9 +2,7 @@
programs.nixvim.plugins.nvim-lightbulb = { programs.nixvim.plugins.nvim-lightbulb = {
enable = true; enable = true;
settings = { settings = {
virtual_text = { virtual_text = { enable = true; };
enable = true;
};
autocmd.enabled = true; autocmd.enabled = true;
}; };
}; };

View File

@@ -0,0 +1 @@
{ programs.nixvim.plugins.chatgpt = { enable = true; }; }

View File

@@ -2,13 +2,7 @@
programs.nixvim = { programs.nixvim = {
plugins.telescope = { plugins.telescope = {
enable = true; enable = true;
settings = { settings = { pickers = { find_files = { hidden = true; }; }; };
pickers = {
find_files = {
hidden = true;
};
};
};
}; };
}; };
} }

View File

@@ -10,9 +10,7 @@
}; };
matchParen = { matchParen = {
hiSurroundAlways = true; hiSurroundAlways = true;
offscreen = { offscreen = { method = "popup"; };
method = "popup";
};
}; };
treesitterIntegration = { treesitterIntegration = {
enable = true; enable = true;

View File

@@ -1,15 +1,14 @@
{lib, config, username, ...}: let { lib, config, username, ... }:
home = "/home/${username}"; let home = "/home/${username}";
in { in {
options = { options = {
movOpts.programConfigs.passConfig.enable = lib.mkEnableOption "enables my pass config"; movOpts.programConfigs.passConfig.enable =
lib.mkEnableOption "enables my pass config";
}; };
config = lib.mkIf config.movOpts.programConfigs.passConfig.enable { config = lib.mkIf config.movOpts.programConfigs.passConfig.enable {
programs.password-store = { programs.password-store = {
enable = true; enable = true;
settings = { settings = { PASSWORD_STORE_DIR = "${home}/.password-store"; };
PASSWORD_STORE_DIR = "${home}/.password-store";
};
}; };
}; };
} }

View File

@@ -1,6 +1,7 @@
{ lib, config, ... }: { { lib, config, ... }: {
options = { options = {
movOpts.programConfigs.yaziConfig.enable = lib.mkEnableOption "enables my yazi config"; movOpts.programConfigs.yaziConfig.enable =
lib.mkEnableOption "enables my yazi config";
}; };
config = lib.mkIf config.movOpts.programConfigs.yaziConfig.enable { config = lib.mkIf config.movOpts.programConfigs.yaziConfig.enable {
programs.yazi = { programs.yazi = {

View File

@@ -2,12 +2,7 @@
pkgs.writeShellApplication { pkgs.writeShellApplication {
name = "icanhazip"; name = "icanhazip";
runtimeInputs = with pkgs; [ runtimeInputs = with pkgs; [ iproute2 curl gawk coreutils ];
iproute2
curl
gawk
coreutils
];
text = '' text = ''
if [ $# -eq 0 ]; then if [ $# -eq 0 ]; then
echo "Public IP: $(curl -s icanhazip.com -4)" echo "Public IP: $(curl -s icanhazip.com -4)"

View File

@@ -1,6 +1,4 @@
{ { pkgs }:
pkgs
}:
pkgs.writeShellApplication { pkgs.writeShellApplication {
name = "invoke"; name = "invoke";
text = '' text = ''

View File

@@ -1,6 +1,4 @@
{ { pkgs, }:
pkgs,
}:
pkgs.writeShellApplication { pkgs.writeShellApplication {
name = "runbg"; name = "runbg";
runtimeInputs = with pkgs; [ runtimeInputs = with pkgs; [

View File

@@ -1,13 +1,7 @@
{ { pkgs }:
pkgs
}:
pkgs.writeShellApplication { pkgs.writeShellApplication {
name = "splash"; name = "splash";
runtimeInputs = with pkgs; [ runtimeInputs = with pkgs; [ lolcat toilet coreutils ];
lolcat
toilet
coreutils
];
text = '' text = ''
echo "NixOS kernel ver. $(uname -a | awk '{print $3}') x86_64 GNU/Linux" echo "NixOS kernel ver. $(uname -a | awk '{print $3}') x86_64 GNU/Linux"
date +"%A %B %-d %Y" date +"%A %B %-d %Y"

View File

@@ -1,12 +1,7 @@
{ pkgs }: { pkgs }:
pkgs.writeShellApplication { pkgs.writeShellApplication {
name = "viconf"; name = "viconf";
runtimeInputs = with pkgs; [ runtimeInputs = with pkgs; [ coreutils fd ripgrep fzf ];
coreutils
fd
ripgrep
fzf
];
text = '' text = ''
#!/usr/bin/env bash #!/usr/bin/env bash

View File

@@ -6,15 +6,9 @@ let
rev = "63dacb46bf939521bdc93981b4cbb7ecb58427a0"; rev = "63dacb46bf939521bdc93981b4cbb7ecb58427a0";
hash = "sha256-vboIEwIQojofItm2xGCdZCzW96U85l9nDW3ifMuAIdM="; hash = "sha256-vboIEwIQojofItm2xGCdZCzW96U85l9nDW3ifMuAIdM=";
}; };
in in pkgs.writeShellApplication {
pkgs.writeShellApplication {
name = "vipkg"; name = "vipkg";
runtimeInputs = with pkgs; [ runtimeInputs = with pkgs; [ coreutils fd ripgrep fzf ];
coreutils
fd
ripgrep
fzf
];
text = '' text = ''
[ ! $# -eq 1 ] && echo "Usage: vipkg <nixpkgs package name>" && exit 1 [ ! $# -eq 1 ] && echo "Usage: vipkg <nixpkgs package name>" && exit 1

View File

@@ -1,11 +1,5 @@
{ { host, lib, config, self, pkgs, ... }:
host, let
lib,
config,
self,
pkgs,
...
}: let
fetchfromgh = import ./nix/fetchfromgh.nix { inherit pkgs; }; fetchfromgh = import ./nix/fetchfromgh.nix { inherit pkgs; };
vipkg = import ./commands/vipkg.nix { inherit pkgs; }; vipkg = import ./commands/vipkg.nix { inherit pkgs; };
keyring = import ./wm-controls/keyring.nix { inherit pkgs; }; keyring = import ./wm-controls/keyring.nix { inherit pkgs; };
@@ -24,17 +18,15 @@
chscheme = import ./wm-controls/chscheme.nix { inherit pkgs; }; chscheme = import ./wm-controls/chscheme.nix { inherit pkgs; };
chpaper = import ./wm-controls/chpaper.nix { inherit pkgs; }; chpaper = import ./wm-controls/chpaper.nix { inherit pkgs; };
mkscreenshots = import ./wm-controls/mkscreenshots.nix { inherit pkgs; }; mkscreenshots = import ./wm-controls/mkscreenshots.nix { inherit pkgs; };
scriptOverride = scriptOverride = doc: group: name:
doc: lib.mkEnableOption "${doc}" // {
group: default = config.movOpts.movScripts.enable
name: && config.movOpts.movScripts.${group}.enable;
lib.mkEnableOption
"${doc}" // {
default = config.movOpts.movScripts.enable && config.movOpts.movScripts.${group}.enable;
}; };
in { in {
options = { options = {
movOpts.movScripts.enable = lib.mkEnableOption "Enables all pagedmov's scripts"; movOpts.movScripts.enable =
lib.mkEnableOption "Enables all pagedmov's scripts";
# Enable or disable by group # Enable or disable by group
movOpts.movScripts.commandScripts.enable = movOpts.movScripts.commandScripts.enable =
@@ -45,16 +37,20 @@ in {
lib.mkEnableOption "Enables all Nix shortcut scripts"; lib.mkEnableOption "Enables all Nix shortcut scripts";
# Command Scripts # Command Scripts
movOpts.movScripts.commandScripts.vipkg.enable = movOpts.movScripts.commandScripts.vipkg.enable = scriptOverride
scriptOverride "Search through the nixpkgs/pkgs directory for a package derivation. Useful for overrides." "commandScripts" "vipkg"; "Search through the nixpkgs/pkgs directory for a package derivation. Useful for overrides."
"commandScripts" "vipkg";
movOpts.movScripts.commandScripts.icanhazip.enable = movOpts.movScripts.commandScripts.icanhazip.enable =
scriptOverride "Enables the icanhazip command" "commandScripts" "icanhazip"; scriptOverride "Enables the icanhazip command" "commandScripts"
"icanhazip";
movOpts.movScripts.commandScripts.invoke.enable = movOpts.movScripts.commandScripts.invoke.enable =
scriptOverride "Enables the invoke command" "commandScripts" "invoke"; scriptOverride "Enables the invoke command" "commandScripts" "invoke";
movOpts.movScripts.commandScripts.runbg.enable = movOpts.movScripts.commandScripts.runbg.enable =
scriptOverride "Enables the runbg command - written by FrostPhoenix" "commandScripts" "runbg"; scriptOverride "Enables the runbg command - written by FrostPhoenix"
"commandScripts" "runbg";
movOpts.movScripts.commandScripts.splash.enable = movOpts.movScripts.commandScripts.splash.enable =
scriptOverride "Enables the splash screen when opening a terminal" "commandScripts" "splash"; scriptOverride "Enables the splash screen when opening a terminal"
"commandScripts" "splash";
movOpts.movScripts.commandScripts.toolbelt.enable = movOpts.movScripts.commandScripts.toolbelt.enable =
scriptOverride "Enables the toolbelt command" "commandScripts" "toolbelt"; scriptOverride "Enables the toolbelt command" "commandScripts" "toolbelt";
movOpts.movScripts.commandScripts.viconf.enable = movOpts.movScripts.commandScripts.viconf.enable =
@@ -66,52 +62,78 @@ in {
movOpts.movScripts.hyprlandControls.scheck.enable = movOpts.movScripts.hyprlandControls.scheck.enable =
scriptOverride "Enables the scheck command" "hyprlandControls" "scheck"; scriptOverride "Enables the scheck command" "hyprlandControls" "scheck";
movOpts.movScripts.hyprlandControls.chscheme.enable = movOpts.movScripts.hyprlandControls.chscheme.enable =
scriptOverride "Enables the chscheme command" "hyprlandControls" "chscheme"; scriptOverride "Enables the chscheme command" "hyprlandControls"
"chscheme";
movOpts.movScripts.hyprlandControls.keyring.enable = movOpts.movScripts.hyprlandControls.keyring.enable =
scriptOverride "Enables the keyring command" "hyprlandControls" "keyring"; scriptOverride "Enables the keyring command" "hyprlandControls" "keyring";
movOpts.movScripts.hyprlandControls.moveonscreen.enable = movOpts.movScripts.hyprlandControls.moveonscreen.enable =
scriptOverride "Ensures floating windows remain on screen" "hyprlandControls" "moveonscreen"; scriptOverride "Ensures floating windows remain on screen"
"hyprlandControls" "moveonscreen";
movOpts.movScripts.hyprlandControls.switchmon.enable = movOpts.movScripts.hyprlandControls.switchmon.enable =
scriptOverride "Moves cursor to the center of the second monitor" "hyprlandControls" "switchmon"; scriptOverride "Moves cursor to the center of the second monitor"
movOpts.movScripts.hyprlandControls.mkscreenshots.enable = "hyprlandControls" "switchmon";
scriptOverride "Generates screenshots, and updates the README.md with the current rev hash" "hyprlandControls" "switchmon"; movOpts.movScripts.hyprlandControls.mkscreenshots.enable = scriptOverride
"Generates screenshots, and updates the README.md with the current rev hash"
"hyprlandControls" "switchmon";
# Nix Shortcuts # Nix Shortcuts
movOpts.movScripts.nixShortcuts.fetchfromgh.enable = movOpts.movScripts.nixShortcuts.fetchfromgh.enable = scriptOverride
scriptOverride "Provides a full pkgs.fetchFromGitHub call from a repository url" "nixShortcuts" "fetchfromgh"; "Provides a full pkgs.fetchFromGitHub call from a repository url"
"nixShortcuts" "fetchfromgh";
movOpts.movScripts.nixShortcuts.garbage-collect.enable = movOpts.movScripts.nixShortcuts.garbage-collect.enable =
scriptOverride "Enables the garbage-collect script" "nixShortcuts" "garbage-collect"; scriptOverride "Enables the garbage-collect script" "nixShortcuts"
"garbage-collect";
movOpts.movScripts.nixShortcuts.nsp.enable = movOpts.movScripts.nixShortcuts.nsp.enable =
scriptOverride "Enables nsp as an alias for 'nix-shell -p'" "nixShortcuts" "nsp"; scriptOverride "Enables nsp as an alias for 'nix-shell -p'" "nixShortcuts"
movOpts.movScripts.nixShortcuts.rebuild.enable = "nsp";
scriptOverride "Enables rebuild as an alias for 'sudo nixos-rebuild switch'" "nixShortcuts" "rebuild"; movOpts.movScripts.nixShortcuts.rebuild.enable = scriptOverride
"Enables rebuild as an alias for 'sudo nixos-rebuild switch'"
"nixShortcuts" "rebuild";
}; };
config = lib.mkIf config.movOpts.movScripts.enable { config = lib.mkIf config.movOpts.movScripts.enable {
home.packages = home.packages =
lib.optionals config.movOpts.movScripts.commandScripts.invoke.enable [ invoke ] lib.optionals config.movOpts.movScripts.commandScripts.invoke.enable [
invoke
]
# Command Scripts Overrides # Command Scripts Overrides
++ lib.optionals config.movOpts.movScripts.commandScripts.vipkg.enable [ vipkg ] ++ lib.optionals config.movOpts.movScripts.commandScripts.vipkg.enable
++ lib.optionals config.movOpts.movScripts.commandScripts.runbg.enable [ runbg ] [ vipkg ]
++ lib.optionals config.movOpts.movScripts.commandScripts.icanhazip.enable [ icanhazip ] ++ lib.optionals config.movOpts.movScripts.commandScripts.runbg.enable
++ lib.optionals config.movOpts.movScripts.commandScripts.splash.enable [ splash ] [ runbg ]
++ lib.optionals config.movOpts.movScripts.commandScripts.toolbelt.enable [ toolbelt ] ++ lib.optionals config.movOpts.movScripts.commandScripts.icanhazip.enable
++ lib.optionals config.movOpts.movScripts.commandScripts.viconf.enable [ viconf ] [ icanhazip ]
++ lib.optionals config.movOpts.movScripts.commandScripts.splash.enable
[ splash ]
++ lib.optionals config.movOpts.movScripts.commandScripts.toolbelt.enable
[ toolbelt ]
++ lib.optionals config.movOpts.movScripts.commandScripts.viconf.enable [
viconf
]
# Hyprland Controls Overrides # Hyprland Controls Overrides
++ lib.optionals config.movOpts.movScripts.hyprlandControls.chpaper.enable [ chpaper ] ++ lib.optionals config.movOpts.movScripts.hyprlandControls.chpaper.enable
++ lib.optionals config.movOpts.movScripts.hyprlandControls.scheck.enable [ scheck ] [ chpaper ]
++ lib.optionals config.movOpts.movScripts.hyprlandControls.chscheme.enable [ chscheme ] ++ lib.optionals config.movOpts.movScripts.hyprlandControls.scheck.enable
++ lib.optionals config.movOpts.movScripts.hyprlandControls.keyring.enable [ keyring ] [ scheck ] ++ lib.optionals
++ lib.optionals config.movOpts.movScripts.hyprlandControls.moveonscreen.enable [ moveonscreen ] config.movOpts.movScripts.hyprlandControls.chscheme.enable [ chscheme ]
++ lib.optionals config.movOpts.movScripts.hyprlandControls.switchmon.enable [ switchmon ] ++ lib.optionals config.movOpts.movScripts.hyprlandControls.keyring.enable
++ lib.optionals config.movOpts.movScripts.hyprlandControls.mkscreenshots.enable [ mkscreenshots ] [ keyring ] ++ lib.optionals
config.movOpts.movScripts.hyprlandControls.moveonscreen.enable
[ moveonscreen ] ++ lib.optionals
config.movOpts.movScripts.hyprlandControls.switchmon.enable [ switchmon ]
++ lib.optionals
config.movOpts.movScripts.hyprlandControls.mkscreenshots.enable [
mkscreenshots
]
# Nix Shortcuts Overrides # Nix Shortcuts Overrides
++ lib.optionals config.movOpts.movScripts.nixShortcuts.fetchfromgh.enable [ fetchfromgh ] ++ lib.optionals config.movOpts.movScripts.nixShortcuts.fetchfromgh.enable
++ lib.optionals config.movOpts.movScripts.nixShortcuts.garbage-collect.enable [ garbage-collect ] [ fetchfromgh ] ++ lib.optionals
config.movOpts.movScripts.nixShortcuts.garbage-collect.enable
[ garbage-collect ]
++ lib.optionals config.movOpts.movScripts.nixShortcuts.nsp.enable [ nsp ] ++ lib.optionals config.movOpts.movScripts.nixShortcuts.nsp.enable [ nsp ]
++ lib.optionals config.movOpts.movScripts.nixShortcuts.rebuild.enable [ rebuild ]; ++ lib.optionals config.movOpts.movScripts.nixShortcuts.rebuild.enable
[ rebuild ];
}; };
} }

View File

@@ -2,9 +2,7 @@
pkgs.writeShellApplication { pkgs.writeShellApplication {
name = "fetchfromgh"; name = "fetchfromgh";
runtimeInputs = [ runtimeInputs = [ pkgs.nix-prefetch-scripts ];
pkgs.nix-prefetch-scripts
];
text = '' text = ''
if [ $# -ne 1 ] || ! echo "$1" | grep -qE "[A-Za-z0-9_-]+/[A-Za-z0-9_-]+"; then if [ $# -ne 1 ] || ! echo "$1" | grep -qE "[A-Za-z0-9_-]+/[A-Za-z0-9_-]+"; then
echo "Usage: fetchfromgh someuser/somerepo" echo "Usage: fetchfromgh someuser/somerepo"

View File

@@ -1,6 +1,4 @@
{ { pkgs }:
pkgs
}:
pkgs.writeShellApplication { pkgs.writeShellApplication {
name = "garbage-collect"; name = "garbage-collect";
runtimeInputs = with pkgs; [ runtimeInputs = with pkgs; [

View File

@@ -1,6 +1,4 @@
{ { pkgs }:
pkgs
}:
pkgs.writeShellApplication { pkgs.writeShellApplication {
name = "nsp"; name = "nsp";
text = '' text = ''

View File

@@ -1,8 +1,4 @@
{ { host, self, pkgs, }:
host,
self,
pkgs,
}:
pkgs.writeShellApplication { pkgs.writeShellApplication {
name = "rebuild"; name = "rebuild";
text = '' text = ''

View File

@@ -1,13 +1,7 @@
{ pkgs }: { pkgs }:
pkgs.writeShellApplication { pkgs.writeShellApplication {
name = "chpaper"; name = "chpaper";
runtimeInputs = with pkgs; [ runtimeInputs = with pkgs; [ chafa fzf ripgrep findutils coreutils ];
chafa
fzf
ripgrep
findutils
coreutils
];
text = '' text = ''
paper="$\{self}/assets/wallpapers/$(find "$FLAKEPATH"/assets/wallpapers -exec basename {} \; | rg "\.\w+$" | fzf --preview "chafa -s 30x40 $FLAKEPATH/assets/wallpapers/{}")" paper="$\{self}/assets/wallpapers/$(find "$FLAKEPATH"/assets/wallpapers -exec basename {} \; | rg "\.\w+$" | fzf --preview "chafa -s 30x40 $FLAKEPATH/assets/wallpapers/{}")"
[ "$paper" = "$\{self}/assets/wallpapers/" ] && echo "Cancelling wallpaper change" && exit 1 [ "$paper" = "$\{self}/assets/wallpapers/" ] && echo "Cancelling wallpaper change" && exit 1

View File

@@ -1,10 +1,7 @@
{ pkgs }: { pkgs }:
pkgs.writeShellApplication { pkgs.writeShellApplication {
name = "chscheme"; name = "chscheme";
runtimeInputs = with pkgs; [ runtimeInputs = with pkgs; [ fzf coreutils ];
fzf
coreutils
];
text = '' text = ''
selected_scheme=$(/usr/bin/env ls "$(nix-build '<nixpkgs>' -A base16-schemes)"/share/themes | \ selected_scheme=$(/usr/bin/env ls "$(nix-build '<nixpkgs>' -A base16-schemes)"/share/themes | \
sed 's/\.yaml//g' | \ sed 's/\.yaml//g' | \

View File

@@ -1,6 +1,4 @@
{ { pkgs }:
pkgs
}:
pkgs.writeShellApplication { pkgs.writeShellApplication {
name = "keyring"; name = "keyring";
runtimeInputs = with pkgs; [ runtimeInputs = with pkgs; [

View File

@@ -2,15 +2,7 @@
pkgs.writeShellApplication { pkgs.writeShellApplication {
name = "mkscreenshots"; name = "mkscreenshots";
runtimeInputs = with pkgs; [ runtimeInputs = with pkgs; [ jq neofetch kitty coreutils nemo grimblast git ];
jq
neofetch
kitty
coreutils
nemo
grimblast
git
];
text = '' text = ''
if [ -n "$(hyprctl clients -j | jq -r '.[] | select(.workspace.name == "4")')" ]; then if [ -n "$(hyprctl clients -j | jq -r '.[] | select(.workspace.name == "4")')" ]; then
echo "There are windows in workspace 4. This script uses workspace 4, so move those windows and run it again." echo "There are windows in workspace 4. This script uses workspace 4, so move those windows and run it again."

View File

@@ -1,12 +1,7 @@
{ pkgs }: { pkgs }:
pkgs.writeShellApplication { pkgs.writeShellApplication {
name = "moveonscreen"; name = "moveonscreen";
runtimeInputs = with pkgs; [ runtimeInputs = with pkgs; [ hyprland jq coreutils gawk ];
hyprland
jq
coreutils
gawk
];
text = '' text = ''
center_window=false center_window=false
if [[ ! $# -eq 0 ]] && [[ $1 == "--center" ]]; then if [[ ! $# -eq 0 ]] && [[ $1 == "--center" ]]; then

View File

@@ -1,6 +1,4 @@
{ { pkgs, }:
pkgs,
}:
pkgs.writeShellApplication { pkgs.writeShellApplication {
name = "scheck"; name = "scheck";
text = '' text = ''

View File

@@ -1,6 +1,4 @@
{ { pkgs, }:
pkgs,
}:
pkgs.writeShellApplication { pkgs.writeShellApplication {
name = "switchmon"; name = "switchmon";
text = '' text = ''

View File

@@ -1,13 +1,4 @@
{ { inputs, nixpkgs, config, self, username, host, lib, ... }: {
inputs,
nixpkgs,
config,
self,
username,
host,
lib,
...
}: {
imports = [ imports = [
./environment/starship.nix ./environment/starship.nix
./environment/userpkgs.nix ./environment/userpkgs.nix

View File

@@ -2,7 +2,8 @@
{ {
options = { options = {
movOpts.jellyfinConfig.enable = lib.mkEnableOption "Enables the server's jellyfin config"; movOpts.jellyfinConfig.enable =
lib.mkEnableOption "Enables the server's jellyfin config";
}; };
config = lib.mkIf config.movOpts.jellyfinConfig.enable { config = lib.mkIf config.movOpts.jellyfinConfig.enable {
services.jellyfin = { services.jellyfin = {

View File

@@ -1,10 +1,7 @@
{ pkgs, lib, ... }: { pkgs, lib, ... }:
{ {
imports = [ imports = [ ./cdn ./glasshaus ];
./cdn
./glasshaus
];
movOpts = { movOpts = {
jellyfinConfig.enable = lib.mkDefault false; jellyfinConfig.enable = lib.mkDefault false;
caddyConfig.enable = lib.mkDefault false; caddyConfig.enable = lib.mkDefault false;

View File

@@ -2,7 +2,8 @@
{ {
options = { options = {
movOpts.caddyConfig.enable = lib.mkEnableOption "Enable my caddy config for the glasshaus.info domain name"; movOpts.caddyConfig.enable = lib.mkEnableOption
"Enable my caddy config for the glasshaus.info domain name";
}; };
config = lib.mkIf config.movOpts.caddyConfig.enable { config = lib.mkIf config.movOpts.caddyConfig.enable {
services.caddy = { services.caddy = {

View File

@@ -1,16 +1,3 @@
{ { inputs, nixpkgs, config, self, username, host, lib, ... }: {
inputs, imports = [ ./hardware ./software ./environment ];
nixpkgs,
config,
self,
username,
host,
lib,
...
}: {
imports = [
./hardware
./software
./environment
];
} }

View File

@@ -1,16 +1,4 @@
{ { inputs, nixpkgs, nixvim, config, self, username, host, ... }: {
inputs, imports = [ (import ./sddm.nix) ] ++ [ (import ./issue.nix) ]
nixpkgs, ++ [ (import ./nix.nix) ] ++ [ (import ./stylix.nix) ];
nixvim,
config,
self,
username,
host,
...
}: {
imports =
[(import ./sddm.nix)]
++ [(import ./issue.nix)]
++ [(import ./nix.nix)]
++ [(import ./stylix.nix)];
} }

View File

@@ -1,6 +1,7 @@
{ lib, config, ... }: { { lib, config, ... }: {
options = { options = {
movOpts.sysEnv.issue.enable = lib.mkEnableOption "enables custom /etc/issue splash screen for the tty"; movOpts.sysEnv.issue.enable =
lib.mkEnableOption "enables custom /etc/issue splash screen for the tty";
}; };
config = lib.mkIf config.movOpts.sysEnv.issue.enable { config = lib.mkIf config.movOpts.sysEnv.issue.enable {
environment.etc."issue".text = '' environment.etc."issue".text = ''

View File

@@ -1,6 +1,7 @@
{ lib, config, ... }: { { lib, config, ... }: {
options = { options = {
movOpts.sysEnv.nixSettings.enable = lib.mkEnableOption "enables my nixos settings"; movOpts.sysEnv.nixSettings.enable =
lib.mkEnableOption "enables my nixos settings";
}; };
config = lib.mkIf config.movOpts.sysEnv.nixSettings.enable { config = lib.mkIf config.movOpts.sysEnv.nixSettings.enable {
system.stateVersion = "24.05"; system.stateVersion = "24.05";

View File

@@ -1,24 +1,17 @@
{ { pkgs, self, lib, config, ... }: {
pkgs,
self,
lib,
config,
...
}: {
options = { options = {
movOpts.sysEnv.sddmConfig.enable = lib.mkEnableOption "enables custom sddm configuration"; movOpts.sysEnv.sddmConfig.enable =
lib.mkEnableOption "enables custom sddm configuration";
}; };
config = lib.mkIf config.movOpts.sysEnv.sddmConfig.enable { config = lib.mkIf config.movOpts.sysEnv.sddmConfig.enable {
environment.systemPackages = [ environment.systemPackages = [
( (pkgs.catppuccin-sddm.override {
pkgs.catppuccin-sddm.override {
flavor = "mocha"; flavor = "mocha";
font = "JetBrains Mono Nerd Font"; font = "JetBrains Mono Nerd Font";
fontSize = "14"; fontSize = "14";
loginBackground = true; loginBackground = true;
background = "${self}/assets/wallpapers/dark-waves.jpg"; background = "${self}/assets/wallpapers/dark-waves.jpg";
} })
)
]; ];
services.displayManager.sddm = { services.displayManager.sddm = {
enable = true; enable = true;

View File

@@ -1,18 +1,12 @@
{ { pkgs, self, lib, config, ... }:
pkgs,
self,
lib,
config,
...
}:
let let
scheme = "tokyo-night-dark"; scheme = "tokyo-night-dark";
wallpaper = "${self}/assets/wallpapers/dark-waves.jpg"; wallpaper = "${self}/assets/wallpapers/dark-waves.jpg";
in in {
{
options = { options = {
movOpts.sysEnv.stylixConfig.enable = lib.mkEnableOption "enables custom stylix options"; movOpts.sysEnv.stylixConfig.enable =
lib.mkEnableOption "enables custom stylix options";
}; };
config = lib.mkIf config.movOpts.sysEnv.stylixConfig.enable { config = lib.mkIf config.movOpts.sysEnv.stylixConfig.enable {
stylix = { stylix = {
@@ -25,7 +19,7 @@ in
}; };
polarity = "dark"; polarity = "dark";
autoEnable = true; autoEnable = true;
opacity.terminal = 0.50; opacity.terminal = 0.5;
targets = { targets = {
console.enable = true; console.enable = true;
feh.enable = true; feh.enable = true;

View File

@@ -1,6 +1,7 @@
{ pkgs, lib, config, ... }: { { pkgs, lib, config, ... }: {
options = { options = {
movOpts.hardwareCfg.bootLoader.enable = lib.mkEnableOption "enables bootloader config"; movOpts.hardwareCfg.bootLoader.enable =
lib.mkEnableOption "enables bootloader config";
}; };
config = lib.mkIf config.movOpts.hardwareCfg.bootLoader.enable { config = lib.mkIf config.movOpts.hardwareCfg.bootLoader.enable {
boot = { boot = {

View File

@@ -1,15 +1,4 @@
{ { inputs, nixpkgs, nixvim, config, self, username, host, ... }: {
inputs, imports = [ (import ./bootloader.nix) ] ++ [ (import ./network.nix) ]
nixpkgs,
nixvim,
config,
self,
username,
host,
...
}: {
imports =
[(import ./bootloader.nix)]
++ [(import ./network.nix)]
++ [ (import ./powerprofiles.nix) ]; ++ [ (import ./powerprofiles.nix) ];
} }

View File

@@ -1,7 +1,7 @@
{host, lib, config, ...}: { host, lib, config, ... }: {
{
options = { options = {
movOpts.hardwareCfg.networkModule.enable = lib.mkEnableOption "enables network configuration"; movOpts.hardwareCfg.networkModule.enable =
lib.mkEnableOption "enables network configuration";
}; };
config = lib.mkIf config.movOpts.hardwareCfg.networkModule.enable { config = lib.mkIf config.movOpts.hardwareCfg.networkModule.enable {
networking = { networking = {

View File

@@ -1,6 +1,7 @@
{ lib, config, ... }: { { lib, config, ... }: {
options = { options = {
movOpts.hardwareCfg.powerProfiles.enable = lib.mkEnableOption "enables power profiles"; movOpts.hardwareCfg.powerProfiles.enable =
lib.mkEnableOption "enables power profiles";
}; };
config = lib.mkIf config.movOpts.hardwareCfg.powerProfiles.enable { config = lib.mkIf config.movOpts.hardwareCfg.powerProfiles.enable {
services = { services = {

View File

@@ -1,16 +1,5 @@
{ { inputs, nixpkgs, config, self, username, host, ... }: {
inputs, imports = [ (import ./packages.nix) ] ++ [ (import ./programs.nix) ]
nixpkgs, ++ [ (import ./services.nix) ] ++ [ (import ./virtualization.nix) ]
config,
self,
username,
host,
...
}: {
imports =
[(import ./packages.nix)]
++ [(import ./programs.nix)]
++ [(import ./services.nix)]
++ [(import ./virtualization.nix)]
++ [ (import ./gaming) ]; ++ [ (import ./gaming) ];
} }

View File

@@ -1,5 +1,3 @@
{ ... }: { { ... }: {
imports = imports = [ (import ./steam.nix) ] ++ [ (import ./gaming_pkgs.nix) ];
[(import ./steam.nix)]
++ [(import ./gaming_pkgs.nix)];
} }

View File

@@ -9,15 +9,12 @@ let
"-DDOWNLOAD_TITLE_SEQUENCES=ON" "-DDOWNLOAD_TITLE_SEQUENCES=ON"
]; ];
}); });
in in {
{
options = { options = {
movOpts.softwareCfg.gamingPkgs.enable = lib.mkEnableOption "enables gaming packages"; movOpts.softwareCfg.gamingPkgs.enable =
lib.mkEnableOption "enables gaming packages";
}; };
config = lib.mkIf config.movOpts.softwareCfg.gamingPkgs.enable { config = lib.mkIf config.movOpts.softwareCfg.gamingPkgs.enable {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [ snes9x-gtk cust-openrct2 ];
snes9x-gtk
cust-openrct2
];
}; };
} }

View File

@@ -1,6 +1,7 @@
{ lib, config, ... }: { { lib, config, ... }: {
options = { options = {
movOpts.softwareCfg.steamConfig.enable = lib.mkEnableOption "enables steam configuration"; movOpts.softwareCfg.steamConfig.enable =
lib.mkEnableOption "enables steam configuration";
}; };
config = lib.mkIf config.movOpts.softwareCfg.steamConfig.enable { config = lib.mkIf config.movOpts.softwareCfg.steamConfig.enable {
programs.steam = { programs.steam = {

View File

@@ -1,6 +1,7 @@
{ lib, config, pkgs, inputs, ... }: { { lib, config, pkgs, inputs, ... }: {
options = { options = {
movOpts.softwareCfg.sysPkgs.enable = lib.mkEnableOption "enables default system packages"; movOpts.softwareCfg.sysPkgs.enable =
lib.mkEnableOption "enables default system packages";
}; };
config = lib.mkIf config.movOpts.softwareCfg.sysPkgs.enable { config = lib.mkIf config.movOpts.softwareCfg.sysPkgs.enable {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [

View File

@@ -1,6 +1,7 @@
{ lib, config, pkgs, ... }: { { lib, config, pkgs, ... }: {
options = { options = {
movOpts.softwareCfg.sysProgs.enable = lib.mkEnableOption "enables default system programs"; movOpts.softwareCfg.sysProgs.enable =
lib.mkEnableOption "enables default system programs";
}; };
config = lib.mkIf config.movOpts.softwareCfg.sysProgs.enable { config = lib.mkIf config.movOpts.softwareCfg.sysProgs.enable {
programs = { programs = {
@@ -8,10 +9,7 @@
zsh.enable = lib.mkDefault true; zsh.enable = lib.mkDefault true;
nix-ld = { nix-ld = {
enable = lib.mkDefault true; enable = lib.mkDefault true;
libraries = with pkgs; [ libraries = with pkgs; [ stdenv.cc.cc ffmpeg-full ];
stdenv.cc.cc
ffmpeg-full
];
}; };
gnupg.agent = { gnupg.agent = {
enable = lib.mkDefault true; enable = lib.mkDefault true;

View File

@@ -1,6 +1,7 @@
{ lib, config, ... }: { { lib, config, ... }: {
options = { options = {
movOpts.softwareCfg.sysServices.enable = lib.mkEnableOption "enables default system services"; movOpts.softwareCfg.sysServices.enable =
lib.mkEnableOption "enables default system services";
}; };
config = lib.mkIf config.movOpts.softwareCfg.sysServices.enable { config = lib.mkIf config.movOpts.softwareCfg.sysServices.enable {
services = { services = {
@@ -8,9 +9,7 @@
enable = true; enable = true;
keyboards.default = { keyboards.default = {
ids = [ "*" ]; ids = [ "*" ];
settings.main = { settings.main = { capslock = "esc"; };
capslock = "esc";
};
}; };
}; };
pipewire = { pipewire = {

View File

@@ -1,6 +1,7 @@
{ lib, config, username, ... }: { { lib, config, username, ... }: {
options = { options = {
movOpts.softwareCfg.virtConfig.enable = lib.mkEnableOption "enables virtualization"; movOpts.softwareCfg.virtConfig.enable =
lib.mkEnableOption "enables virtualization";
}; };
config = lib.mkIf config.movOpts.softwareCfg.virtConfig.enable { config = lib.mkIf config.movOpts.softwareCfg.virtConfig.enable {
virtualisation.libvirtd.enable = true; virtualisation.libvirtd.enable = true;