Format with alejandra

This commit is contained in:
blahai 2024-12-20 15:11:42 +02:00
parent 4771948682
commit e08f66d286
Signed by: blahai
SSH key fingerprint: SHA256:ZfCryi+V64yG+vC1ZIIsqgvBCmA31tTi7RJ6M8CvpRc
31 changed files with 398 additions and 278 deletions

View file

@ -434,11 +434,11 @@
"nixvim": "nixvim" "nixvim": "nixvim"
}, },
"locked": { "locked": {
"lastModified": 1734646427, "lastModified": 1734699281,
"narHash": "sha256-+OxSwGt6O6qzGvUTAlZgLivHnYPlrZF2JybyTfdsOP0=", "narHash": "sha256-pjlbWc1bgrlk5amtIOFoj5g1pHAMOWKWoYlIok8NAIs=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "6809b030bcdad17e2007a03b8ca5ccf772c072ed", "rev": "81db83c82f89b5db7095b2288e5d8fc21fd254d5",
"revCount": 467, "revCount": 469,
"type": "git", "type": "git",
"url": "ssh://git@github.com/blahai/haivim" "url": "ssh://git@github.com/blahai/haivim"
}, },

View file

@ -32,7 +32,7 @@
# as that is where I *borrowed* the base from # as that is where I *borrowed* the base from
haivim = { haivim = {
url = "git+ssh://git@github.com/blahai/haivim"; url = "git+ssh://git@github.com/blahai/haivim";
inputs = { nixpkgs.follows = "nixpkgs"; }; inputs = {nixpkgs.follows = "nixpkgs";};
}; };
deploy-rs = { deploy-rs = {
@ -67,54 +67,58 @@
wezterm.url = "github:wez/wezterm?dir=nix"; wezterm.url = "github:wez/wezterm?dir=nix";
catppuccin = { url = "github:catppuccin/nix"; }; catppuccin = {url = "github:catppuccin/nix";};
hyprland.url = "github:hyprwm/Hyprland"; hyprland.url = "github:hyprwm/Hyprland";
zen-browser.url = "github:ch4og/zen-browser-flake"; zen-browser.url = "github:ch4og/zen-browser-flake";
}; };
outputs = { nixpkgs, nixpkgs-smol, chaotic, home-manager, disko, ... }@inputs: outputs = {
let system = "x86_64-linux"; nixpkgs,
in { nixpkgs-smol,
nixosConfigurations = { chaotic,
nyx = nixpkgs.lib.nixosSystem { home-manager,
specialArgs = { disko,
inherit inputs; ...
pkgs-smol = import nixpkgs-smol { } @ inputs: let
inherit system; system = "x86_64-linux";
config.allowUnfree = true; in {
}; nixosConfigurations = {
nyx = nixpkgs.lib.nixosSystem {
specialArgs = {
inherit inputs;
pkgs-smol = import nixpkgs-smol {
inherit system;
config.allowUnfree = true;
}; };
modules = [
./hosts/nyx/configuration.nix
inputs.home-manager.nixosModules.default
chaotic.nixosModules.default
];
}; };
modules = [
./hosts/nyx/configuration.nix
inputs.home-manager.nixosModules.default
chaotic.nixosModules.default
];
};
# helios = nixpkgs.lib.nixosSystem { # helios = nixpkgs.lib.nixosSystem {
# modules = [ # modules = [
# ./hosts/helios/configuration.nix # ./hosts/helios/configuration.nix
# # inputs.home-manager.nixosModules.default # # inputs.home-manager.nixosModules.default
# chaotic.nixosModules.default # chaotic.nixosModules.default
# ]; # ];
# }; # };
theia = nixpkgs.lib.nixosSystem { theia = nixpkgs.lib.nixosSystem {
modules = modules = [./hosts/theia/configuration.nix disko.nixosModules.disko];
[ ./hosts/theia/configuration.nix disko.nixosModules.disko ]; };
};
epimetheus = nixpkgs.lib.nixosSystem {
epimetheus = nixpkgs.lib.nixosSystem { specialArgs = {
specialArgs = { inherit inputs;
inherit inputs; pkgs-smol = import nixpkgs-smol {inherit system;};
pkgs-smol = import nixpkgs-smol { inherit system; };
};
modules =
[ ./hosts/epimetheus/configuration.nix disko.nixosModules.disko ];
}; };
modules = [./hosts/epimetheus/configuration.nix disko.nixosModules.disko];
}; };
}; };
};
} }

View file

