nix formatted with Alejandra

On branch main
 Your branch is up to date with 'origin/main'.

 Changes to be committed:
	modified:   flake.nix
	modified:   hosts/default/config.nix
	modified:   hosts/default/hardware.nix
	modified:   hosts/default/packages-fonts.nix
	modified:   hosts/default/users.nix
	modified:   hosts/default/variables.nix
	modified:   hosts/jak-hl/config.nix
	modified:   hosts/jak-hl/hardware.nix
	modified:   hosts/jak-hl/packages-fonts.nix
	modified:   hosts/jak-hl/users.nix
	modified:   hosts/jak-hl/variables.nix
	modified:   hosts/macbook/config.nix
	modified:   hosts/macbook/hardware.nix
	modified:   hosts/macbook/packages-fonts.nix
	modified:   hosts/macbook/users.nix
	modified:   hosts/macbook/variables.nix
	modified:   hosts/nixos-test/config.nix
	modified:   hosts/nixos-test/hardware.nix
	modified:   hosts/nixos-test/packages-fonts.nix
	modified:   hosts/nixos-test/users.nix
	modified:   hosts/nixos-test/variables.nix
	modified:   hosts/nixos/config.nix
	modified:   hosts/nixos/hardware.nix
	modified:   hosts/nixos/packages-fonts.nix
	modified:   hosts/nixos/users.nix
	modified:   hosts/nixos/variables.nix
	modified:   modules/amd-drivers.nix
	modified:   modules/fonts.nix
	modified:   modules/home/cli/bat.nix
	modified:   modules/home/cli/bottom.nix
	modified:   modules/home/cli/btop.nix
	modified:   modules/home/cli/eza.nix
	modified:   modules/home/cli/fzf.nix
	modified:   modules/home/cli/git.nix
	modified:   modules/home/cli/htop.nix
	modified:   modules/home/cli/tealdeer.nix
	modified:   modules/home/default.nix
	modified:   modules/home/editors/nixvim.nix
	modified:   modules/home/overview.nix
	modified:   modules/home/terminals/ghostty.nix
	modified:   modules/home/terminals/tmux.nix
	modified:   modules/intel-drivers.nix
	modified:   modules/local-hardware-clock.nix
	modified:   modules/ly.nix
	modified:   modules/nh.nix
	modified:   modules/nvidia-drivers.nix
	modified:   modules/nvidia-prime-drivers.nix
	modified:   modules/overlays.nix
	modified:   modules/packages.nix
	modified:   modules/portals.nix
	modified:   modules/quickshell.nix
	modified:   modules/theme.nix
	modified:   modules/vm-guest-services.nix
This commit is contained in:
Don Williams
2025-12-14 07:26:20 -05:00
parent 699c919f0b
commit 50bdcdc165
53 changed files with 688 additions and 741 deletions

132
flake.nix
View File

@@ -26,77 +26,73 @@
url = "git+https://git.outfoxxed.me/outfoxxed/quickshell";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = inputs @ {
self,
nixpkgs,
ags,
alejandra,
...
}: let
system = "x86_64-linux";
host = "jak-hl";
username = "dwilliams";
outputs =
inputs@{ self
, nixpkgs
, ags
, alejandra
, ...
}:
let
system = "x86_64-linux";
host = "jak-hl";
username = "dwilliams";
pkgs = import nixpkgs {
inherit system;
config = {
allowUnfree = true;
};
pkgs = import nixpkgs {
inherit system;
config = {
allowUnfree = true;
};
in
{
nixosConfigurations = {
"${host}" = nixpkgs.lib.nixosSystem rec {
specialArgs = {
inherit system;
inherit inputs;
inherit username;
inherit host;
};
modules = [
./hosts/${host}/config.nix
# inputs.distro-grub-themes.nixosModules.${system}.default
./modules/overlays.nix # nixpkgs overlays (CMake policy fixes)
./modules/quickshell.nix # quickshell module
./modules/packages.nix # Software packages
# Allow broken packages (temporary fix for broken CUDA in nixos-unstable)
{ nixpkgs.config.allowBroken = true; }
./modules/fonts.nix # Fonts packages
./modules/portals.nix # portal
./modules/theme.nix # Set dark theme
./modules/ly.nix # ly greater with matrix animation
./modules/nh.nix # nix helper
inputs.catppuccin.nixosModules.catppuccin
# Integrate Home Manager as a NixOS module
inputs.home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.backupFileExtension = "hm-bak";
# Ensure HM modules can access flake inputs (e.g., inputs.nixvim)
home-manager.extraSpecialArgs = { inherit inputs system username host; };
home-manager.users.${username} = {
home.username = username;
home.homeDirectory = "/home/${username}";
home.stateVersion = "24.05";
# Import your copied HM modules
imports = [
./modules/home/default.nix
];
};
}
];
};
};
# Code formatter
formatter.x86_64-linux = alejandra.defaultPackage.x86_64-linux;
};
in {
nixosConfigurations = {
"${host}" = nixpkgs.lib.nixosSystem rec {
specialArgs = {
inherit system;
inherit inputs;
inherit username;
inherit host;
};
modules = [
./hosts/${host}/config.nix
# inputs.distro-grub-themes.nixosModules.${system}.default
./modules/overlays.nix # nixpkgs overlays (CMake policy fixes)
./modules/quickshell.nix # quickshell module
./modules/packages.nix # Software packages
# Allow broken packages (temporary fix for broken CUDA in nixos-unstable)
{nixpkgs.config.allowBroken = true;}
./modules/fonts.nix # Fonts packages
./modules/portals.nix # portal
./modules/theme.nix # Set dark theme
./modules/ly.nix # ly greater with matrix animation
./modules/nh.nix # nix helper
inputs.catppuccin.nixosModules.catppuccin
# Integrate Home Manager as a NixOS module
inputs.home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.backupFileExtension = "hm-bak";
# Ensure HM modules can access flake inputs (e.g., inputs.nixvim)
home-manager.extraSpecialArgs = {inherit inputs system username host;};
home-manager.users.${username} = {
home.username = username;
home.homeDirectory = "/home/${username}";
home.stateVersion = "24.05";
# Import your copied HM modules
imports = [
./modules/home/default.nix
];
};
}
];
};
};
# Code formatter
formatter.x86_64-linux = alejandra.defaultPackage.x86_64-linux;
};
}

View File

@@ -1,19 +1,14 @@
# 💫 https://github.com/JaKooLit 💫 #
# Main default config
{
pkgs,
host,
username,
options,
...
}:
let
}: let
inherit (import ./variables.nix) keyboardLayout;
in
{
in {
imports = [
./hardware.nix
./users.nix
@@ -52,7 +47,7 @@ in
"usbhid"
"sd_mod"
];
kernelModules = [ ];
kernelModules = [];
};
# Needed For Some Steam Games
@@ -129,7 +124,7 @@ in
networking = {
networkmanager.enable = true;
hostName = "${host}";
timeServers = options.networking.timeServers.default ++ [ "pool.ntp.org" ];
timeServers = options.networking.timeServers.default ++ ["pool.ntp.org"];
};
# Set your time zone.
@@ -228,11 +223,10 @@ in
# dataDir = "/home/${username}";
# configDir = "/home/${username}/.config/syncthing";
#};
};
systemd.services.flatpak-repo = {
path = [ pkgs.flatpak ];
path = [pkgs.flatpak];
script = ''
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
'';
@@ -315,8 +309,8 @@ in
"nix-command"
"flakes"
];
substituters = [ "https://hyprland.cachix.org" ];
trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ];
substituters = ["https://hyprland.cachix.org"];
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
};
gc = {
automatic = true;

View File

@@ -1,43 +1,47 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/profiles/qemu-guest.nix")
];
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/profiles/qemu-guest.nix")
];
boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = ["ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/7acb21f5-c4a7-462a-91db-e1a3611f8525";
fsType = "ext4";
};
fileSystems."/" = {
device = "/dev/disk/by-uuid/7acb21f5-c4a7-462a-91db-e1a3611f8525";
fsType = "ext4";
};
fileSystems."/bin" =
{ device = "/usr/bin";
fsType = "none";
options = [ "bind" ];
};
fileSystems."/bin" = {
device = "/usr/bin";
fsType = "none";
options = ["bind"];
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/84B3-1BC0";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/84B3-1BC0";
fsType = "vfat";
options = ["fmask=0077" "dmask=0077"];
};
fileSystems."/mnt/nas" =
{ device = "192.168.40.11:/volume1/DiskStation54TB";
fsType = "nfs";
};
fileSystems."/mnt/nas" = {
device = "192.168.40.11:/volume1/DiskStation54TB";
fsType = "nfs";
};
swapDevices =
[ { device = "/dev/disk/by-uuid/5c3ee7b1-89ff-4a74-b39f-fac8f15eef99"; }
];
swapDevices = [
{device = "/dev/disk/by-uuid/5c3ee7b1-89ff-4a74-b39f-fac8f15eef99";}
];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
}

