mirror of
https://github.com/Ascyii/nixos.git
synced 2026-01-01 14:54:26 -05:00
Compare commits
17 Commits
main
...
dc1e64865f
| Author | SHA1 | Date | |
|---|---|---|---|
| dc1e64865f | |||
| 0274f875c4 | |||
| 4cb53654c9 | |||
| b6a66eaa4d | |||
| 2668919af5 | |||
| 725e46b62d | |||
| 1f67fd271e | |||
| d073da6b38 | |||
| 4729da1505 | |||
| 0ada014d4a | |||
| c574bf8e0f | |||
| 4e000023c7 | |||
| a8fdabe1d8 | |||
| 0d1d0018ff | |||
| f7533d4ffa | |||
| 2ea3065c4f | |||
| f8557c66ea |
24
flake.lock
generated
24
flake.lock
generated
@@ -134,11 +134,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1756245065,
|
"lastModified": 1758463745,
|
||||||
"narHash": "sha256-aAZNbGcWrVRZgWgkQbkabSGcDVRDMgON4BipMy69gvI=",
|
"narHash": "sha256-uhzsV0Q0I9j2y/rfweWeGif5AWe0MGrgZ/3TjpDYdGA=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "54b2879ce622d44415e727905925e21b8f833a98",
|
"rev": "3b955f5f0a942f9f60cdc9cacb7844335d0f21c3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -449,11 +449,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1756469547,
|
"lastModified": 1760139962,
|
||||||
"narHash": "sha256-YvtD2E7MYsQ3r7K9K2G7nCslCKMPShoSEAtbjHLtH0k=",
|
"narHash": "sha256-4xggC56Rub3WInz5eD7EZWXuLXpNvJiUPahGtMkwtuc=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "41d292bfc37309790f70f4c120b79280ce40af16",
|
"rev": "7e297ddff44a3cc93673bb38d0374df8d0ad73e4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -479,11 +479,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1756542300,
|
"lastModified": 1760284886,
|
||||||
"narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=",
|
"narHash": "sha256-TK9Kr0BYBQ/1P5kAsnNQhmWWKgmZXwUQr4ZMjCzWf2c=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "d7600c775f877cd87b4f5a831c28aa94137377aa",
|
"rev": "cf3f5c4def3c7b5f1fc012b3d839575dbe552d43",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -612,11 +612,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1754988908,
|
"lastModified": 1760393368,
|
||||||
"narHash": "sha256-t+voe2961vCgrzPFtZxha0/kmFSHFobzF00sT8p9h0U=",
|
"narHash": "sha256-8mN3kqyqa2PKY0wwZ2UmMEYMcxvNTwLaOrrDsw6Qi4E=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "3223c7a92724b5d804e9988c6b447a0d09017d48",
|
"rev": "ab8d56e85b8be14cff9d93735951e30c3e86a437",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -19,6 +19,7 @@
|
|||||||
"github:xremap/nix-flake?rev=8001f37b1ffe86e76b62f36afadee2f4acf90e70"; # One commit behind head
|
"github:xremap/nix-flake?rev=8001f37b1ffe86e76b62f36afadee2f4acf90e70"; # One commit behind head
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Understand what everything does
|
||||||
outputs =
|
outputs =
|
||||||
{ self, nixpkgs, nixpkgs-unstable, sops-nix, home-manager, ... }@inputs:
|
{ self, nixpkgs, nixpkgs-unstable, sops-nix, home-manager, ... }@inputs:
|
||||||
let
|
let
|
||||||
|
|||||||
@@ -9,13 +9,8 @@
|
|||||||
./../../modules/essential.nix
|
./../../modules/essential.nix
|
||||||
./../../modules/common/sops.nix
|
./../../modules/common/sops.nix
|
||||||
|
|
||||||
# This is buggy right now
|
|
||||||
#./../../modules/services/webdav.nix
|
|
||||||
# Not working right now due to nvidia problems
|
|
||||||
# It worked fine on another machine thats why I am wondering
|
|
||||||
#./../../modules/services/ai.nix
|
|
||||||
|
|
||||||
./../../modules/graphics/workstation.nix
|
./../../modules/graphics/workstation.nix
|
||||||
|
./../../modules/graphics/grayscale.nix
|
||||||
|
|
||||||
./../../modules/hardware/nvidia.nix
|
./../../modules/hardware/nvidia.nix
|
||||||
./../../modules/hardware/boot.nix
|
./../../modules/hardware/boot.nix
|
||||||
@@ -23,30 +18,41 @@
|
|||||||
];
|
];
|
||||||
|
|
||||||
networking.hostName = "minoxy";
|
networking.hostName = "minoxy";
|
||||||
enableCuda = false;
|
|
||||||
|
|
||||||
systemd.targets.sleep.enable = true;
|
|
||||||
systemd.targets.suspend.enable = true;
|
|
||||||
|
|
||||||
programs.ydotool.enable = true;
|
|
||||||
services.input-remapper.enable = true;
|
|
||||||
|
|
||||||
fileSystems."/shared" = {
|
|
||||||
device = "/dev/disk/by-uuid/8CEA-13E3"; # use lsblk -f
|
|
||||||
fsType = "exfat";
|
|
||||||
options = [ "defaults" "uid=1000" "gid=100" "umask=000" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
# Testing
|
|
||||||
#environment.etc."mnt/jousb".source = "/mnt/jousb"; # ensures directory exists
|
|
||||||
#services.udev.extraRules = ''
|
|
||||||
# ACTION=="add", SUBSYSTEM=="block", ENV{ID_FS_LABEL}=="JOUSB", RUN+="${pkgs.mount}/bin/mount /dev/disk/by-label/JOUSB /mnt/jousb"
|
|
||||||
# ACTION=="remove", SUBSYSTEM=="block", ENV{ID_FS_LABEL}=="JOUSB", RUN+="${pkgs.umount}/bin/umount /mnt/jousb"
|
|
||||||
#'';
|
|
||||||
|
|
||||||
virtualisation.docker.enable = true;
|
virtualisation.docker.enable = true;
|
||||||
|
|
||||||
|
# Add file systems
|
||||||
|
boot.supportedFilesystems = [ "ntfs" "exfat" ];
|
||||||
|
|
||||||
|
# Hide the windows disk in the file explorer
|
||||||
|
services.udev.extraRules = ''
|
||||||
|
# Ignore internal NVMe Windows partition
|
||||||
|
SUBSYSTEM=="block", ENV{ID_FS_UUID}=="A09C8D5E9C8D2FB8", ENV{UDISKS_IGNORE}="1"
|
||||||
|
'';
|
||||||
|
|
||||||
|
|
||||||
|
# TODO: Make all your working systems go to ext4 on the full disk for ease of use and storage
|
||||||
virtualisation.docker.storageDriver = "btrfs";
|
virtualisation.docker.storageDriver = "btrfs";
|
||||||
|
|
||||||
|
security.sudo.extraConfig = ''
|
||||||
|
# Sudoers config goes here
|
||||||
|
'';
|
||||||
|
|
||||||
|
services = {
|
||||||
|
syncthing = {
|
||||||
|
enable = true;
|
||||||
|
user = "jonas";
|
||||||
|
dataDir = "/home/jonas/Syncthing"; # Default folder for new synced folders
|
||||||
|
configDir = "/home/jonas/.config/syncthing"; # Folder for Syncthing's settings and keys
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.extraHosts = ''
|
||||||
|
127.0.0.1 jonas.local
|
||||||
|
'';
|
||||||
|
|
||||||
|
fonts.fontDir.enable = true;
|
||||||
|
|
||||||
# Never change this!
|
# Never change this!
|
||||||
system.stateVersion = "25.05";
|
system.stateVersion = "25.05";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,41 +4,45 @@
|
|||||||
{ config, lib, pkgs, modulesPath, ... }:
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod" "sr_mod" ];
|
boot.initrd.availableKernelModules =
|
||||||
|
[ "xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod" "sr_mod" ];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [ ];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = [ "kvm-intel" "ecryptfs" ];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
# FUll btrfs config
|
fileSystems."/shared" = {
|
||||||
fileSystems."/" =
|
device = "/dev/disk/by-uuid/8CEA-13E3"; # use lsblk -f
|
||||||
{ device = "/dev/disk/by-uuid/e52b1440-66f3-4129-b3c0-fba3491e2bbc";
|
fsType = "exfat";
|
||||||
fsType = "btrfs";
|
options = [ "defaults" "uid=1000" "gid=100" "umask=000" ];
|
||||||
options = [ "subvol=root" ];
|
};
|
||||||
};
|
|
||||||
fileSystems."/home" =
|
|
||||||
{ device = "/dev/disk/by-uuid/e52b1440-66f3-4129-b3c0-fba3491e2bbc";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvol=home" ];
|
|
||||||
};
|
|
||||||
fileSystems."/nix" =
|
|
||||||
{ device = "/dev/disk/by-uuid/e52b1440-66f3-4129-b3c0-fba3491e2bbc";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvol=nix" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/boot" =
|
# FUll btrfs config
|
||||||
{ device = "/dev/disk/by-uuid/3091-F0BF";
|
fileSystems."/" = {
|
||||||
fsType = "vfat";
|
device = "/dev/disk/by-uuid/e52b1440-66f3-4129-b3c0-fba3491e2bbc";
|
||||||
options = [ "fmask=0022" "dmask=0022" ];
|
fsType = "btrfs";
|
||||||
};
|
options = [ "subvol=root" ];
|
||||||
|
};
|
||||||
|
fileSystems."/home" = {
|
||||||
|
device = "/dev/disk/by-uuid/e52b1440-66f3-4129-b3c0-fba3491e2bbc";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=home" ];
|
||||||
|
};
|
||||||
|
fileSystems."/nix" = {
|
||||||
|
device = "/dev/disk/by-uuid/e52b1440-66f3-4129-b3c0-fba3491e2bbc";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=nix" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" = {
|
||||||
|
device = "/dev/disk/by-uuid/3091-F0BF";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [ "fmask=0022" "dmask=0022" ];
|
||||||
|
};
|
||||||
|
|
||||||
swapDevices =
|
swapDevices =
|
||||||
[ { device = "/dev/disk/by-uuid/3e591e27-c6c5-4e28-900b-f899bc3d5e70"; }
|
[{ device = "/dev/disk/by-uuid/3e591e27-c6c5-4e28-900b-f899bc3d5e70"; }];
|
||||||
];
|
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# 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
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
@@ -49,5 +53,6 @@
|
|||||||
# networking.interfaces.wlp112s0.useDHCP = lib.mkDefault true;
|
# networking.interfaces.wlp112s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
hardware.cpu.intel.updateMicrocode =
|
||||||
|
lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,9 +16,8 @@
|
|||||||
./../../modules/laptop/battery.nix
|
./../../modules/laptop/battery.nix
|
||||||
|
|
||||||
./../../modules/graphics/workstation.nix
|
./../../modules/graphics/workstation.nix
|
||||||
|
./../../modules/graphics/grayscale.nix
|
||||||
#./../../modules/services/webdav.nix
|
./../../modules/services/printer.nix
|
||||||
./../../modules/services/scanning.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
networking.hostName = "nixyos";
|
networking.hostName = "nixyos";
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" "rtsx_usb_sdmmc" ];
|
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" "rtsx_usb_sdmmc" ];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = [ "kvm-intel" "ecryptfs" ];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" =
|
||||||
{ device = "/dev/disk/by-uuid/881615c5-5c12-46c5-8bd2-1959f9347980";
|
{ device = "/dev/disk/by-uuid/881615c5-5c12-46c5-8bd2-1959f9347980";
|
||||||
|
|||||||
@@ -13,29 +13,26 @@
|
|||||||
./../../modules/hardware/boot.nix
|
./../../modules/hardware/boot.nix
|
||||||
|
|
||||||
./../../modules/graphics/workstation.nix
|
./../../modules/graphics/workstation.nix
|
||||||
|
./../../modules/graphics/grayscale.nix
|
||||||
|
|
||||||
./../../modules/laptop/powersave.nix
|
./../../modules/laptop/powersave.nix
|
||||||
./../../modules/laptop/battery.nix
|
./../../modules/laptop/battery.nix
|
||||||
|
./../../modules/services/printer.nix
|
||||||
#./../../modules/services/webdav.nix
|
|
||||||
./../../modules/services/scanning.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
networking.hostName = "thinix";
|
networking.hostName = "thinix";
|
||||||
batMode = "double";
|
batMode = "double";
|
||||||
# Cannot have this and tlp
|
|
||||||
#services.power-profiles-daemon.enable = true;
|
|
||||||
|
|
||||||
programs.gnupg.agent = {
|
|
||||||
enable = true;
|
|
||||||
pinentryPackage = with pkgs; pinentry-all;
|
|
||||||
enableSSHSupport = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices = [{
|
swapDevices = [{
|
||||||
device = "/swapfile";
|
device = "/swapfile";
|
||||||
size = 4096;
|
size = 4096;
|
||||||
}];
|
}];
|
||||||
|
|
||||||
system.stateVersion = "24.11";
|
services.xserver.xkb = {
|
||||||
|
layout = "us"; # or "us" or whatever base
|
||||||
|
variant = "neo"; # for Neo2
|
||||||
|
};
|
||||||
|
console.useXkbConfig = true; # to make it apply on TTY too
|
||||||
|
|
||||||
|
system.stateVersion = "24.11"; # Dont change this
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
|
#boot.kernelModules = [ "ecryptfs" ];
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" ];
|
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" ];
|
||||||
|
|
||||||
fileSystems = {
|
fileSystems = {
|
||||||
|
|||||||
@@ -5,10 +5,37 @@
|
|||||||
services.locate.enable = true;
|
services.locate.enable = true;
|
||||||
services.openssh.enable = true;
|
services.openssh.enable = true;
|
||||||
|
|
||||||
|
hardware.enableAllFirmware = true;
|
||||||
|
|
||||||
|
services = {
|
||||||
|
udisks2.enable = true;
|
||||||
|
gvfs.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
security.polkit.enable = true;
|
||||||
|
security.pam.services.login.enableGnomeKeyring = true;
|
||||||
|
services.gnome.gnome-keyring.enable = true;
|
||||||
|
#security.pam.enableEcryptfs = true;
|
||||||
|
|
||||||
|
security.polkit.extraConfig = ''
|
||||||
|
polkit.addRule(function(action, subject) {
|
||||||
|
if (action.id == "org.freedesktop.udisks2.filesystem-mount-system" &&
|
||||||
|
subject.isInGroup("wheel")) {
|
||||||
|
return polkit.Result.YES;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
'';
|
||||||
|
|
||||||
# Nix fun
|
# Nix fun
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
nix.settings.experimental-features = [ "flakes" "nix-command" ];
|
nix.settings.experimental-features = [ "flakes" "nix-command" ];
|
||||||
|
|
||||||
|
programs.gnupg.agent = {
|
||||||
|
enable = true;
|
||||||
|
pinentryPackage = with pkgs; pinentry-all;
|
||||||
|
enableSSHSupport = true;
|
||||||
|
};
|
||||||
|
|
||||||
time.timeZone = "Europe/Berlin";
|
time.timeZone = "Europe/Berlin";
|
||||||
programs.nix-ld.enable = true; # Linking support
|
programs.nix-ld.enable = true; # Linking support
|
||||||
|
|
||||||
@@ -16,7 +43,9 @@
|
|||||||
services.avahi.enable = true;
|
services.avahi.enable = true;
|
||||||
services.avahi.nssmdns4 = true;
|
services.avahi.nssmdns4 = true;
|
||||||
|
|
||||||
environment = { systemPackages = with pkgs; [ xorg.xrandr git starship zoxide rsync ]; };
|
environment = {
|
||||||
|
systemPackages = with pkgs; [ yazi tmux git starship zoxide rsync xorg.libX11.dev rclone neovim alacritty gtk4.dev ];
|
||||||
|
};
|
||||||
|
|
||||||
nix.optimise.automatic = true;
|
nix.optimise.automatic = true;
|
||||||
|
|
||||||
@@ -29,10 +58,10 @@
|
|||||||
networking = { networkmanager = { enable = true; }; };
|
networking = { networkmanager = { enable = true; }; };
|
||||||
|
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
console = {
|
#console = {
|
||||||
font = "Lat2-Terminus16";
|
# font = "Lat2-Terminus16";
|
||||||
keyMap = "us";
|
# keyMap = "us";
|
||||||
};
|
#};
|
||||||
|
|
||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -43,4 +72,6 @@
|
|||||||
[ "history-substring-search" "git" "zoxide" "vi-mode" "systemadmin" ];
|
[ "history-substring-search" "git" "zoxide" "vi-mode" "systemadmin" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
programs.ydotool.enable = true;
|
||||||
}
|
}
|
||||||
|
|||||||
28
modules/graphics/grayscale.nix
Normal file
28
modules/graphics/grayscale.nix
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
user = "jonas";
|
||||||
|
uid = "1000";
|
||||||
|
in {
|
||||||
|
systemd.user.services.hyprshade-toggle = {
|
||||||
|
description = "Toggle Hyprshade grayscale";
|
||||||
|
enable = true;
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "oneshot";
|
||||||
|
ExecStart = "${pkgs.bash}/bin/bash /home/${user}/projects/scripts/shell/toggle_grayscale.sh";
|
||||||
|
Environment = ''
|
||||||
|
PATH=/home/jonas/.nix-profile/bin:/run/current-system/sw/bin:/usr/bin:${pkgs.hyprshade}/bin
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.user.timers.hyprshade-toggle = {
|
||||||
|
description = "Run hyprshade toggle";
|
||||||
|
timerConfig = {
|
||||||
|
OnBootSec = "1min";
|
||||||
|
OnUnitActiveSec = "3min";
|
||||||
|
AccuracySec = "30s";
|
||||||
|
};
|
||||||
|
wantedBy = [ "timers.target" ];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -7,6 +7,7 @@
|
|||||||
QT_QPA_PLATFORMTHEME = "qt6ct";
|
QT_QPA_PLATFORMTHEME = "qt6ct";
|
||||||
QT_STYLE_OVERRIDE = "kvantum";
|
QT_STYLE_OVERRIDE = "kvantum";
|
||||||
QT_QPA_PLATFORM = "xcb";
|
QT_QPA_PLATFORM = "xcb";
|
||||||
|
TERM = "alacritty";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -6,10 +6,6 @@ in {
|
|||||||
enableCuda = mkOption {
|
enableCuda = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
description = ''
|
|
||||||
Enable CUDA support for Blender and other packages.
|
|
||||||
Warning: This can cause very long build times.
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
nvidiaOpen = mkOption {
|
nvidiaOpen = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
@@ -29,16 +25,5 @@ in {
|
|||||||
nvidiaSettings = true;
|
nvidiaSettings = true;
|
||||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Apply CUDA-specific settings if enabled
|
|
||||||
nixpkgs.config.cudaSupport = config.enableCuda;
|
|
||||||
hardware.enableAllFirmware = true;
|
|
||||||
|
|
||||||
environment.systemPackages = (if config.enableCuda then
|
|
||||||
[
|
|
||||||
(pkgs.blender.override { cudaSupport = true; })
|
|
||||||
]
|
|
||||||
else
|
|
||||||
[ ]);
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +0,0 @@
|
|||||||
{ ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [ ../hardware/nvidia.nix ];
|
|
||||||
|
|
||||||
services.ollama = {
|
|
||||||
enable = true;
|
|
||||||
acceleration = "cuda";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -6,4 +6,6 @@
|
|||||||
hardware.sane.extraBackends = [ pkgs.sane-airscan ];
|
hardware.sane.extraBackends = [ pkgs.sane-airscan ];
|
||||||
hardware.sane.disabledDefaultBackends = [ "escl" ];
|
hardware.sane.disabledDefaultBackends = [ "escl" ];
|
||||||
services.udev.packages = [ pkgs.sane-airscan ];
|
services.udev.packages = [ pkgs.sane-airscan ];
|
||||||
|
|
||||||
|
services.printing.enable = true;
|
||||||
}
|
}
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
{ ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
services.printing.enable = true;
|
|
||||||
}
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
{ ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
# For web mounting
|
|
||||||
services.davfs2.enable = true;
|
|
||||||
|
|
||||||
# Load the secret
|
|
||||||
sops = {
|
|
||||||
secrets = {
|
|
||||||
webdav_authstring = {
|
|
||||||
mode = "0600";
|
|
||||||
path = "/etc/davfs2/secrets";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.mounts = [{
|
|
||||||
description = "Webdav mount point";
|
|
||||||
after = [ "network-online.target" ];
|
|
||||||
wants = [ "network-online.target" ];
|
|
||||||
what = "https://dav.hahn1.one";
|
|
||||||
where = "/webdav";
|
|
||||||
type = "davfs";
|
|
||||||
options = "uid=1000,gid=1000,file_mode=0664,dir_mode=2775,_netdev";
|
|
||||||
mountConfig.TimeoutSec = "5s";
|
|
||||||
}];
|
|
||||||
|
|
||||||
systemd.automounts = [{
|
|
||||||
description = "Webdav automount";
|
|
||||||
where = "/webdav";
|
|
||||||
wantedBy = [ "multi-user.target" ];
|
|
||||||
automountConfig = { TimeoutIdleSec = "2m"; };
|
|
||||||
}];
|
|
||||||
}
|
|
||||||
@@ -3,8 +3,6 @@
|
|||||||
{
|
{
|
||||||
imports = [ ./packages.nix ];
|
imports = [ ./packages.nix ];
|
||||||
|
|
||||||
services.gnome-keyring.enable = true;
|
|
||||||
|
|
||||||
xdg.mimeApps = {
|
xdg.mimeApps = {
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultApplications = {
|
defaultApplications = {
|
||||||
@@ -20,6 +18,46 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Enable and configure the gnome terminal for the nemo file manager
|
||||||
|
programs.gnome-terminal = {
|
||||||
|
enable = true;
|
||||||
|
showMenubar = false;
|
||||||
|
themeVariant = "dark";
|
||||||
|
profile."17ef1520-f08d-403f-b033-d8ccee6b01f9" = {
|
||||||
|
visibleName = "MainHome";
|
||||||
|
transparencyPercent = 60;
|
||||||
|
font = "FiraCode Nerd Font 12"; # Fira is installed on the system by the nixos config
|
||||||
|
default = true;
|
||||||
|
audibleBell = false;
|
||||||
|
cursorBlinkMode = "off";
|
||||||
|
colors = {
|
||||||
|
backgroundColor = "#1d1d1d";
|
||||||
|
cursor = {
|
||||||
|
foreground = "#1d1d1d"; # text inside cursor
|
||||||
|
background = "#ffb86c"; # light orange block
|
||||||
|
};
|
||||||
|
foregroundColor = "#f7f6ec";
|
||||||
|
palette = [ "#343835" "#ce3e60" "#7bb75b" "#e8b32a" "#4c99d3" "#a57fc4" "#389aac" "#f9faf6"
|
||||||
|
"#585a58" "#d18ea6" "#767e2b" "#77592e" "#337879" "#7f5190" "#76bbca" "#b1b5ae" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.udiskie = {
|
||||||
|
enable = true;
|
||||||
|
notify = true;
|
||||||
|
automount = true;
|
||||||
|
tray = "auto";
|
||||||
|
settings = {
|
||||||
|
# workaround for
|
||||||
|
# https://github.com/nix-community/home-manager/issues/632
|
||||||
|
program_options = {
|
||||||
|
# replace with your favorite file manager
|
||||||
|
file_manager = "${pkgs.nemo-with-extensions}/bin/nemo";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
xdg.desktopEntries.fehcustom = {
|
xdg.desktopEntries.fehcustom = {
|
||||||
name = "FehCustom";
|
name = "FehCustom";
|
||||||
terminal = false;
|
terminal = false;
|
||||||
@@ -37,6 +75,7 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Theming for ease of use of gui apps
|
||||||
gtk = {
|
gtk = {
|
||||||
enable = true;
|
enable = true;
|
||||||
iconTheme = {
|
iconTheme = {
|
||||||
@@ -48,21 +87,25 @@
|
|||||||
package = pkgs.gnome-themes-extra;
|
package = pkgs.gnome-themes-extra;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
qt = {
|
qt = {
|
||||||
enable = true;
|
enable = true;
|
||||||
platformTheme.name = "qtct";
|
platformTheme.name = "qtct";
|
||||||
style.name = "Kvantum";
|
style.name = "kvantum";
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg.configFile."Kvantum/kvantum.kvconfig".source =
|
xdg.configFile."Kvantum/kvantum.kvconfig".source =
|
||||||
(pkgs.formats.ini { }).generate "kvantum.kvconfig" {
|
(pkgs.formats.ini { }).generate "kvantum.kvconfig" {
|
||||||
General.theme = "Catppuccin-Frappe-Rosewater";
|
General.theme = "KvAdaptaDark";
|
||||||
};
|
};
|
||||||
xdg.configFile."qt6ct/qt6ct.conf".source = pkgs.writeTextFile {
|
xdg.configFile."qt6ct/qt6ct.conf".source = pkgs.writeTextFile {
|
||||||
name = "qt6ct.conf";
|
name = "qt6ct.conf";
|
||||||
text =
|
text =
|
||||||
" [Appearance]\n color_scheme_path=${pkgs.qt6ct}/share/qt6ct/colors/airy.conf\n custom_palette=false\n icon_theme=Papirus-Dark\n standard_dialogs=default\n style=kvantum\n";
|
''
|
||||||
|
[Appearance]
|
||||||
|
icon_theme=Papirus-Dark
|
||||||
|
style=kvantum
|
||||||
|
standard_dialogs=default
|
||||||
|
'';
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.starship = {
|
programs.starship = {
|
||||||
@@ -83,5 +126,5 @@
|
|||||||
|
|
||||||
# Let Home Manager install and manage itself.
|
# Let Home Manager install and manage itself.
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
home.stateVersion = "24.11";
|
home.stateVersion = "24.11"; # Dont change
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,185 +2,157 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
weechat
|
########################################
|
||||||
clang
|
# GUI #
|
||||||
libcxx
|
########################################
|
||||||
just
|
|
||||||
deno
|
# --- Core GUI ---
|
||||||
alacritty
|
alacritty
|
||||||
ffmpeg
|
kitty
|
||||||
|
|
||||||
pavucontrol
|
|
||||||
iamb
|
|
||||||
sdkmanager
|
|
||||||
air
|
|
||||||
nmap
|
|
||||||
wakeonlan
|
|
||||||
wiki-tui
|
|
||||||
ansible
|
|
||||||
terraform
|
|
||||||
android-tools
|
|
||||||
|
|
||||||
vscode
|
vscode
|
||||||
|
libreoffice
|
||||||
|
unstable.sioyek
|
||||||
|
zathura
|
||||||
|
qalculate-qt
|
||||||
|
|
||||||
|
# --- Communication & Internet ---
|
||||||
|
discord
|
||||||
|
thunderbird
|
||||||
|
tor-browser
|
||||||
|
unstable.signal-desktop
|
||||||
|
qbittorrent
|
||||||
|
ausweisapp
|
||||||
|
nextcloud-client
|
||||||
|
spotify
|
||||||
|
|
||||||
|
# --- Media & Desktop Tools ---
|
||||||
simple-scan
|
simple-scan
|
||||||
obsidian
|
|
||||||
rclone
|
|
||||||
|
|
||||||
sops
|
|
||||||
gimp
|
gimp
|
||||||
audio-recorder
|
audio-recorder
|
||||||
cheese
|
cheese
|
||||||
age
|
mpv
|
||||||
git-lfs
|
|
||||||
|
|
||||||
tor
|
|
||||||
torsocks
|
|
||||||
w3m
|
|
||||||
timer
|
|
||||||
qbittorrent
|
|
||||||
discord
|
|
||||||
blender
|
|
||||||
audacity
|
|
||||||
zoom-us
|
|
||||||
vlc
|
|
||||||
thunderbird
|
|
||||||
obsidian
|
obsidian
|
||||||
obs-studio
|
rnote
|
||||||
prismlauncher
|
nemo-with-extensions
|
||||||
inkscape
|
xournalpp
|
||||||
|
anki
|
||||||
|
|
||||||
shotcut
|
hyprshot # All the hypr stuff
|
||||||
|
hyprpicker
|
||||||
|
hyprlock
|
||||||
|
hypridle
|
||||||
|
hyprshade
|
||||||
|
hyprsunset
|
||||||
|
hyprpaper
|
||||||
|
|
||||||
todo-txt-cli
|
waybar
|
||||||
systemctl-tui
|
dunst
|
||||||
acpi
|
networkmanagerapplet
|
||||||
|
pavucontrol
|
||||||
feh
|
feh
|
||||||
|
|
||||||
watson
|
|
||||||
slides
|
|
||||||
|
|
||||||
imagemagick
|
|
||||||
xdragon
|
xdragon
|
||||||
|
tofi
|
||||||
luarocks
|
|
||||||
|
|
||||||
gradle
|
|
||||||
openjdk
|
|
||||||
|
|
||||||
findutils.locate
|
|
||||||
ethtool
|
|
||||||
qalculate-qt
|
|
||||||
wl-clip-persist
|
|
||||||
btop
|
|
||||||
fastfetch
|
|
||||||
zathura
|
|
||||||
eza
|
|
||||||
fuzzel
|
fuzzel
|
||||||
|
|
||||||
networkmanagerapplet
|
########################################
|
||||||
gdu
|
# CLI #
|
||||||
hyprpaper
|
########################################
|
||||||
tokei
|
|
||||||
fzf
|
|
||||||
glibc
|
|
||||||
gnumake
|
|
||||||
ninja
|
|
||||||
cmake
|
|
||||||
meson
|
|
||||||
lld
|
|
||||||
|
|
||||||
vscode-langservers-extracted
|
# --- Essentials & Navigation ---
|
||||||
|
|
||||||
clang
|
|
||||||
clang-tools # Provides clangd
|
|
||||||
go
|
|
||||||
bitwarden-desktop
|
|
||||||
libinput
|
|
||||||
cudaPackages.cudatoolkit
|
|
||||||
ydotool
|
|
||||||
input-remapper
|
|
||||||
ausweisapp
|
|
||||||
spotify
|
|
||||||
pgadmin4
|
|
||||||
dig
|
|
||||||
lazydocker
|
|
||||||
libtool
|
|
||||||
love
|
|
||||||
lua
|
|
||||||
zig
|
|
||||||
cargo
|
|
||||||
tor-browser
|
|
||||||
bitwarden-cli
|
|
||||||
rpi-imager
|
|
||||||
cppcheck
|
|
||||||
lazygit
|
|
||||||
nodejs
|
|
||||||
ripgrep
|
ripgrep
|
||||||
signal-desktop
|
|
||||||
unison
|
|
||||||
php
|
|
||||||
intelephense
|
|
||||||
trash-cli
|
|
||||||
|
|
||||||
# Full haskell development environment
|
|
||||||
haskellPackages.ghc
|
|
||||||
haskellPackages.cabal-install
|
|
||||||
haskellPackages.stack
|
|
||||||
haskellPackages.hoogle
|
|
||||||
haskellPackages.haskell-language-server
|
|
||||||
|
|
||||||
python3
|
|
||||||
|
|
||||||
fd
|
fd
|
||||||
ttyper
|
gcr # Keyring
|
||||||
zoxide
|
fzf
|
||||||
vim
|
eza
|
||||||
tofi
|
|
||||||
bat
|
bat
|
||||||
dunst
|
vim
|
||||||
killall
|
unstable.neovim
|
||||||
libreoffice
|
|
||||||
perl
|
|
||||||
pipx
|
|
||||||
waybar
|
|
||||||
stow
|
|
||||||
brightnessctl
|
|
||||||
anki
|
|
||||||
unstable.typst
|
|
||||||
mediainfo
|
|
||||||
powertop
|
|
||||||
exiftool
|
|
||||||
curl
|
|
||||||
sioyek
|
|
||||||
|
|
||||||
xournalpp
|
|
||||||
rnote
|
|
||||||
emacs
|
emacs
|
||||||
hyprshot
|
inotify-tools
|
||||||
hyprpicker
|
stow
|
||||||
hyprsunset
|
|
||||||
|
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
|
wl-clip-persist
|
||||||
mpv
|
killall
|
||||||
gitui
|
trash-cli
|
||||||
keepassxc
|
file
|
||||||
kitty
|
|
||||||
unstable.yazi
|
|
||||||
neovim
|
|
||||||
htop
|
|
||||||
alpine
|
|
||||||
wget
|
|
||||||
tmux
|
|
||||||
|
|
||||||
zip
|
zip
|
||||||
xz
|
xz
|
||||||
unzip
|
unzip
|
||||||
|
|
||||||
file
|
# --- System & Network ---
|
||||||
gnupg
|
btop
|
||||||
|
iotop
|
||||||
|
fastfetch
|
||||||
|
acpi
|
||||||
|
brightnessctl
|
||||||
|
ethtool
|
||||||
|
findutils
|
||||||
|
nmap
|
||||||
|
wakeonlan
|
||||||
|
tor
|
||||||
|
torsocks
|
||||||
|
w3m
|
||||||
|
curl
|
||||||
|
wget
|
||||||
|
libinput
|
||||||
|
mtr
|
||||||
|
gdu
|
||||||
|
timer
|
||||||
|
|
||||||
nix-output-monitor
|
# --- Productivity & Misc ---
|
||||||
|
just
|
||||||
|
todo-txt-cli
|
||||||
|
typst
|
||||||
|
systemctl-tui
|
||||||
|
wiki-tui
|
||||||
|
watson
|
||||||
|
slides
|
||||||
|
imagemagick
|
||||||
|
immich-cli
|
||||||
|
parted
|
||||||
|
lsof
|
||||||
|
tt
|
||||||
|
bitwarden-cli
|
||||||
|
lazydocker
|
||||||
|
poppler_utils
|
||||||
|
prismlauncher
|
||||||
|
entr
|
||||||
|
yq
|
||||||
|
lazygit
|
||||||
|
gitui
|
||||||
|
tokei
|
||||||
|
dig
|
||||||
|
unstable.yazi
|
||||||
|
|
||||||
|
# --- Languages & Package Managers ---
|
||||||
|
python3
|
||||||
|
nodejs
|
||||||
|
go
|
||||||
|
lua
|
||||||
|
luarocks
|
||||||
|
deno
|
||||||
|
pipx
|
||||||
|
gradle
|
||||||
|
openjdk
|
||||||
|
|
||||||
|
# --- Build Tools ---
|
||||||
|
clang
|
||||||
|
clang-tools
|
||||||
|
gnumake
|
||||||
|
cmake
|
||||||
|
ninja
|
||||||
|
meson
|
||||||
|
lld
|
||||||
|
|
||||||
|
# --- DevOps & Versioning ---
|
||||||
|
git-lfs
|
||||||
|
sops
|
||||||
|
age
|
||||||
|
ecryptfs
|
||||||
|
ansible
|
||||||
|
android-tools
|
||||||
|
sdkmanager
|
||||||
|
air
|
||||||
|
vscode-langservers-extracted
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
users.users = {
|
users.users = {
|
||||||
jonas = {
|
jonas = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
|
uid = 1000;
|
||||||
extraGroups = [
|
extraGroups = [
|
||||||
"docker"
|
"docker"
|
||||||
"input"
|
"input"
|
||||||
|
|||||||
Reference in New Issue
Block a user