@ -1,15 +1,21 @@
{ pkgs, pkgs-smol, lib, modulesPath, config, ... }: { {
pkgs,
imports = [ "${modulesPath}/installer/cd-dvd/installation-cd-minimal.nix" ]; pkgs-smol,
lib,
modulesPath,
config,
...
}: {
imports = ["${modulesPath}/installer/cd-dvd/installation-cd-minimal.nix"];
boot = { boot = {
supportedFilesystems = [ "zfs" ]; supportedFilesystems = ["zfs"];
zfs = { zfs = {
forceImportRoot = false; forceImportRoot = false;
package = pkgs-smol.zfs; package = pkgs-smol.zfs;
}; };
kernelPackages = pkgs-smol.linuxPackages_6_12; kernelPackages = pkgs-smol.linuxPackages_6_12;
kernelParams = lib.mkAfter [ "noquiet" "toram" ]; kernelParams = lib.mkAfter ["noquiet" "toram"];
enableContainers = false; enableContainers = false;
}; };
@ -30,7 +36,6 @@
dnf5 # Fedora dnf5 # Fedora
debootstrap # Debin and ubuntu debootstrap # Debin and ubuntu
apt # Ubuntu apt # Ubuntu
]; ];
documentation = { documentation = {
@ -56,7 +61,7 @@
environment = { environment = {
stub-ld.enable = lib.mkForce false; stub-ld.enable = lib.mkForce false;
defaultPackages = [ ]; defaultPackages = [];
}; };
xdg = { xdg = {
@ -68,10 +73,10 @@
nix = { nix = {
package = pkgs.lix; package = pkgs.lix;
nixPath = [ "nixpkgs=${config.nix.registry.nixpkgs.to.path}" ]; nixPath = ["nixpkgs=${config.nix.registry.nixpkgs.to.path}"];
channel.enable = false; channel.enable = false;
settings = { settings = {
experimental-features = [ "nix-command" "flakes" "auto-allocate-uids" ]; experimental-features = ["nix-command" "flakes" "auto-allocate-uids"];
max-jobs = "auto"; max-jobs = "auto";
sandbox = true; sandbox = true;
auto-optimise-store = true; auto-optimise-store = true;
@ -92,10 +97,8 @@
"anyrun.cachix.org-1:pqBobmOjI7nKlsUMV25u9QHa9btJK65/C8vnO3p346s=" "anyrun.cachix.org-1:pqBobmOjI7nKlsUMV25u9QHa9btJK65/C8vnO3p346s="
"wezterm.cachix.org-1:kAbhjYUC9qvblTE+s7S+kl5XM1zVa4skO+E/1IDWdH0=" "wezterm.cachix.org-1:kAbhjYUC9qvblTE+s7S+kl5XM1zVa4skO+E/1IDWdH0="
]; ];
}; };
}; };
hardware.enableRedistributableFirmware = true; hardware.enableRedistributableFirmware = true;
} }

View file

@ -1,6 +1,4 @@
{ config, pkgs, pkgs-smol, inputs, system, lib, ... }: { config, pkgs, pkgs-smol, inputs, lib, ... }: {
{
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
../../modules/nixos/default.nix ../../modules/nixos/default.nix
@ -84,7 +82,6 @@
}; };
gnome.gnome-keyring.enable = true; gnome.gnome-keyring.enable = true;
}; };
hardware.pulseaudio.enable = false; hardware.pulseaudio.enable = false;
@ -131,7 +128,6 @@
TimeoutStopSec = 10; TimeoutStopSec = 10;
}; };
}; };
}; };
programs = { programs = {
@ -248,7 +244,8 @@
lua-language-server lua-language-server
nil nil
nixd nixd
nixfmt-classic nix-output-monitor
alejandra
zip zip
nodejs nodejs
typescript typescript
@ -274,7 +271,6 @@
imagemagick imagemagick
wireguard-tools wireguard-tools
mission-center mission-center
nix-output-monitor
speedcrunch speedcrunch
geogebra geogebra
]; ];
@ -298,6 +294,11 @@
enableSSHSupport = true; enableSSHSupport = true;
}; };
programs.localsend = {
enable = true;
openFirewall = true;
};
services.openssh = { services.openssh = {
enable = true; enable = true;
settings = { settings = {
@ -307,5 +308,4 @@
}; };
system.stateVersion = "24.05"; system.stateVersion = "24.05";
} }

View file