View File

@@ -1,19 +1,14 @@
# 💫 https://github.com/JaKooLit 💫 #
# Packages for this host only
{ pkgs, ... }:
let
{pkgs, ...}: let
python-packages = pkgs.python3.withPackages (
ps: with ps; [
requests
pyquery # needed for hyprland-dots Weather script
]
ps:
with ps; [
requests
pyquery # needed for hyprland-dots Weather script
]
);
in
{
in {
nixpkgs.config.allowUnfree = true;
environment.systemPackages =
@@ -26,14 +21,11 @@ in
];
programs = {
steam = {
enable = false;
gamescopeSession.enable = false;
remotePlay.openFirewall = false;
dedicatedServer.openFirewall = false;
};
};
}

View File

@@ -1,13 +1,13 @@
# 💫 https://github.com/JaKooLit 💫 #
# Users - NOTE: Packages defined on this will be on current user only
{ pkgs, username, ... }:
let
inherit (import ./variables.nix) gitUsername;
in
{
users = {
pkgs,
username,
...
}: let
inherit (import ./variables.nix) gitUsername;
in {
users = {
mutableUsers = true;
users."${username}" = {
homeMode = "755";
@@ -19,27 +19,27 @@ in
"libvirtd"
"scanner"
"lp"
"video"
"input"
"video"
"input"
"audio"
];
# define user packages here
packages = with pkgs; [
# define user packages here
packages = with pkgs; [
];
};
defaultUserShell = pkgs.zsh;
};
environment.shells = with pkgs; [ zsh ];
environment.systemPackages = with pkgs; [ lsd fzf git ];
programs = {
};
environment.shells = with pkgs; [zsh];
environment.systemPackages = with pkgs; [lsd fzf git];
programs = {
zsh = {
ohMyZsh = {
enable = true;
theme = "agnoster";
plugins = [ "git" ];
plugins = ["git"];
};
# Enable zsh plugins via NixOS module options
autosuggestions.enable = true;

View File

@@ -1,6 +1,5 @@
# 💫 https://github.com/JaKooLit 💫 #
# Variables
{
# Git Configuration ( For Pulling Software Repos )
gitUsername = "JaKooLit";

View File

@@ -1,18 +1,14 @@
# 💫 https://github.com/JaKooLit 💫 #
# Main default config
{ pkgs
, host
, username
, options
, ...
}:
let
inherit (import ./variables.nix) keyboardLayout;
in
{
pkgs,
host,
username,
options,
...
}: let
inherit (import ./variables.nix) keyboardLayout;
in {
imports = [
./hardware.nix
./users.nix
@@ -51,7 +47,7 @@ in
"usbhid"
"sd_mod"
];
kernelModules = [ ];
kernelModules = [];
};
loader.systemd-boot.enable = true;
@@ -108,7 +104,7 @@ in
networking = {
networkmanager.enable = true;
hostName = "${host}";
timeServers = options.networking.timeServers.default ++ [ "pool.ntp.org" ];
timeServers = options.networking.timeServers.default ++ ["pool.ntp.org"];
};
# Set your time zone.
@@ -198,11 +194,10 @@ in
#};
#ipp-usb.enable = true;
};
systemd.services.flatpak-repo = {
path = [ pkgs.flatpak ];
path = [pkgs.flatpak];
script = ''
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
'';
@@ -285,8 +280,8 @@ in
"nix-command"
"flakes"
];
substituters = [ "https://hyprland.cachix.org" ];
trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ];
substituters = ["https://hyprland.cachix.org"];
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
};
gc = {
automatic = true;

View File

@@ -1,49 +1,45 @@
{ lib, modulesPath, ... }:
{
imports =
[
(modulesPath + "/profiles/qemu-guest.nix")
];
lib,
modulesPath,
...
}: {
imports = [
(modulesPath + "/profiles/qemu-guest.nix")
];
boot = {
initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ];
initrd.kernelModules = [ ];
kernelModules = [ "kvm-intel" ];
extraModulePackages = [ ];
initrd.availableKernelModules = ["ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod"];
initrd.kernelModules = [];
kernelModules = ["kvm-intel"];
extraModulePackages = [];
};
fileSystems = {
"/" =
{
device = "/dev/disk/by-uuid/7acb21f5-c4a7-462a-91db-e1a3611f8525";
fsType = "ext4";
};
"/" = {
device = "/dev/disk/by-uuid/7acb21f5-c4a7-462a-91db-e1a3611f8525";
fsType = "ext4";
};
"/bin" =
{
device = "/usr/bin";
fsType = "none";
options = [ "bind" ];
};
"/bin" = {
device = "/usr/bin";
fsType = "none";
options = ["bind"];
};
"/boot" =
{
device = "/dev/disk/by-uuid/84B3-1BC0";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
"/boot" = {
device = "/dev/disk/by-uuid/84B3-1BC0";
fsType = "vfat";
options = ["fmask=0077" "dmask=0077"];
};
"/mnt/nas" =
{
device = "192.168.40.11:/volume1/DiskStation54TB";
fsType = "nfs";
options = [ "rw" "bg" "soft" "tcp" "_netdev" ];
};
"/mnt/nas" = {
device = "192.168.40.11:/volume1/DiskStation54TB";
fsType = "nfs";
options = ["rw" "bg" "soft" "tcp" "_netdev"];
};
};
swapDevices =
[{ device = "/dev/disk/by-uuid/5c3ee7b1-89ff-4a74-b39f-fac8f15eef99"; }];
swapDevices = [{device = "/dev/disk/by-uuid/5c3ee7b1-89ff-4a74-b39f-fac8f15eef99";}];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
}

View File

@@ -1,18 +1,14 @@
# 💫 https://github.com/JaKooLit 💫 #
# Packages for this host only
{ pkgs, ... }:
let
{pkgs, ...}: let
python-packages = pkgs.python3.withPackages (
ps: with ps; [
requests
pyquery # needed for hyprland-dots Weather script
]
ps:
with ps; [
requests
pyquery # needed for hyprland-dots Weather script
]
);
in
{
in {
nixpkgs.config.allowUnfree = true;
environment.systemPackages =
@@ -25,14 +21,11 @@ in
];
programs = {
steam = {
enable = false;
gamescopeSession.enable = false;
remotePlay.openFirewall = false;
dedicatedServer.openFirewall = false;
};
};
}

View File

@@ -1,13 +1,13 @@
# 💫 https://github.com/JaKooLit 💫 #
# Users - NOTE: Packages defined on this will be on current user only
{ pkgs, username, ... }:
let
inherit (import ./variables.nix) gitUsername;
in
{
users = {
pkgs,
username,
...
}: let
inherit (import ./variables.nix) gitUsername;
in {
users = {
mutableUsers = true;
users."${username}" = {
homeMode = "755";
@@ -19,27 +19,27 @@ in
"libvirtd"
"scanner"
"lp"
"video"
"input"
"video"
"input"
"audio"
];
# define user packages here
packages = with pkgs; [
# define user packages here
packages = with pkgs; [
];
};
defaultUserShell = pkgs.zsh;
};
environment.shells = with pkgs; [ zsh ];
environment.systemPackages = with pkgs; [ lsd fzf git ];
programs = {
};
environment.shells = with pkgs; [zsh];
environment.systemPackages = with pkgs; [lsd fzf git];
programs = {
zsh = {
ohMyZsh = {
enable = true;
theme = "agnoster";
plugins = [ "git" ];
plugins = ["git"];
};
autosuggestions.enable = true;
syntaxHighlighting.enable = true;

View File

@@ -1,6 +1,5 @@
# 💫 https://github.com/JaKooLit 💫 #
# Variables
{
# Git Configuration ( For Pulling Software Repos )
gitUsername = "JaKooLit";

View File

@@ -1,19 +1,14 @@
# 💫 https://github.com/JaKooLit 💫 #
# Main default config
{
pkgs,
host,
username,
options,
...
}:
let
}: let
inherit (import ./variables.nix) keyboardLayout;
in
{
in {
imports = [
./hardware.nix
./users.nix
@@ -52,7 +47,7 @@ in
"usbhid"
"sd_mod"
];
kernelModules = [ ];
kernelModules = [];
};
# Needed For Some Steam Games
@@ -129,7 +124,7 @@ in
networking = {
networkmanager.enable = true;
hostName = "${host}";
timeServers = options.networking.timeServers.default ++ [ "pool.ntp.org" ];
timeServers = options.networking.timeServers.default ++ ["pool.ntp.org"];
};
# Set your time zone.
@@ -228,13 +223,12 @@ in
# dataDir = "/home/${username}";
# configDir = "/home/${username}/.config/syncthing";
#};
};
security.sudo.wheelNeedsPassword = false;
security.sudo.wheelNeedsPassword = false;
systemd.services.flatpak-repo = {
path = [ pkgs.flatpak ];
path = [pkgs.flatpak];
script = ''
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
'';
@@ -317,8 +311,8 @@ in
"nix-command"
"flakes"
];
substituters = [ "https://hyprland.cachix.org" ];
trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ];
substituters = ["https://hyprland.cachix.org"];
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
};
gc = {
automatic = true;

View File

@@ -4,9 +4,7 @@
pkgs,
modulesPath,
...
}:
{
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
@@ -21,32 +19,32 @@
"sr_mod"
"sdhci_pci"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
fileSystems."/" = {
device = "/dev/disk/by-uuid/59c59bcf-7a09-4cae-b020-b885858279a7";
fsType = "btrfs";
options = [ "subvol=@" ];
options = ["subvol=@"];
};
fileSystems."/nix" = {
device = "/dev/disk/by-uuid/59c59bcf-7a09-4cae-b020-b885858279a7";
fsType = "btrfs";
options = [ "subvol=@nix" ];
options = ["subvol=@nix"];
};
fileSystems."/.snapshots" = {
device = "/dev/disk/by-uuid/59c59bcf-7a09-4cae-b020-b885858279a7";
fsType = "btrfs";
options = [ "subvol=@snapshots" ];
options = ["subvol=@snapshots"];
};
fileSystems."/home" = {
device = "/dev/disk/by-uuid/59c59bcf-7a09-4cae-b020-b885858279a7";
fsType = "btrfs";
options = [ "subvol=@home" ];
options = ["subvol=@home"];
};
fileSystems."/boot" = {
@@ -63,7 +61,7 @@
fsType = "nfs";
};
swapDevices = [ ];
swapDevices = [];
security.sudo.wheelNeedsPassword = false;

View File

@@ -1,19 +1,14 @@
# 💫 https://github.com/JaKooLit 💫 #
# Packages for this host only
{ pkgs, ... }:
let
{pkgs, ...}: let
python-packages = pkgs.python3.withPackages (
ps: with ps; [
requests
pyquery # needed for hyprland-dots Weather script
]
ps:
with ps; [
requests
pyquery # needed for hyprland-dots Weather script
]
);
in
{
in {
nixpkgs.config.allowUnfree = true;
environment.systemPackages =
@@ -30,14 +25,11 @@ in
];
programs = {
steam = {
enable = false;
gamescopeSession.enable = false;
remotePlay.openFirewall = false;
dedicatedServer.openFirewall = false;
};
};
}

View File

@@ -1,13 +1,13 @@
# 💫 https://github.com/JaKooLit 💫 #
# Users - NOTE: Packages defined on this will be on current user only
{ pkgs, username, ... }:
let
inherit (import ./variables.nix) gitUsername;
in
{
users = {
pkgs,
username,
...
}: let
inherit (import ./variables.nix) gitUsername;
in {
users = {
mutableUsers = true;
users."${username}" = {
homeMode = "755";
@@ -19,27 +19,27 @@ in
"libvirtd"
"scanner"
"lp"
"video"
"input"
"video"
"input"
"audio"
];
# define user packages here
packages = with pkgs; [
# define user packages here
packages = with pkgs; [
];
};
defaultUserShell = pkgs.zsh;
};
environment.shells = with pkgs; [ zsh ];
environment.systemPackages = with pkgs; [ lsd fzf git ];
programs = {
};
environment.shells = with pkgs; [zsh];
environment.systemPackages = with pkgs; [lsd fzf git];
programs = {
zsh = {
ohMyZsh = {
enable = true;
theme = "agnoster";
plugins = [ "git" ];
plugins = ["git"];
};
autosuggestions.enable = true;
syntaxHighlighting.enable = true;

View File

@@ -1,6 +1,5 @@
# 💫 https://github.com/JaKooLit 💫 #
# Variables
{
# Git Configuration ( For Pulling Software Repos )
gitUsername = "JaKooLit";

View File

@@ -1,19 +1,14 @@
# 💫 https://github.com/JaKooLit 💫 #
# Main default config
{
pkgs,
host,
username,
options,
...
}:
let
}: let
inherit (import ./variables.nix) keyboardLayout;
in
{
in {
imports = [
./hardware.nix
./users.nix
@@ -52,7 +47,7 @@ in
"usbhid"
"sd_mod"
];
kernelModules = [ ];
kernelModules = [];
};
# Needed For Some Steam Games
@@ -129,7 +124,7 @@ in
networking = {
networkmanager.enable = true;
hostName = "${host}";
timeServers = options.networking.timeServers.default ++ [ "pool.ntp.org" ];
timeServers = options.networking.timeServers.default ++ ["pool.ntp.org"];
};
# Set your time zone.
@@ -228,11 +223,10 @@ in
# dataDir = "/home/${username}";
# configDir = "/home/${username}/.config/syncthing";
#};
};
systemd.services.flatpak-repo = {
path = [ pkgs.flatpak ];
path = [pkgs.flatpak];
script = ''
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
'';
@@ -315,8 +309,8 @@ in
"nix-command"
"flakes"
];
substituters = [ "https://hyprland.cachix.org" ];
trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ];
substituters = ["https://hyprland.cachix.org"];
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
};
gc = {
automatic = true;

View File

@@ -1,38 +1,42 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/profiles/qemu-guest.nix")
];
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/profiles/qemu-guest.nix")
];
boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = ["ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/e5fc1006-4d0b-41db-8c43-22b3cb8110c6";
fsType = "ext4";
};
fileSystems."/" = {
device = "/dev/disk/by-uuid/e5fc1006-4d0b-41db-8c43-22b3cb8110c6";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/9287-3738";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/9287-3738";
fsType = "vfat";
options = ["fmask=0077" "dmask=0077"];
};
fileSystems."/mnt/nas" =
{ device = "192.168.40.11:/volume1/DiskStation54TB";
fsType = "nfs";
options = [ "rw" "bg" "soft" "tcp" "_netdev" ];
};
fileSystems."/mnt/nas" = {
device = "192.168.40.11:/volume1/DiskStation54TB";
fsType = "nfs";
options = ["rw" "bg" "soft" "tcp" "_netdev"];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/a6e9dd8b-6767-44f4-84fa-30d02d90d087"; }
];
swapDevices = [
{device = "/dev/disk/by-uuid/a6e9dd8b-6767-44f4-84fa-30d02d90d087";}
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's

View File

@@ -1,18 +1,14 @@
# 💫 https://github.com/JaKooLit 💫 #
# Packages for this host only
{ pkgs, ... }:
let
{pkgs, ...}: let
python-packages = pkgs.python3.withPackages (
ps: with ps; [
requests
pyquery # needed for hyprland-dots Weather script
]
ps:
with ps; [
requests
pyquery # needed for hyprland-dots Weather script
]
);
in
{
in {
nixpkgs.config.allowUnfree = true;
environment.systemPackages =
@@ -25,14 +21,11 @@ in
];
programs = {
steam = {
enable = false;
gamescopeSession.enable = false;
remotePlay.openFirewall = false;
dedicatedServer.openFirewall = false;
};
};
}

View File

@@ -1,13 +1,13 @@
# 💫 https://github.com/JaKooLit 💫 #
# Users - NOTE: Packages defined on this will be on current user only
{ pkgs, username, ... }:
let
inherit (import ./variables.nix) gitUsername;
in
{
users = {
pkgs,
username,
...
}: let
inherit (import ./variables.nix) gitUsername;
in {
users = {
mutableUsers = true;
users."${username}" = {
homeMode = "755";
@@ -19,27 +19,27 @@ in
"libvirtd"
"scanner"
"lp"
"video"
"input"
"video"
"input"
"audio"
];
# define user packages here
packages = with pkgs; [
# define user packages here
packages = with pkgs; [
];
};
defaultUserShell = pkgs.zsh;
};
environment.shells = with pkgs; [ zsh ];
environment.systemPackages = with pkgs; [ lsd fzf git ];
programs = {
};
environment.shells = with pkgs; [zsh];
environment.systemPackages = with pkgs; [lsd fzf git];
programs = {
zsh = {
ohMyZsh = {
enable = true;
theme = "agnoster";
plugins = [ "git" ];
plugins = ["git"];
};
autosuggestions.enable = true;
syntaxHighlighting.enable = true;

View File

@@ -1,6 +1,5 @@
# 💫 https://github.com/JaKooLit 💫 #
# Variables
{
# Git Configuration ( For Pulling Software Repos )
gitUsername = "JaKooLit";

View File

@@ -1,19 +1,14 @@
# 💫 https://github.com/JaKooLit 💫 #
# Main default config
{
pkgs,
host,
username,
options,
...
}:
let
}: let
inherit (import ./variables.nix) keyboardLayout;
in
{
in {
imports = [
./hardware.nix
./users.nix
@@ -52,7 +47,7 @@ in
"usbhid"
"sd_mod"
];
kernelModules = [ ];
kernelModules = [];
};
# Needed For Some Steam Games
@@ -129,7 +124,7 @@ in
networking = {
networkmanager.enable = true;
hostName = "${host}";
timeServers = options.networking.timeServers.default ++ [ "pool.ntp.org" ];
timeServers = options.networking.timeServers.default ++ ["pool.ntp.org"];
};
# Set your time zone.
@@ -229,13 +224,12 @@ in
# dataDir = "/home/${username}";
# configDir = "/home/${username}/.config/syncthing";
#};
};
security.sudo.wheelNeedsPassword = false;
systemd.services.flatpak-repo = {
path = [ pkgs.flatpak ];
path = [pkgs.flatpak];
script = ''
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
'';
@@ -318,8 +312,8 @@ in
"nix-command"
"flakes"
];
substituters = [ "https://hyprland.cachix.org" ];
trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ];
substituters = ["https://hyprland.cachix.org"];
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
};
gc = {
automatic = true;

View File

@@ -1,37 +1,41 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/profiles/qemu-guest.nix")
];
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/profiles/qemu-guest.nix")
];
boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = ["ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/e5fc1006-4d0b-41db-8c43-22b3cb8110c6";
fsType = "ext4";
};
fileSystems."/" = {
device = "/dev/disk/by-uuid/e5fc1006-4d0b-41db-8c43-22b3cb8110c6";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/9287-3738";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/9287-3738";
fsType = "vfat";
options = ["fmask=0077" "dmask=0077"];
};
fileSystems."/mnt/nas" =
{ device = "192.168.40.11:/volume1/DiskStation54TB";
fsType = "nfs";
};
fileSystems."/mnt/nas" = {
device = "192.168.40.11:/volume1/DiskStation54TB";
fsType = "nfs";
};
swapDevices =
[ { device = "/dev/disk/by-uuid/a6e9dd8b-6767-44f4-84fa-30d02d90d087"; }
];
swapDevices = [
{device = "/dev/disk/by-uuid/a6e9dd8b-6767-44f4-84fa-30d02d90d087";}
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's

View File

@@ -1,19 +1,14 @@
# 💫 https://github.com/JaKooLit 💫 #
# Packages and Fonts config including the "programs" options
{ pkgs, ... }:
let
{pkgs, ...}: let
python-packages = pkgs.python3.withPackages (
ps: with ps; [
requests
pyquery # needed for hyprland-dots Weather script
]
ps:
with ps; [
requests
pyquery # needed for hyprland-dots Weather script
]
);
in
{
in {
nixpkgs.config.allowUnfree = true;
environment.systemPackages =
@@ -30,14 +25,11 @@ in
];
programs = {
steam = {
enable = false;
gamescopeSession.enable = false;
remotePlay.openFirewall = false;
dedicatedServer.openFirewall = false;
};
};
}

View File

@@ -1,13 +1,13 @@
# 💫 https://github.com/JaKooLit 💫 #
# Users - NOTE: Packages defined on this will be on current user only
{ pkgs, username, ... }:
let
inherit (import ./variables.nix) gitUsername;
in
{
users = {
pkgs,
username,
...
}: let
inherit (import ./variables.nix) gitUsername;
in {
users = {
mutableUsers = true;
users."${username}" = {
homeMode = "755";
@@ -19,41 +19,41 @@ in
"libvirtd"
"scanner"
"lp"
"video"
"input"
"video"
"input"
"audio"
];
# define user packages here
packages = with pkgs; [
# define user packages here
packages = with pkgs; [
];
};
defaultUserShell = pkgs.zsh;
};
environment.shells = with pkgs; [ zsh ];
environment.systemPackages = with pkgs; [ lsd fzf git ];
};
environment.shells = with pkgs; [zsh];
environment.systemPackages = with pkgs; [lsd fzf git];
programs = {
# Zsh configuration
zsh = {
enable = true;
enableCompletion = true;
# Zsh configuration
zsh = {
enable = true;
enableCompletion = true;
ohMyZsh = {
enable = true;
plugins = ["git"];
theme = "agnoster";
};
theme = "agnoster";
};
autosuggestions.enable = true;
syntaxHighlighting.enable = true;
promptInit = ''
fastfetch -c $HOME/.config/fastfetch/config-compact.jsonc
#pokemon colorscripts like. Make sure to install krabby package
#krabby random --no-mega --no-gmax --no-regional --no-title -s;
#krabby random --no-mega --no-gmax --no-regional --no-title -s;
# Set-up icons for files/directories in terminal using lsd
alias ls='lsd'
@@ -67,7 +67,7 @@ in
HISTSIZE=10000;
SAVEHIST=10000;
setopt appendhistory;
'';
};
};
'';
};
};
}

View File

@@ -1,6 +1,5 @@
# 💫 https://github.com/JaKooLit 💫 #
# Variables
{
# Git Configuration ( For Pulling Software Repos )
gitUsername = "JaKooLit";

View File

@@ -1,25 +1,27 @@
# 💫 https://github.com/JaKooLit 💫 #
{ lib, pkgs, config, ... }:
with lib;
let
cfg = config.drivers.amdgpu;
in
{
lib,
pkgs,
config,
...
}:
with lib; let
cfg = config.drivers.amdgpu;
in {
options.drivers.amdgpu = {
enable = mkEnableOption "Enable AMD Drivers";
};
config = mkIf cfg.enable {
systemd.tmpfiles.rules = [ "L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}" ];
services.xserver.videoDrivers = [ "amdgpu" ];
systemd.tmpfiles.rules = ["L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}"];
services.xserver.videoDrivers = ["amdgpu"];
# OpenGL
hardware.graphics = {
extraPackages = with pkgs; [
libva
libva-utils
];
libva-utils
];
};
};
}

View File

@@ -1,5 +1,4 @@
{ pkgs, ... }:
{
{pkgs, ...}: {
fonts = {
packages = with pkgs; [
dejavu_fonts

View File

@@ -1,6 +1,7 @@
{ pkgs
, lib
, ...
{
pkgs,
lib,
...
}: {
programs.bat = {
enable = true;

View File

@@ -1,4 +1,4 @@
{ ... }: {
{...}: {
programs.bottom = {
enable = true;
settings = {
@@ -7,13 +7,13 @@
cpu = {
all_entry_color = "#f5e0dc";
avg_entry_color = "#eba0ac";
cpu_core_colors = [ "#f38ba8" "#fab387" "#f9e2af" "#a6e3a1" "#74c7ec" "#cba6f7" ];
cpu_core_colors = ["#f38ba8" "#fab387" "#f9e2af" "#a6e3a1" "#74c7ec" "#cba6f7"];
};
memory = {
ram_color = "#a6e3a1";
cache_color = "#f38ba8";
swap_color = "#fab387";
gpu_colors = [ "#74c7ec" "#cba6f7" "#f38ba8" "#fab387" "#f9e2af" "#a6e3a1" ];
gpu_colors = ["#74c7ec" "#cba6f7" "#f38ba8" "#fab387" "#f9e2af" "#a6e3a1"];
arc_color = "#89dceb";
};
network = {
@@ -28,19 +28,22 @@
low_battery_color = "#f38ba8";
};
tables = {
headers = { color = "#f5e0dc"; };
headers = {color = "#f5e0dc";};
};
graphs = {
graph_color = "#a6adc8";
legend_text = { color = "#a6adc8"; };
legend_text = {color = "#a6adc8";};
};
widgets = {
border_color = "#585b70";
selected_border_color = "#f5c2e7";
widget_title = { color = "#f2cdcd"; };
text = { color = "#cdd6f4"; };
selected_text = { color = "#11111b"; bg_color = "#cba6f7"; };
disabled_text = { color = "#1e1e2e"; };
widget_title = {color = "#f2cdcd";};
text = {color = "#cdd6f4";};
selected_text = {
color = "#11111b";
bg_color = "#cba6f7";
};
disabled_text = {color = "#1e1e2e";};
};
};
flags.group_processes = true;
@@ -48,14 +51,14 @@
{
ratio = 2;
child = [
{ type = "cpu"; }
{ type = "temp"; }
{type = "cpu";}
{type = "temp";}
];
}
{
ratio = 2;
child = [
{ type = "network"; }
{type = "network";}
];
}
{

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: {
{pkgs, ...}: {
programs.btop = {
enable = true;
package = pkgs.btop.override {
@@ -19,5 +19,4 @@
io_graph_combined = false;
};
};
}

View File

@@ -1,5 +1,4 @@
# Eza is a ls replacement
{
programs.eza = {
enable = true;

View File

@@ -1,15 +1,10 @@
# Fzf is a general-purpose command-line fuzzy finder.
{
lib,
...
}:
let
{lib, ...}: let
# Static Catppuccin Mocha accents (no Stylix dependency)
accent = "#89b4fa";
foreground = "#cdd6f4";
muted = "#6c7086";
in
{
in {
programs.fzf = {
enable = true;
enableZshIntegration = false;

View File

@@ -1,5 +1,4 @@
{ lib, ... }:
{
{lib, ...}: {
programs.git = {
enable = true;

View File

@@ -1,4 +1,4 @@
{ config, ... }: {
{config, ...}: {
programs.htop = {
enable = true;
settings =
@@ -25,18 +25,18 @@
highlight_threads = 1;
}
// (with config.lib.htop;
leftMeters [
(bar "AllCPUs2")
(bar "Memory")
(bar "Swap")
(text "Zram")
])
leftMeters [
(bar "AllCPUs2")
(bar "Memory")
(bar "Swap")
(text "Zram")
])
// (with config.lib.htop;
rightMeters [
(text "Tasks")
(text "LoadAverage")
(text "Uptime")
(text "Systemd")
]);
rightMeters [
(text "Tasks")
(text "LoadAverage")
(text "Uptime")
(text "Systemd")
]);
};
}

View File

@@ -1,4 +1,4 @@
{ ... }: {
{...}: {
programs.tealdeer = {
enable = true;
settings = {

View File

@@ -1,6 +1,4 @@
{ ... }:
{
{...}: {
imports = [
./terminals/tmux.nix
./terminals/ghostty.nix
@@ -16,6 +14,4 @@
./yazi
./overview.nix
];
}

View File

@@ -1,16 +1,15 @@
{ inputs
, config
, lib
, pkgs
, ...
}:
let
# Use Stylix palette if present; otherwise fall back to Catppuccin Mocha background
notifyBg = lib.attrByPath [ "lib" "stylix" "colors" "base01" ] "1e1e2e" config;
in
{
inputs,
config,
lib,
pkgs,
...
}: let
# Use Stylix palette if present; otherwise fall back to Catppuccin Mocha background
notifyBg = lib.attrByPath ["lib" "stylix" "colors" "base01"] "1e1e2e" config;
in {
# Bring in Nixvim's Home Manager module so programs.nixvim options exist
imports = [ inputs.nixvim.homeModules.nixvim ];
imports = [inputs.nixvim.homeModules.nixvim];
programs.nixvim = {
enable = true;
@@ -38,7 +37,7 @@ in
updatetime = 200;
cursorline = true;
spell = true;
spelllang = [ "en" ];
spelllang = ["en"];
# Send all yanks/deletes to the system clipboard (Wayland/X11)
clipboard = "unnamedplus";
};
@@ -58,7 +57,7 @@ in
lualine = {
enable = true;
settings = {
options = { theme = "catppuccin"; };
options = {theme = "catppuccin";};
};
};
bufferline.enable = true;
@@ -111,7 +110,7 @@ in
fast_wrap = {
enable = true;
map = "<M-e>"; # Alt+e to fast-wrap
chars = [ "{" "[" "(" "\"" "'" "`" ];
chars = ["{" "[" "(" "\"" "'" "`"];
};
};
};
@@ -119,7 +118,7 @@ in
# Terminal
toggleterm = {
enable = true;
settings = { direction = "float"; };
settings = {direction = "float";};
};
# Diagnostics UI
@@ -173,16 +172,16 @@ in
enable = true;
settings = {
formatters_by_ft = {
nix = [ "nixpkgs_fmt" ];
lua = [ "stylua" ];
javascript = [ "prettierd" ];
typescript = [ "prettierd" ];
javascriptreact = [ "prettierd" ];
typescriptreact = [ "prettierd" ];
css = [ "prettierd" ];
html = [ "prettierd" ];
markdown = [ "prettierd" ];
sh = [ "shfmt" ];
nix = ["nixpkgs_fmt"];
lua = ["stylua"];
javascript = ["prettierd"];
typescript = ["prettierd"];
javascriptreact = ["prettierd"];
typescriptreact = ["prettierd"];
css = ["prettierd"];
html = ["prettierd"];
markdown = ["prettierd"];
sh = ["shfmt"];
};
format_on_save = {
lsp_fallback = true;
@@ -196,7 +195,7 @@ in
# Insert-mode escape
{
key = "jk";
mode = [ "i" ];
mode = ["i"];
action = "<ESC>";
options.desc = "Exit insert mode";
}
@@ -204,13 +203,13 @@ in
# Telescope
{
key = "<leader>ff";
mode = [ "n" ];
mode = ["n"];
action = "<cmd>Telescope find_files<cr>";
options.desc = "Search files by name";
}
{
key = "<leader>lg";
mode = [ "n" ];
mode = ["n"];
action = "<cmd>Telescope live_grep<cr>";
options.desc = "Search files by contents";
}
@@ -218,7 +217,7 @@ in
# File tree (Neo-tree)
{
key = "<leader>fe";
mode = [ "n" ];
mode = ["n"];
action = "<cmd>Neotree toggle<cr>";
options.desc = "File browser toggle";
}
@@ -226,7 +225,7 @@ in
# Terminal
{
key = "<leader>t";
mode = [ "n" ];
mode = ["n"];
action = "<cmd>ToggleTerm<CR>";
options.desc = "Toggle terminal";
}
@@ -234,13 +233,13 @@ in
# Comment line (Doom Emacs style)
{
key = "<leader>.";
mode = [ "n" ];
mode = ["n"];
action = "<cmd>lua require('Comment.api').toggle.linewise.current()<CR>";
options.desc = "Comment line";
}
{
key = "<leader>.";
mode = [ "v" ];
mode = ["v"];
action = "<esc><cmd>lua require('Comment.api').toggle.linewise(vim.fn.visualmode())<CR>";
options.desc = "Comment selection";
}
@@ -248,25 +247,25 @@ in
# Diagnostics
{
key = "<leader>dj";
mode = [ "n" ];
mode = ["n"];
action = "<cmd>lua vim.diagnostic.goto_next()<CR>";
options.desc = "Go to next diagnostic";
}
{
key = "<leader>dk";
mode = [ "n" ];
mode = ["n"];
action = "<cmd>lua vim.diagnostic.goto_prev()<CR>";
options.desc = "Go to previous diagnostic";
}
{
key = "<leader>dl";
mode = [ "n" ];
mode = ["n"];
action = "<cmd>lua vim.diagnostic.open_float()<CR>";
options.desc = "Show diagnostic details";
}
{
key = "<leader>dt";
mode = [ "n" ];
mode = ["n"];
action = "<cmd>Trouble diagnostics toggle<cr>";
options.desc = "Toggle diagnostics list";
}
@@ -274,14 +273,14 @@ in
# Disable accidental F1 across modes
{
key = "<F1>";
mode = [ "n" "i" "v" "x" "s" "o" "t" "c" ];
mode = ["n" "i" "v" "x" "s" "o" "t" "c"];
action = "<Nop>";
options.desc = "Disable accidental F1 help";
}
# Help mappings
{
key = "<leader>h";
mode = [ "n" ];
mode = ["n"];
action = ":help<Space>";
options = {
desc = "Open :help prompt";
@@ -290,7 +289,7 @@ in
}
{
key = "<leader>H";
mode = [ "n" ];
mode = ["n"];
action = ":help <C-r><C-w><CR>";
options.desc = "Help for word under cursor";
}

View File

@@ -1,25 +1,27 @@
{ config, lib, ... }:
let
overviewSource = ./overview;
in
{
config,
lib,
...
}: let
overviewSource = ./overview;
in {
# Quickshell-overview is a Qt6 QML app for Hyprland workspace overview
# Toggled via: SUPER + TAB (added to Hyprland config separately)
# Started via: exec-once = qs -c overview (added to Hyprland config separately)
# Seed the Quickshell overview code into ~/.config/quickshell/overview
# Copy (not symlink) so QML module resolution works and users can edit files
home.activation.seedOverviewCode = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
home.activation.seedOverviewCode = lib.hm.dag.entryAfter ["writeBoundary"] ''
set -eu
DEST="$HOME/.config/quickshell/overview"
SRC="${overviewSource}"
mkdir -p "$HOME/.config/quickshell"
# Remove old directory and copy fresh (ensures QML updates are picked up)
rm -rf "$DEST"
cp -R "$SRC" "$DEST"
chmod -R u+rwX "$DEST"
# Remove default shell.qml if it exists (prevents named config detection)
# Quickshell disables subdirectory detection if ~/.config/quickshell/shell.qml exists
if [ -f "$HOME/.config/quickshell/shell.qml" ]; then

View File

@@ -1,6 +1,7 @@
{ pkgs
, config
, ...
{
pkgs,
config,
...
}: {
# Install Ghostty theme(s) so referenced names resolve even if the package's share/themes doesn't include them
home.file = {

View File

@@ -1,5 +1,5 @@
# Tmux is a terminal multiplexer that allows you to run multiple terminal sessions in a single window.
{ pkgs, ... }: {
{pkgs, ...}: {
programs.tmux = {
enable = true;
mouse = true;
@@ -20,7 +20,7 @@
unbind %
unbind '"'
# VIM Motion realated settings
# VIM Motion realated settings
bind-key h select-pane -L
bind-key j select-pane -D
bind-key k select-pane -U
@@ -56,8 +56,8 @@
# Start windows and panes index at 1, not 0.
setw -g pane-base-index 1
# Creating panes
# Creating panes
bind-key "|" split-window -h -c "#{pane_current_path}"
bind-key "\\" split-window -fh -c "#{pane_current_path}"
@@ -148,6 +148,5 @@
'';
};
}

View File

@@ -1,18 +1,20 @@
# 💫 https://github.com/JaKooLit 💫 #
{ lib, pkgs, config, ... }:
with lib;
let
cfg = config.drivers.intel;
in
{
lib,
pkgs,
config,
...
}:
with lib; let
cfg = config.drivers.intel;
in {
options.drivers.intel = {
enable = mkEnableOption "Enable Intel Graphics Drivers";
};
config = mkIf cfg.enable {
nixpkgs.config.packageOverrides = pkgs: {
vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; };
vaapiIntel = pkgs.vaapiIntel.override {enableHybridCodec = true;};
};
# OpenGL
@@ -21,7 +23,7 @@ in
intel-media-driver
libvdpau-va-gl
libva
libva-utils
libva-utils
];
};
};

View File

@@ -1,14 +1,16 @@
# 💫 https://github.com/JaKooLit 💫 #
{ lib, pkgs, config, ... }:
with lib;
let
cfg = config.local.hardware-clock;
in
{
lib,
pkgs,
config,
...
}:
with lib; let
cfg = config.local.hardware-clock;
in {
options.local.hardware-clock = {
enable = mkEnableOption "Change Hardware Clock To Local Time";
};
config = mkIf cfg.enable { time.hardwareClockInLocalTime = true; };
config = mkIf cfg.enable {time.hardwareClockInLocalTime = true;};
}

View File

@@ -1,5 +1,9 @@
{ config, lib, pkgs, ... }:
{
config,
lib,
pkgs,
...
}: {
# Ensure greetd is not enabled anywhere by default (hosts can override if needed)
services.greetd.enable = lib.mkDefault false;

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: {
{pkgs, ...}: {
programs.nh = {
enable = true;
clean = {

View File

@@ -1,63 +1,65 @@
# 💫 https://github.com/JaKooLit 💫 #
{ lib, pkgs, config, ... }:
with lib;
let
cfg = config.drivers.nvidia;
in
{
lib,
pkgs,
config,
...
}:
with lib; let
cfg = config.drivers.nvidia;
in {
options.drivers.nvidia = {
enable = mkEnableOption "Enable Nvidia Drivers";
};
config = mkIf cfg.enable {
services.xserver.videoDrivers = [ "nvidia" ];
hardware.graphics = {
enable = true;
enable32Bit = true;
extraPackages = with pkgs; [
vaapiVdpau
libvdpau
libvdpau-va-gl
nvidia-vaapi-driver
vdpauinfo
libva
libva-utils
];
};
services.xserver.videoDrivers = ["nvidia"];
hardware.nvidia = {
# Modesetting is required.
modesetting.enable = true;
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
powerManagement.enable = false;
# Fine-grained power management. Turns off GPU when not in use.
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
powerManagement.finegrained = false;
#dynamicBoost.enable = true; # Dynamic Boost
hardware.graphics = {
enable = true;
enable32Bit = true;
extraPackages = with pkgs; [
vaapiVdpau
libvdpau
libvdpau-va-gl
nvidia-vaapi-driver
vdpauinfo
libva
libva-utils
];
};
nvidiaPersistenced = false;
hardware.nvidia = {
# Modesetting is required.
modesetting.enable = true;
# Use the NVidia open source kernel module (not to be confused with the
# independent third-party "nouveau" open source driver).
# Support is limited to the Turing and later architectures. Full list of
# supported GPUs is at:
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
# Only available from driver 515.43.04+
# Currently alpha-quality/buggy, so false is currently the recommended setting.
open = false;
# Enable the Nvidia settings menu,
# accessible via `nvidia-settings`.
nvidiaSettings = true;
# Optionally, you may need to select the appropriate driver version for your specific GPU.
package = config.boot.kernelPackages.nvidiaPackages.latest;
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
powerManagement.enable = false;
# Fine-grained power management. Turns off GPU when not in use.
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
powerManagement.finegrained = false;
#dynamicBoost.enable = true; # Dynamic Boost
nvidiaPersistenced = false;
# Use the NVidia open source kernel module (not to be confused with the
# independent third-party "nouveau" open source driver).
# Support is limited to the Turing and later architectures. Full list of
# supported GPUs is at:
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
# Only available from driver 515.43.04+
# Currently alpha-quality/buggy, so false is currently the recommended setting.
open = false;
# Enable the Nvidia settings menu,
# accessible via `nvidia-settings`.
nvidiaSettings = true;
# Optionally, you may need to select the appropriate driver version for your specific GPU.
package = config.boot.kernelPackages.nvidiaPackages.latest;
};
};
}

View File

@@ -1,11 +1,13 @@
# 💫 https://github.com/JaKooLit 💫 #
{ lib, pkgs, config, ... }:
with lib;
let
cfg = config.drivers.nvidia-prime;
in
{
lib,
pkgs,
config,
...
}:
with lib; let
cfg = config.drivers.nvidia-prime;
in {
options.drivers.nvidia-prime = {
enable = mkEnableOption "Enable Nvidia Prime Hybrid GPU Offload";
intelBusID = mkOption {

View File

@@ -1,76 +1,90 @@
{ inputs, ... }:
{
{inputs, ...}: {
nixpkgs.overlays = [
(final: prev: rec {
# Helper: provide a clean cxxopts.pc to avoid broken upstream pc requiring non-existent icu-cu
cxxoptsPcShim = final.runCommand "cxxopts-pc-shim" {} ''
mkdir -p $out/lib/pkgconfig
cat > $out/lib/pkgconfig/cxxopts.pc <<'EOF'
prefix=${final.cxxopts}
includedir=${final.cxxopts}/include
mkdir -p $out/lib/pkgconfig
cat > $out/lib/pkgconfig/cxxopts.pc <<'EOF'
prefix=${final.cxxopts}
includedir=${final.cxxopts}/include
Name: cxxopts
Description: C++ command line parser headers
Version: ${final.cxxopts.version}
Cflags: -I${final.cxxopts}/include
Libs:
Requires:
EOF
Name: cxxopts
Description: C++ command line parser headers
Version: ${final.cxxopts.version}
Cflags: -I${final.cxxopts}/include
Libs:
Requires:
EOF
'';
# Allow argtable to configure with newer CMake by declaring policy minimum
argtable = prev.argtable.overrideAttrs (old: {
cmakeFlags = (old.cmakeFlags or []) ++ [
"-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
];
cmakeFlags =
(old.cmakeFlags or [])
++ [
"-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
];
});
# Specifically patch the nested attribute path used by nixpkgs: antlr4_9.runtime.cpp
# Add the policy flag and patch CMakeLists to bump minimum and force NEW policies
antlr4_9 = prev.antlr4_9 // {
runtime = prev.antlr4_9.runtime // {
cpp = prev.antlr4_9.runtime.cpp.overrideAttrs (old: {
cmakeFlags = (old.cmakeFlags or []) ++ [
"-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
];
postPatch = (old.postPatch or "") + ''
# Bump CMake minimum and force modern policies
if [ -f runtime/Cpp/runtime/CMakeLists.txt ]; then
sed -i -E 's/cmake_minimum_required\(VERSION [0-9.]+\)/cmake_minimum_required(VERSION 3.5)/' runtime/Cpp/runtime/CMakeLists.txt
sed -i -E 's/(cmake_policy\(SET CMP[0-9]+ )OLD/\1NEW/g' runtime/Cpp/runtime/CMakeLists.txt || true
sed -i -E 's/(CMAKE_POLICY\(SET CMP[0-9]+ )OLD/\1NEW/g' runtime/Cpp/runtime/CMakeLists.txt || true
fi
if [ -f runtime/Cpp/CMakeLists.txt ]; then
sed -i -E 's/cmake_minimum_required\(VERSION [0-9.]+\)/cmake_minimum_required(VERSION 3.5)/' runtime/Cpp/CMakeLists.txt
sed -i -E 's/(cmake_policy\(SET CMP[0-9]+ )OLD/\1NEW/g' runtime/Cpp/CMakeLists.txt || true
sed -i -E 's/(CMAKE_POLICY\(SET CMP[0-9]+ )OLD/\1NEW/g' runtime/Cpp/CMakeLists.txt || true
fi
'';
});
antlr4_9 =
prev.antlr4_9
// {
runtime =
prev.antlr4_9.runtime
// {
cpp = prev.antlr4_9.runtime.cpp.overrideAttrs (old: {
cmakeFlags =
(old.cmakeFlags or [])
++ [
"-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
];
postPatch =
(old.postPatch or "")
+ ''
# Bump CMake minimum and force modern policies
if [ -f runtime/Cpp/runtime/CMakeLists.txt ]; then
sed -i -E 's/cmake_minimum_required\(VERSION [0-9.]+\)/cmake_minimum_required(VERSION 3.5)/' runtime/Cpp/runtime/CMakeLists.txt
sed -i -E 's/(cmake_policy\(SET CMP[0-9]+ )OLD/\1NEW/g' runtime/Cpp/runtime/CMakeLists.txt || true
sed -i -E 's/(CMAKE_POLICY\(SET CMP[0-9]+ )OLD/\1NEW/g' runtime/Cpp/runtime/CMakeLists.txt || true
fi
if [ -f runtime/Cpp/CMakeLists.txt ]; then
sed -i -E 's/cmake_minimum_required\(VERSION [0-9.]+\)/cmake_minimum_required(VERSION 3.5)/' runtime/Cpp/CMakeLists.txt
sed -i -E 's/(cmake_policy\(SET CMP[0-9]+ )OLD/\1NEW/g' runtime/Cpp/CMakeLists.txt || true
sed -i -E 's/(CMAKE_POLICY\(SET CMP[0-9]+ )OLD/\1NEW/g' runtime/Cpp/CMakeLists.txt || true
fi
'';
});
};
};
};
# Fix libvdpau-va-gl CMake minimum for modern CMake
libvdpau-va-gl = prev.libvdpau-va-gl.overrideAttrs (old: {
cmakeFlags = (old.cmakeFlags or []) ++ [
"-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
];
postPatch = (old.postPatch or "") + ''
# Bump top-level CMake minimum if present
if [ -f CMakeLists.txt ]; then
sed -i -E 's/cmake_minimum_required\(VERSION [0-9.]+\)/cmake_minimum_required(VERSION 3.5)/' CMakeLists.txt || true
fi
'';
cmakeFlags =
(old.cmakeFlags or [])
++ [
"-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
];
postPatch =
(old.postPatch or "")
+ ''
# Bump top-level CMake minimum if present
if [ -f CMakeLists.txt ]; then
sed -i -E 's/cmake_minimum_required\(VERSION [0-9.]+\)/cmake_minimum_required(VERSION 3.5)/' CMakeLists.txt || true
fi
'';
});
# Work around pamixer failing to find cxxopts via pkg-config (bogus icu-cu requirement)
pamixer = prev.pamixer.overrideAttrs (old: {
nativeBuildInputs = (old.nativeBuildInputs or []) ++ [ final."pkg-config" cxxoptsPcShim ];
nativeBuildInputs = (old.nativeBuildInputs or []) ++ [final."pkg-config" cxxoptsPcShim];
# Ensure our shim takes precedence over any other cxxopts.pc
preConfigure = (old.preConfigure or "") + ''
export PKG_CONFIG_PATH=${cxxoptsPcShim}/lib/pkgconfig:"$PKG_CONFIG_PATH"
'';
preConfigure =
(old.preConfigure or "")
+ ''
export PKG_CONFIG_PATH=${cxxoptsPcShim}/lib/pkgconfig:"$PKG_CONFIG_PATH"
'';
});
})
];
}
}

View File

@@ -1,10 +1,9 @@
{ pkgs
, inputs
, host
, ...
}:
{
pkgs,
inputs,
host,
...
}: {
programs = {
hyprland = {
enable = true;
@@ -43,7 +42,6 @@
thunar-volman
tumbler
];
};
nixpkgs.config.allowUnfree = true;
@@ -139,7 +137,7 @@
libnotify
libsForQt5.qtstyleplugin-kvantum # kvantum
libsForQt5.qt5ct
(mpv.override { scripts = [ mpvScripts.mpris ]; }) # with tray
(mpv.override {scripts = [mpvScripts.mpris];}) # with tray
nvtopPackages.full
openssl # required by Rainbow borders
pciutils
@@ -159,7 +157,7 @@
rofi
slurp
swappy
serie #git cli tool
serie #git cli tool
swaynotificationcenter
swww
unzip
@@ -178,18 +176,18 @@
(inputs.ags.packages.${pkgs.stdenv.hostPlatform.system}.default)
# Utils
#browsr # file browser # Fails python build 11/14/2025
#browsr # file browser # Fails python build 11/14/2025
ctop # container top
erdtree # great tree util run: erd
frogmouth # cli markdown renderer A
lstr # another tree util
lstr # another tree util
lolcat
lsd # ls replacement util
macchina # fetch tool
mcat # show images in terminal
mcat # show images in terminal
mdcat # Markdown tool
parallel-disk-usage # fast disk space tool run: pdu
pik # Interactive process killer
pik # Interactive process killer
oh-my-posh
ncdu # disk usage tool
ncftp
@@ -214,7 +212,7 @@
cpuid
cpu-x
cyme #list USB devices - very handy
gdu # Dusk usage
gdu # Dusk usage
glances # system monitor tool
gping # Graphical ping tool
htop # system monitor tool
@@ -244,11 +242,9 @@
# Terminals
kitty
wezterm
];
environment.variables = {
JAKOS_NIXOS_VERSION = "0.0.5";
JAKOS = "true";
};
}

View File

@@ -1,10 +1,4 @@
{
pkgs,
...
}:
{
{pkgs, ...}: {
# Extra Portal Configuration
xdg.portal = {
enable = true;
@@ -19,5 +13,4 @@
pkgs.xdg-desktop-portal-wlr
];
};
}

View File

@@ -1,24 +1,28 @@
{ lib, pkgs, inputs, ... }:
{
environment.systemPackages = with pkgs; [
inputs.quickshell.packages.${pkgs.stdenv.hostPlatform.system}.default
# Qt6 dependencies for quickshell
qt6.qtbase
qt6.qtdeclarative
qt6.qtwayland
qt6.qtsvg
qt6.qtmultimedia
];
# necessary environment variables for QML module resolution
environment.variables = {
QML2_IMPORT_PATH = lib.mkDefault "${pkgs.qt6.qtdeclarative}/lib/qt-6/qml";
};
# ensure Qt applications work properly on Wayland
environment.sessionVariables = {
QT_QPA_PLATFORM = "wayland;xcb";
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
};
}
{
lib,
pkgs,
inputs,
...
}: {
environment.systemPackages = with pkgs; [
inputs.quickshell.packages.${pkgs.stdenv.hostPlatform.system}.default
# Qt6 dependencies for quickshell
qt6.qtbase
qt6.qtdeclarative
qt6.qtwayland
qt6.qtsvg
qt6.qtmultimedia
];
# necessary environment variables for QML module resolution
environment.variables = {
QML2_IMPORT_PATH = lib.mkDefault "${pkgs.qt6.qtdeclarative}/lib/qt-6/qml";
};
# ensure Qt applications work properly on Wayland
environment.sessionVariables = {
QT_QPA_PLATFORM = "wayland;xcb";
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
};
}

View File

@@ -1,7 +1,9 @@
{ pkgs, lib, config, ... }:
{
pkgs,
lib,
config,
...
}: {
# Install themes/cursors that we reference
environment.systemPackages = with pkgs; [
adwaita-icon-theme
@@ -42,7 +44,7 @@
# Rebuild the dconf database at activation to apply system defaults
system.activationScripts.dconfUpdate = {
# Ensure /etc is populated (including /etc/dconf/...) before running dconf update
deps = [ "etc" ];
deps = ["etc"];
text = ''
if [ -x ${pkgs.dconf}/bin/dconf ]; then
if [ -d /etc/dconf/db ]; then

View File

@@ -1,11 +1,13 @@
# 💫 https://github.com/JaKooLit 💫 #
{ lib, pkgs, config, ... }:
with lib;
let
cfg = config.vm.guest-services;
in
{
lib,
pkgs,
config,
...
}:
with lib; let
cfg = config.vm.guest-services;
in {
options.vm.guest-services = {
enable = mkEnableOption "Enable Virtual Machine Guest Services";
};