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,16 +67,22 @@
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,
nixpkgs-smol,
chaotic,
home-manager,
disko,
...
} @ inputs: let
system = "x86_64-linux";
in { in {
nixosConfigurations = { nixosConfigurations = {
nyx = nixpkgs.lib.nixosSystem { nyx = nixpkgs.lib.nixosSystem {
@ -103,17 +109,15 @@
# }; # };
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 = modules = [./hosts/epimetheus/configuration.nix disko.nixosModules.disko];
[ ./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"; device = "/var/lib/swapfile";
size = 16 * 1024; 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"; address = "178.63.118.252";
prefixLength = 32; prefixLength = 32;
}]; }
];
routes = [{ routes = [
{
address = "178.63.247.183"; address = "178.63.247.183";
prefixLength = 32; 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
]; ];
@ -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,22 +1,28 @@
{ 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_up, workspace, +1"
"Super, mouse_down, workspace, -1" "Super, mouse_down, workspace, -1"
"Super, Page_up, workspace, -1" "Super, Page_up, workspace, -1"
@ -59,14 +65,20 @@
# Fullscreen # Fullscreen
"Super+Shift, F, fullscreen, 0" "Super+Shift, F, fullscreen, 0"
]
] ++ map (n: ++ map (n: "Alt, ${toString n}, movetoworkspacesilent, ${
"Alt, ${toString n}, movetoworkspacesilent, ${ toString (
toString (if n == 0 then 10 else n) if n == 0
}") [ 1 2 3 4 5 6 7 8 9 0 ] ++ map (n: then 10
"Super, ${toString n}, workspace, ${ else n
toString (if n == 0 then 10 else n) )
}") [ 1 2 3 4 5 6 7 8 9 0 ]; }") [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,9 +9,10 @@
no_fade_out = true; no_fade_out = true;
}; };
backgruond = { color = "rgba(000000FF)"; }; backgruond = {color = "rgba(000000FF)";};
input-field = [{ input-field = [
{
monitor = ""; monitor = "";
size = "250, 50"; size = "250, 50";
outline_thickness = 2; outline_thickness = 2;
@ -25,10 +25,12 @@
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,21 +1,24 @@
{ 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:
builtins.elem (lib.getName pkg) [
"spotify" "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; enable = true;
enabledExtensions = with spicePkgs.extensions; [ enabledExtensions = with spicePkgs.extensions; [
hidePodcasts hidePodcasts
]; ];
theme = spicePkgs.themes.comfy; theme = spicePkgs.themes.comfy;

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"; name = "libpipewire-module-protocol-pulse";
args = { }; 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;