@ -1,78 +1,95 @@
{ config, lib, pkgs, modulesPath, ... }:
{ {
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [(modulesPath + "/installer/scan/not-detected.nix")];
boot.initrd.availableKernelModules = [ "nvme" "ahci" "xhci_pci" "usbhid" "hid_generic" "uas" "sd_mod" ]; boot.initrd.availableKernelModules = ["nvme" "ahci" "xhci_pci" "usbhid" "hid_generic" "uas" "sd_mod"];
boot.initrd.kernelModules = [ "amdgpu" ]; boot.initrd.kernelModules = ["amdgpu"];
boot.kernelModules = [ "kvm-amd" "amd-pstate" ]; boot.kernelModules = ["kvm-amd" "amd-pstate"];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [];
fileSystems."/" = { fileSystems."/" = {
device = "zpool/root"; device = "zpool/root";
fsType = "zfs"; fsType = "zfs";
options = [ "zfsutil" ]; options = ["zfsutil"];
}; };
fileSystems."/nix" = { fileSystems."/nix" = {
device = "zpool/nix"; device = "zpool/nix";
fsType = "zfs"; fsType = "zfs";
options = [ "zfsutil" ]; options = ["zfsutil"];
}; };
fileSystems."/var" = { fileSystems."/var" = {
device = "zpool/var"; device = "zpool/var";
fsType = "zfs"; fsType = "zfs";
options = [ "zfsutil" ]; options = ["zfsutil"];
}; };
fileSystems."/home" = { fileSystems."/home" = {
device = "zpool/home"; device = "zpool/home";
fsType = "zfs"; fsType = "zfs";
options = [ "zfsutil" ]; options = ["zfsutil"];
};
fileSystems."/var/lib/virt/images" = {
device = "zpool/virt/images";
fsType = "zfs";
options = ["zfsutil"];
};
fileSystems."/var/lib/virt/disks" = {
device = "zpool/virt/disks";
fsType = "zfs";
options = ["zfsutil"];
}; };
fileSystems."/mnt/zootfs/Storage" = { fileSystems."/mnt/zootfs/Storage" = {
device = "zootfs/Storage"; device = "zootfs/Storage";
fsType = "zfs"; fsType = "zfs";
options = [ "zfsutil" ]; options = ["zfsutil"];
}; };
fileSystems."/mnt/zootfs/Media" = { fileSystems."/mnt/zootfs/Media" = {
device = "zootfs/Media"; device = "zootfs/Media";
fsType = "zfs"; fsType = "zfs";
options = [ "zfsutil" ]; options = ["zfsutil"];
}; };
# https://github.com/atuinsh/atuin/issues/952#issuecomment-1902164562 # https://github.com/atuinsh/atuin/issues/952#issuecomment-1902164562
fileSystems."/home/pingu/.local/share/atuin" = { fileSystems."/home/pingu/.local/share/atuin" = {
device = "/dev/zvol/zpool/nixos/atuin"; device = "/dev/zvol/zpool/nixos/atuin";
fsType = "ext4"; fsType = "ext4";
options = [ "async" "auto" "nofail" ]; options = ["async" "auto" "nofail"];
}; };
fileSystems."/boot" = { fileSystems."/boot" = {
device = "/dev/disk/by-label/BOOT"; device = "/dev/disk/by-label/BOOT";
fsType = "vfat"; fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ]; options = ["fmask=0022" "dmask=0022"];
}; };
fileSystems."/mnt/ssd" = { fileSystems."/mnt/ssd" = {
device = "/dev/disk/by-uuid/e4c31e1c-6667-4582-8d6a-d142d6118ce2"; device = "/dev/disk/by-uuid/e4c31e1c-6667-4582-8d6a-d142d6118ce2";
fsType = "btrfs"; fsType = "btrfs";
options = [ "async" "auto" "noatime" "rw" ]; options = ["async" "auto" "noatime" "rw"];
}; };
fileSystems."/mnt/ext" = { fileSystems."/mnt/ext" = {
device = "/dev/disk/by-uuid/43280a82-cf9a-452e-9bdc-a8cc66ccd7c8"; device = "/dev/disk/by-uuid/43280a82-cf9a-452e-9bdc-a8cc66ccd7c8";
fsType = "btrfs"; fsType = "btrfs";
options = [ "async" "auto" "nofail" "noatime" ]; options = ["async" "auto" "nofail" "noatime"];
}; };
swapDevices = [{ device = "/dev/disk/by-uuid/04281bd7-784a-4287-b4f2-ce406d2ab6ac"; }]; swapDevices = [{device = "/dev/disk/by-uuid/04281bd7-784a-4287-b4f2-ce406d2ab6ac";}];
# networking.useDHCP = lib.mkDefault true; # networking.useDHCP = lib.mkDefault true;
hardware.enableRedistributableFirmware = true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = true; hardware.cpu.amd.updateMicrocode = true;
} }

View file

@ -1,4 +1,9 @@
{ inputs, config, pkgs, ... }: { {
inputs,
config,
pkgs,
...
}: {
imports = [ imports = [
../../modules/home-manager/default.nix ../../modules/home-manager/default.nix
inputs.catppuccin.homeManagerModules.catppuccin inputs.catppuccin.homeManagerModules.catppuccin
@ -23,10 +28,10 @@
autocrlf = "input"; autocrlf = "input";
}; };
url = { url = {
"ssh://git@github.com/" = { insteadOf = "https://github.com/"; }; "ssh://git@github.com/" = {insteadOf = "https://github.com/";};
}; };
gpg = { format = "ssh"; }; gpg = {format = "ssh";};
init = { defaultBranch = "main"; }; init = {defaultBranch = "main";};
}; };
}; };
@ -45,12 +50,15 @@
gtk = { gtk = {
enable = true; enable = true;
catppuccin = { };
catppuccin = {
gtk = {
enable = true; enable = true;
flavor = "mocha"; flavor = "mocha";
accent = "pink"; accent = "pink";
size = "standard"; size = "standard";
tweaks = [ "normal" ]; tweaks = ["normal"];
icon.enable = true; icon.enable = true;
}; };
}; };
@ -64,9 +72,12 @@
home.stateVersion = "24.11"; home.stateVersion = "24.11";
home.packages = with pkgs; [ obsidian ]; home.packages = with pkgs; [
obsidian
inputs.haivim.packages.${pkgs.system}.default
];
home.sessionVariables = { EDITOR = "nvim"; }; home.sessionVariables = {EDITOR = "nvim";};
# Let Home Manager install and manage itself. # Let Home Manager install and manage itself.
programs.home-manager.enable = true; programs.home-manager.enable = true;

View file

@ -1,7 +1,13 @@
{ config, modulesPath, lib, pkgs, ... }: { {
config,
modulesPath,
lib,
pkgs,
...
}: {
system.stateVersion = "24.11"; system.stateVersion = "24.11";
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
imports = [ (modulesPath + "/profiles/qemu-guest.nix") ]; imports = [(modulesPath + "/profiles/qemu-guest.nix")];
boot = { boot = {
initrd.availableKernelModules = [ initrd.availableKernelModules = [
@ -14,9 +20,9 @@
"sr_mod" "sr_mod"
"virtio_blk" "virtio_blk"
]; ];
initrd.kernelModules = [ ]; initrd.kernelModules = [];
kernelPackages = pkgs.linuxPackages_6_12; kernelPackages = pkgs.linuxPackages_6_12;
kernelModules = [ "kvm-amd" ]; kernelModules = ["kvm-amd"];
kernel = { kernel = {
sysctl = { sysctl = {
"vm.max_map_count" = 2147483642; "vm.max_map_count" = 2147483642;
@ -28,7 +34,7 @@
"net.ipv6.conf.all.forwarding" = 1; "net.ipv6.conf.all.forwarding" = 1;
}; };
}; };
extraModulePackages = [ ]; extraModulePackages = [];
loader.grub = { loader.grub = {
enable = true; enable = true;
device = "/dev/vda"; device = "/dev/vda";
@ -38,7 +44,7 @@
nix = { nix = {
package = pkgs.lix; package = pkgs.lix;
settings = { settings = {
experimental-features = [ "nix-command" "flakes" ]; experimental-features = ["nix-command" "flakes"];
auto-optimise-store = true; auto-optimise-store = true;
sandbox = true; sandbox = true;
}; };
@ -58,13 +64,15 @@
fileSystems."/boot" = { fileSystems."/boot" = {
device = "/dev/disk/by-uuid/FED3-A372"; device = "/dev/disk/by-uuid/FED3-A372";
fsType = "vfat"; fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ]; options = ["fmask=0022" "dmask=0022"];
}; };
swapDevices = [{ swapDevices = [
device = "/var/lib/swapfile"; {
size = 16 * 1024; device = "/var/lib/swapfile";
}]; size = 16 * 1024;
}
];
networking = { networking = {
enableIPv6 = false; # Had to disable for now due to problems with resolving enableIPv6 = false; # Had to disable for now due to problems with resolving
@ -82,7 +90,7 @@
]; ];
}; };
hostName = "theia"; hostName = "theia";
nameservers = [ "1.1.1.1" "8.8.8.8" "9.9.9.9" ]; nameservers = ["1.1.1.1" "8.8.8.8" "9.9.9.9"];
domain = "theia.blahai.gay"; domain = "theia.blahai.gay";
useDHCP = lib.mkDefault false; useDHCP = lib.mkDefault false;
defaultGateway = { defaultGateway = {
@ -93,15 +101,19 @@
interfaces = { interfaces = {
ens3 = { ens3 = {
ipv4 = { ipv4 = {
addresses = [{ addresses = [
address = "178.63.118.252"; {
prefixLength = 32; address = "178.63.118.252";
}]; prefixLength = 32;
}
];
routes = [{ routes = [
address = "178.63.247.183"; {
prefixLength = 32; address = "178.63.247.183";
}]; prefixLength = 32;
}
];
}; };
}; };
}; };
@ -117,7 +129,7 @@
networkd-dispatcher = { networkd-dispatcher = {
enable = true; enable = true;
rules."50-tailscale" = { rules."50-tailscale" = {
onState = [ "routable" ]; onState = ["routable"];
script = '' script = ''
${ ${
lib.getExe pkgs.ethtool lib.getExe pkgs.ethtool
@ -142,13 +154,12 @@
"n?vim" "n?vim"
]; ];
prefer = prefer =
lib.concatStringsSep "|" [ "dotnet" "java.*" "nix" "npm" "node" ]; lib.concatStringsSep "|" ["dotnet" "java.*" "nix" "npm" "node"];
in [ in [
"-g" "-g"
"--avoid '(^|/)(${avoid})'" # things that we want to avoid killing "--avoid '(^|/)(${avoid})'" # things that we want to avoid killing
"--prefer '(^|/)(${prefer})'" # things we want to remove fast "--prefer '(^|/)(${prefer})'" # things we want to remove fast
]; ];
}; };
caddy = { caddy = {
@ -184,7 +195,7 @@
uptime-kuma = { uptime-kuma = {
enable = true; enable = true;
settings = { PORT = "3001"; }; settings = {PORT = "3001";};
}; };
forgejo = { forgejo = {
@ -227,10 +238,9 @@
use_default_settings = true; use_default_settings = true;
server = { server = {
port = 8888; port = 8888;
secret_key = secret_key = "7360d3df7c08ce681cf6d5122e3e182de2c5205e962766abd3e6dfc8dec1b683";
"7360d3df7c08ce681cf6d5122e3e182de2c5205e962766abd3e6dfc8dec1b683";
}; };
ui = { infinite_scroll = true; }; ui = {infinite_scroll = true;};
general = { general = {
instance_name = "searchai"; instance_name = "searchai";
@ -247,7 +257,7 @@
openssh = { openssh = {
enable = true; enable = true;
openFirewall = true; openFirewall = true;
settings = { PasswordAuthentication = false; }; settings = {PasswordAuthentication = false;};
}; };
fail2ban = { fail2ban = {
@ -261,26 +271,24 @@
}; };
}; };
programs = { nix-ld.enable = true; }; programs = {nix-ld.enable = true;};
users.users.root = { users.users.root = {
openssh.authorizedKeys.keys = [ openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILPbmiNqoyeKXk/VopFm2cFfEnV4cKCFBhbhyYB69Fuu" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILPbmiNqoyeKXk/VopFm2cFfEnV4cKCFBhbhyYB69Fuu"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILLqPq70t6RbnI8UejEshYcfBP66I4OrLFjvGLLfIEXD" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILLqPq70t6RbnI8UejEshYcfBP66I4OrLFjvGLLfIEXD"
]; ];
initialHashedPassword = initialHashedPassword = "$y$j9T$TzqbL4iMGLjli6EEXfRCZ0$AhFJ4iCFxRlstth5owic3M5nq74Sp1qhtctjSBcgAl8";
"$y$j9T$TzqbL4iMGLjli6EEXfRCZ0$AhFJ4iCFxRlstth5owic3M5nq74Sp1qhtctjSBcgAl8";
}; };
users.users.pingu = { users.users.pingu = {
isNormalUser = true; isNormalUser = true;
extraGroups = [ "wheel" ]; extraGroups = ["wheel"];
openssh.authorizedKeys.keys = [ openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILPbmiNqoyeKXk/VopFm2cFfEnV4cKCFBhbhyYB69Fuu" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILPbmiNqoyeKXk/VopFm2cFfEnV4cKCFBhbhyYB69Fuu"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILLqPq70t6RbnI8UejEshYcfBP66I4OrLFjvGLLfIEXD" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILLqPq70t6RbnI8UejEshYcfBP66I4OrLFjvGLLfIEXD"
]; ];
initialHashedPassword = initialHashedPassword = "$y$j9T$cxwKGmzYyC1eLeIysr8r/.$dsxxxV4NvXY.Wpd9LO.RiuMQuy2lYyy2HGrk52BJX08";
"$y$j9T$cxwKGmzYyC1eLeIysr8r/.$dsxxxV4NvXY.Wpd9LO.RiuMQuy2lYyy2HGrk52BJX08";
}; };
users.users.minecraft = { users.users.minecraft = {
@ -295,10 +303,8 @@
openjdk21 openjdk21
openjdk17 openjdk17
screen screen
]; ];
initialHashedPassword = initialHashedPassword = "$y$j9T$KpQYYLB6eWfHAUo9.o/uy1$gnj/UlWLrx5XBZDm2GNdjHs2G5D3XxxqqtrCIf5MX43";
"$y$j9T$KpQYYLB6eWfHAUo9.o/uy1$gnj/UlWLrx5XBZDm2GNdjHs2G5D3XxxqqtrCIf5MX43";
}; };
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [

View file

@ -1,5 +1,4 @@
{ lib, ... }: {lib, ...}: {
{
disko.devices = { disko.devices = {
disk.disk1 = { disk.disk1 = {
device = lib.mkDefault "/dev/vda"; device = lib.mkDefault "/dev/vda";

View file

@ -1,6 +1,11 @@
{ inputs, pkgs, lib, ... }: { {
inputs,
pkgs,
lib,
...
}: {
# add the home manager module # add the home manager module
imports = [ inputs.ags.homeManagerModules.default ]; imports = [inputs.ags.homeManagerModules.default];
home.packages = with pkgs; [ home.packages = with pkgs; [
bun bun

View file

@ -1,5 +1,9 @@
{ pkgs, lib, config, ... } :
{ {
pkgs,
lib,
config,
...
}: {
programs.alacritty = { programs.alacritty = {
enable = true; enable = true;

View file

@ -1,4 +1,9 @@
{ pkgs, lib, config, ... }: { {
pkgs,
lib,
config,
...
}: {
home.file."Pictures/gay.png".source = ./gay.png; home.file."Pictures/gay.png".source = ./gay.png;
programs.fastfetch = { programs.fastfetch = {
enable = true; enable = true;
@ -9,7 +14,7 @@
width = 32; width = 32;
}; };
display = { separator = " "; }; display = {separator = " ";};
modules = [ modules = [
{ {

View file

@ -1,4 +1,9 @@
{ config, lib, pkgs, ... }: { {
config,
lib,
pkgs,
...
}: {
home.packages = with pkgs; [ home.packages = with pkgs; [
neofetch neofetch
]; ];
@ -63,8 +68,8 @@
''; '';
build-iso = '' build-iso = ''
cd ~/.config/nixos cd ~/.config/nixos
nix build .#nixosConfigurations.epimetheus.config.system.build.isoImage nix build .#nixosConfigurations.epimetheus.config.system.build.isoImage
''; '';
# Credit for these 3 # Credit for these 3
@ -80,7 +85,6 @@
mkcd = '' mkcd = ''
mkdir -p -- $argv[1] && cd $argv; or return $status mkdir -p -- $argv[1] && cd $argv; or return $status
''; '';
}; };
}; };

View file

@ -1,4 +1,9 @@
{ pkgs, lib, config, ... }: { {
pkgs,
lib,
config,
...
}: {
programs.foot = { programs.foot = {
enable = true; enable = true;
settings = { settings = {
@ -15,7 +20,7 @@
style = "beam"; style = "beam";
beam-thickness = 1.5; beam-thickness = 1.5;
}; };
colors = { alpha = 0.9; }; colors = {alpha = 0.9;};
}; };
}; };
} }

View file

@ -1,5 +1,9 @@
{ config, lib, pkgs, ... }:
{ {
config,
lib,
pkgs,
...
}: {
programs.starship = { programs.starship = {
enable = true; enable = true;
enableFishIntegration = true; enableFishIntegration = true;

View file

@ -1,5 +1,10 @@
{ inputs, pkgs, lib, config, ... }:
{ {
inputs,
pkgs,
lib,
config,
...
}: {
home.packages = with pkgs; [ home.packages = with pkgs; [
inputs.wezterm.packages.${pkgs.system}.default inputs.wezterm.packages.${pkgs.system}.default
]; ];

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
imports = [ imports = [
./cli/default.nix ./cli/default.nix
./hypr/default.nix ./hypr/default.nix

View file

@ -1,5 +1,10 @@
{ pkgs, config, inputs, lib, ... }: { {
pkgs,
config,
inputs,
lib,
...
}: {
imports = [ imports = [
./hyprland/rules.nix ./hyprland/rules.nix
./hyprland/keybinds.nix ./hyprland/keybinds.nix
@ -22,7 +27,7 @@
xdg.portal = { xdg.portal = {
enable = true; enable = true;
configPackages = [ config.wayland.windowManager.hyprland.package ]; configPackages = [config.wayland.windowManager.hyprland.package];
extraPortals = [ extraPortals = [
pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-gtk
inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland
@ -35,7 +40,6 @@
package = inputs.hyprland.packages."${pkgs.system}".hyprland; package = inputs.hyprland.packages."${pkgs.system}".hyprland;
settings = { settings = {
monitor = [ monitor = [
",prefered,auto,1" ",prefered,auto,1"
]; ];
@ -159,9 +163,6 @@
initial_workspace_tracking = false; initial_workspace_tracking = false;
}; };
}; };
}; };
} }

View file

@ -1,4 +1,9 @@
{ pkgs, config, inputs, ... }: { {
pkgs,
config,
inputs,
...
}: {
wayland.windowManager.hyprland.settings = { wayland.windowManager.hyprland.settings = {
exec-once = [ exec-once = [
"${pkgs.swww}/bin/swww-daemon --format xrgb" "${pkgs.swww}/bin/swww-daemon --format xrgb"

View file

@ -1,72 +1,84 @@
{ pkgs, config, inputs, ... }: { {
pkgs,
config,
inputs,
...
}: {
wayland.windowManager.hyprland.settings = { wayland.windowManager.hyprland.settings = {
bindle = [ bindle = [
",XF86AudioMute, exec, playerctl --player=spotify,%any play-pause" ",XF86AudioMute, exec, playerctl --player=spotify,%any play-pause"
",XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+" ",XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"
",XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-" ",XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
]; ];
bindm = [ "Super, mouse:272, movewindow" "Super, mouse:273, resizewindow" ]; bindm = ["Super, mouse:272, movewindow" "Super, mouse:273, resizewindow"];
bindn = [ " , up, pass, JKPS" ]; bindn = [" , up, pass, JKPS"];
binde = [ # Window split ratio binde = [
# Window split ratio
"Super, Semicolon, splitratio, -0.1" "Super, Semicolon, splitratio, -0.1"
"Super, Apostrophe, splitratio, 0.1" "Super, Apostrophe, splitratio, 0.1"
]; ];
bind = [ bind =
"Super, mouse_up, workspace, +1" [
"Super, mouse_down, workspace, -1" "Super, mouse_up, workspace, +1"
"Super, Page_up, workspace, -1" "Super, mouse_down, workspace, -1"
"Super, Page_down, workspace, +1" "Super, Page_up, workspace, -1"
"Super, Page_down, workspace, +1"
"Super+Shift, S, togglespecialworkspace" "Super+Shift, S, togglespecialworkspace"
"Super, R, exec, ${pkgs.anyrun}/bin/anyrun" "Super, R, exec, ${pkgs.anyrun}/bin/anyrun"
"Super, W, exec, ${pkgs.floorp}/bin/floorp" "Super, W, exec, ${pkgs.floorp}/bin/floorp"
"Super, Q, exec, wezterm" "Super, Q, exec, wezterm"
"Super, C, killactive" "Super, C, killactive"
"Super, V, togglefloating" "Super, V, togglefloating"
"Super, E, exec, ${pkgs.nautilus}/bin/nautilus -w" "Super, E, exec, ${pkgs.nautilus}/bin/nautilus -w"
"SUPERALT, V, exec, pkill fuzzel || cliphist list | fuzzel --icon-theme=candy-icons --background-color=1A1513dd --text-color=F8D4D2ff --match-color=FFB3B1ff --border-width=2 --border-radius=15 --border-color=EB8A89ff --selection-color=585b70ff --selection-text-color=F8D4D2ff --selection-match-color=FFB3B1ff --font='Lexend' --prompt='>> ' --dmenu | cliphist decode | wl-copy" "SUPERALT, V, exec, pkill fuzzel || cliphist list | fuzzel --icon-theme=candy-icons --background-color=1A1513dd --text-color=F8D4D2ff --match-color=FFB3B1ff --border-width=2 --border-radius=15 --border-color=EB8A89ff --selection-color=585b70ff --selection-text-color=F8D4D2ff --selection-match-color=FFB3B1ff --font='Lexend' --prompt='>> ' --dmenu | cliphist decode | wl-copy"
"Super, L, exec, ${pkgs.hyprlock}/bin/hyprlock" "Super, L, exec, ${pkgs.hyprlock}/bin/hyprlock"
# recording and ss stuff # recording and ss stuff
"Super, S, exec, pkill slurp || grimblast --freeze copy area" "Super, S, exec, pkill slurp || grimblast --freeze copy area"
# ags stuff # ags stuff
"Super + Control, R, exec, pkill ags; ags" "Super + Control, R, exec, pkill ags; ags"
"Super, Tab, exec, ags -t launcher" "Super, Tab, exec, ags -t launcher"
"Super, X, exec, ags -t powermenu" "Super, X, exec, ags -t powermenu"
## Hyprland stuff ## Hyprland stuff
"Super, Z, movewindow" "Super, Z, movewindow"
# Swap windows # Swap windows
"Super+Shift, left, movewindow, l" "Super+Shift, left, movewindow, l"
"Super+Shift, right, movewindow, r" "Super+Shift, right, movewindow, r"
"Super+Shift, up, movewindow, u" "Super+Shift, up, movewindow, u"
"Super+Shift, down, movewindow, d" "Super+Shift, down, movewindow, d"
# Move focus # Move focus
"Super, left, movefocus, l" "Super, left, movefocus, l"
"Super, right, movefocus, r" "Super, right, movefocus, r"
"Super, up, movefocus, u" "Super, up, movefocus, u"
"Super, down, movefocus, d" "Super, down, movefocus, d"
# Fullscreen
"Super+Shift, F, fullscreen, 0"
] ++ map (n:
"Alt, ${toString n}, movetoworkspacesilent, ${
toString (if n == 0 then 10 else n)
}") [ 1 2 3 4 5 6 7 8 9 0 ] ++ map (n:
"Super, ${toString n}, workspace, ${
toString (if n == 0 then 10 else n)
}") [ 1 2 3 4 5 6 7 8 9 0 ];
# Fullscreen
"Super+Shift, F, fullscreen, 0"
]
++ map (n: "Alt, ${toString n}, movetoworkspacesilent, ${
toString (
if n == 0
then 10
else n
)
}") [1 2 3 4 5 6 7 8 9 0]
++ map (n: "Super, ${toString n}, workspace, ${
toString (
if n == 0
then 10
else n
)
}") [1 2 3 4 5 6 7 8 9 0];
}; };
} }

View file

@ -1,7 +1,11 @@
{ pkgs, config, inputs, lib, ... }:
{ {
pkgs,
config,
inputs,
lib,
...
}: {
wayland.windowManager.hyprland.settings = { wayland.windowManager.hyprland.settings = {
workspace = [ workspace = [
"special:special, on-created-empty:exec spotify" "special:special, on-created-empty:exec spotify"
]; ];
@ -22,7 +26,6 @@
]; ];
windowrulev2 = [ windowrulev2 = [
]; ];
layerrule = [ layerrule = [
@ -73,6 +76,5 @@
"blur, osk" "blur, osk"
"ignorealpha 0.20, osk" "ignorealpha 0.20, osk"
]; ];
}; };
} }

View file

@ -1,5 +1,4 @@
{ config, ... }: { {config, ...}: {
programs.hyprlock = { programs.hyprlock = {
enable = true; enable = true;
settings = { settings = {
@ -10,25 +9,28 @@
no_fade_out = true; no_fade_out = true;
}; };
backgruond = { color = "rgba(000000FF)"; }; backgruond = {color = "rgba(000000FF)";};
input-field = [{ input-field = [
monitor = ""; {
size = "250, 50"; monitor = "";
outline_thickness = 2; size = "250, 50";
dots_size = 0.1; outline_thickness = 2;
dots_spacing = 0.3; dots_size = 0.1;
outer_color = "rgba(8C909F55)"; dots_spacing = 0.3;
inner_color = "rgba(0F131C11)"; outer_color = "rgba(8C909F55)";
font_color = "rgba(C2C6D6FF)"; inner_color = "rgba(0F131C11)";
font_color = "rgba(C2C6D6FF)";
position = "0, 20"; position = "0, 20";
halign = "center"; halign = "center";
valign = "center"; valign = "center";
}]; }
];
label = [ label = [
{ # Clock {
# Clock
monitor = ""; monitor = "";
text = "$TIME"; text = "$TIME";
shadow_passes = 1; shadow_passes = 1;
@ -40,7 +42,8 @@
position = "0, 300"; position = "0, 300";
} }
{ # Greeting {
# Greeting
monitor = ""; monitor = "";
text = "Hi $USER !!!"; text = "Hi $USER !!!";
shadow_passes = 1; shadow_passes = 1;
@ -54,7 +57,8 @@
valign = "center"; valign = "center";
} }
{ # lock icon {
# lock icon
monitor = ""; monitor = "";
text = "lock"; text = "lock";
shadow_passes = 1; shadow_passes = 1;
@ -68,7 +72,8 @@
valign = "center"; valign = "center";
} }
{ # "locked" text {
# "locked" text
monitor = ""; monitor = "";
text = "locked"; text = "locked";
shadow_passes = 1; shadow_passes = 1;
@ -91,7 +96,6 @@
# font_family = "Rubik Light"; # font_family = "Rubik Light";
#} #}
]; ];
}; };
}; };
} }

View file

@ -1,24 +1,27 @@
{ pkgs, lib, config, inputs, ... }: { {
pkgs,
lib,
config,
inputs,
...
}: {
imports = [ imports = [
inputs.spicetify-nix.homeManagerModules.default inputs.spicetify-nix.homeManagerModules.default
]; ];
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ nixpkgs.config.allowUnfreePredicate = pkg:
"spotify" builtins.elem (lib.getName pkg) [
]; "spotify"
];
programs.spicetify = programs.spicetify = let
let spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system}; in {
in enable = true;
{ enabledExtensions = with spicePkgs.extensions; [
enable = true; hidePodcasts
enabledExtensions = with spicePkgs.extensions; [ ];
theme = spicePkgs.themes.comfy;
hidePodcasts colorScheme = "Hikari";
]; };
theme = spicePkgs.themes.comfy;
colorScheme = "Hikari";
};
} }

View file

@ -1,6 +1,5 @@
{ inputs, ... }: {inputs, ...}: {
{ imports = [inputs.catppuccin.nixosModules.catppuccin];
imports = [ inputs.catppuccin.nixosModules.catppuccin ];
config.catppuccin = { config.catppuccin = {
enable = true; enable = true;

View file

@ -1,8 +1,12 @@
{ config, pkgs, inputs, ... }: { {
config,
pkgs,
inputs,
...
}: {
nixpkgs = { nixpkgs = {
overlays = [ inputs.nur.overlays.default ]; overlays = [inputs.nur.overlays.default];
config = { allowUnfree = true; }; config = {allowUnfree = true;};
}; };
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [

View file

@ -1,7 +1,11 @@
{ pkgs, config, ... }: { {
pkgs,
config,
...
}: {
hardware.bluetooth = { hardware.bluetooth = {
enable = true; enable = true;
settings = { General = { Experimental = true; }; }; settings = {General = {Experimental = true;};};
}; };
services.blueman.enable = true; services.blueman.enable = true;
} }

View file

@ -1,5 +1,4 @@
{ ... }: {...}: {
{
imports = [ imports = [
./pipewire.nix ./pipewire.nix
./tailscale.nix ./tailscale.nix

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: { {pkgs, ...}: {
services.jellyfin = { services.jellyfin = {
enable = true; enable = true;
openFirewall = true; openFirewall = true;

View file

@ -1,4 +1,9 @@
{ config, lib, pkgs, ... }: { {
config,
lib,
pkgs,
...
}: {
services = { services = {
pipewire = { pipewire = {
enable = true; enable = true;
@ -17,10 +22,12 @@
}; };
}; };
pipewire-pulse."92-low-latency" = { pipewire-pulse."92-low-latency" = {
"context.properties" = [{ "context.properties" = [
name = "libpipewire-module-protocol-pulse"; {
args = { }; name = "libpipewire-module-protocol-pulse";
}]; args = {};
}
];
"pulse.properties" = { "pulse.properties" = {
"pulse.min.req" = "32/48000"; "pulse.min.req" = "32/48000";
"pulse.default.req" = "32/48000"; "pulse.default.req" = "32/48000";

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: { {pkgs, ...}: {
services.tailscale = { services.tailscale = {
enable = true; enable = true;
useRoutingFeatures = "client"; useRoutingFeatures = "client";

View file

@ -1,5 +1,10 @@
{ pkgs, lib, config, ... }: {
let enableIOMMU = true; pkgs,
lib,
config,
...
}: let
enableIOMMU = true;
in { in {
boot = lib.mkIf enableIOMMU { boot = lib.mkIf enableIOMMU {
initrd.kernelModules = lib.mkBefore [ initrd.kernelModules = lib.mkBefore [
@ -35,13 +40,12 @@ in {
}; };
}; };
docker = { enable = true; }; docker = {enable = true;};
}; };
programs = { virt-manager = { enable = true; }; }; programs = {virt-manager = {enable = true;};};
users.users.pingu.extraGroups = users.users.pingu.extraGroups = ["qemu-libvirtd" "libvirtd" "disk" "kvm" "docker"];
[ "qemu-libvirtd" "libvirtd" "disk" "kvm" "docker" ];
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
python3 # scripts, cba to use nix shell all the time python3 # scripts, cba to use nix shell all the time

View file

@ -1,5 +1,9 @@
{ inputs, config, ... }: { {
imports = [ inputs.sops-nix.nixosModules.sops ]; inputs,
config,
...
}: {
imports = [inputs.sops-nix.nixosModules.sops];
sops = { sops = {
defaultSopsFile = ./secrets.yaml; defaultSopsFile = ./secrets.yaml;