Author SHA1 Message Date
Armel van Ravels 3c2c5fbecf Add bitwarden 2026-06-12 15:44:25 +02:00
armel 6593978a74 Upgrade to 26.05 2026-06-11 20:34:31 +02:00
139 changed files with 1209 additions and 2021 deletions

No files matched your search

-7
View File
@@ -1,7 +0,0 @@
#!/usr/bin/env bash
eval "$(devenv direnvrc)"
# You can pass flags to the devenv command
# For example: use devenv --impure --option services.postgres.enable:bool true
use devenv
-10
View File
@@ -1,10 +0,0 @@
# Devenv
.devenv*
devenv.local.nix
devenv.local.yaml
# direnv
.direnv
# pre-commit
.pre-commit-config.yaml
-124
View File
@@ -1,124 +0,0 @@
{
"nodes": {
"devenv": {
"locked": {
"dir": "src/modules",
"lastModified": 1786490576,
"narHash": "sha256-TH5K1TBi5YNUEEVXoPe99Wzy6XOxsuzkypEJofWc/fU=",
"owner": "cachix",
"repo": "devenv",
"rev": "5706f600b4b6799d5dade8602f85cfd2e060b2f3",
"type": "github"
},
"original": {
"dir": "src/modules",
"owner": "cachix",
"repo": "devenv",
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1767039857,
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
"owner": "NixOS",
"repo": "flake-compat",
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "flake-compat",
"type": "github"
}
},
"git-hooks": {
"inputs": {
"flake-compat": "flake-compat",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1784288435,
"narHash": "sha256-ReRHaLgr/uVqdD8afFSn+myXIfpHeOhP0yYe0TJqAA8=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "43b3c1ab9d40fb1dbb008f451988a91e375825e9",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"nixpkgs": {
"inputs": {
"nixpkgs-src": "nixpkgs-src"
},
"locked": {
"lastModified": 1786472144,
"narHash": "sha256-W1wLGKZKGtnTWGRFgjbsVQleuO6jgMweaSAbFltLkN0=",
"owner": "cachix",
"repo": "devenv-nixpkgs",
"rev": "ea21d30f66a051c7cd750692a2af8d56e0ec4bfb",
"type": "github"
},
"original": {
"owner": "cachix",
"ref": "rolling",
"repo": "devenv-nixpkgs",
"type": "github"
}
},
"nixpkgs-src": {
"flake": false,
"locked": {
"lastModified": 1786098110,
"narHash": "sha256-shi1tjDhCGGd0kIgVPNY03V8NBWSTzhMSFDb7IqSoec=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "afb4584a80bbf779ce0f691509ff902d188c2b3d",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"devenv": "devenv",
"git-hooks": "git-hooks",
"nixpkgs": "nixpkgs",
"treefmt-nix": "treefmt-nix"
}
},
"treefmt-nix": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1785945821,
"narHash": "sha256-NLSyTCW4K4ofhNBllt3omPasm6QpralXH1DBZOc91Dw=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "ae7910970dddc408fe6ab1c8e4b277bb21d72dc0",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
}
},
"root": "root",
"version": 7
}
-19
View File
@@ -1,19 +0,0 @@
{ pkgs
, lib
, config
, ...
}:
{
treefmt.enable = true;
treefmt.config.programs.nixpkgs-fmt.enable = true;
git-hooks = {
enable = true;
hooks = {
treefmt.enable = true;
};
};
}
-11
View File
@@ -1,11 +0,0 @@
inputs:
git-hooks:
url: github:cachix/git-hooks.nix
inputs:
nixpkgs:
follows: nixpkgs
treefmt-nix:
url: github:numtide/treefmt-nix
inputs:
nixpkgs:
follows: nixpkgs
Generated
+12 -12
View File
@@ -7,11 +7,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1785119570, "lastModified": 1781184346,
"narHash": "sha256-Rgs2xKnGLFWQscxUaXX07oyZeuMDOHEbqDOsgliLFGM=", "narHash": "sha256-cZRlW47U6A2nWvAmnZeeO6Xvq23gxYbVLel4KxqOrcQ=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "d4fd24667c8cbef124bb70a20380cab75ec8474d", "rev": "ea6d221d7aa85652d014b6f719dddf036037515b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -23,11 +23,11 @@
}, },
"nix-flatpak": { "nix-flatpak": {
"locked": { "locked": {
"lastModified": 1783368811, "lastModified": 1780908363,
"narHash": "sha256-0H8jDwR4Kegb3heaTrH1ftbgKfZVDT8JE+46uXxDy/Q=", "narHash": "sha256-llGS4y3Qh1eUkli3/Y2VY9FV3GOUKFZR1E2BDftt45Q=",
"owner": "gmodena", "owner": "gmodena",
"repo": "nix-flatpak", "repo": "nix-flatpak",
"rev": "20d42f0ee98c9fe9f85e8d1de474f1409ed10d05", "rev": "1df08625f0f8c7d6e300a0e5df7955bbb877d809",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -38,11 +38,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1786430034, "lastModified": 1780902259,
"narHash": "sha256-Vux08kA5PICwS2sViCMfwVLAHNoH8TkKAeBo25LjpMI=", "narHash": "sha256-q8yYEC5f1mFlQO9RGna4LTc9QrcvWunX6FYp83munkQ=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "70cc4559b10a6062b05ff1af17e0add065ccaed9", "rev": "bd0ff2d3eac24699c3664d5966b9ef36f388e2ca",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -54,11 +54,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1786348146, "lastModified": 1781141223,
"narHash": "sha256-we5zDEFfn8TgzeWKjKDMIjeQZ59omEPl23NIF+13/ys=", "narHash": "sha256-Eye4UQJjC4TLobclolFCMl6MrjgiF6Bk1cOI5x8SH00=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "d482ef84049d9b7276b83a06e4e4d76983830097", "rev": "b503dde361500433ca25a32e8f4d218bf58fb659",
"type": "github" "type": "github"
}, },
"original": { "original": {
-68
View File
@@ -1,68 +0,0 @@
{ config
, lib
, pkgs
, ...
}:
{
imports = [
./hardware-configuration.nix
];
features.modules = {
core.enable = true;
development.enable = true;
hardware.enable = true;
multimedia.enable = true;
system.enable = true;
};
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.loader.systemd-boot.enable = false;
boot.loader = {
efi = {
canTouchEfiVariables = true;
efiSysMountPoint = "/boot/efi";
};
grub = {
efiSupport = true;
device = "nodev";
};
};
networking.hostName = "balrog";
networking.networkmanager.enable = true;
networking.nameservers = [
"192.168.68.56"
"1.1.1.1"
"8.8.8.8"
];
hardware.enableAllFirmware = true;
boot.initrd.kernelModules = [ "wl" ];
boot.kernelModules = [
"wl"
"kvm-intel"
];
boot.extraModulePackages = with config.boot.kernelPackages; [
broadcom_sta
];
nixpkgs.config = {
allowInsecurePredicate = pkg: builtins.elem (lib.getName pkg) [ "broadcom-sta" ];
};
hardware.bluetooth.enable = true;
services.blueman.enable = true;
home-manager.users.avravels.home.hyprland.monitors = [
{
output = "eDP-1";
mode = "1920x1200";
}
];
system.stateVersion = "25.11";
}
-45
View File
@@ -1,45 +0,0 @@
# Do not modify this file! It was generated by ‘nixos-generate-config’
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config
, lib
, pkgs
, modulesPath
, ...
}:
{
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [
"xhci_pci"
"ahci"
"usbhid"
"usb_storage"
"sd_mod"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" = {
device = "/dev/disk/by-uuid/6795dc19-3130-4693-b04c-a2c56fbdbd55";
fsType = "ext4";
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/A202-E19C";
fsType = "vfat";
options = [
"fmask=0022"
"dmask=0022"
];
};
swapDevices = [ ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}
-19
View File
@@ -1,19 +0,0 @@
{ config, pkgs, ... }:
{
imports = [
./hardware-configuration.nix
];
features.modules = {
core.enable = true;
};
boot.loader.grub.enable = true;
boot.loader.grub.device = "/dev/vda";
boot.loader.grub.useOSProber = true;
networking.hostName = "frodo";
system.stateVersion = "25.11";
}
-58
View File
@@ -1,58 +0,0 @@
{ config, pkgs, ... }:
{
imports = [
./hardware-configuration.nix
./mtp-fix.nix
];
features.modules = {
core.enable = true;
ai.enable = true;
desktop.enable = true;
development.enable = true;
gaming.enable = true;
hardware.enable = true;
multimedia.enable = true;
networking.enable = true;
security.enable = true;
system.enable = true;
};
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking.hostName = "gandalf";
networking.networkmanager.enable = true;
networking.nameservers = [
"192.168.68.56"
"1.1.1.1"
"8.8.8.8"
];
networking.firewall.enable = false;
networking.interfaces.enp130s0.wakeOnLan.enable = true;
networking.firewall.allowedUDPPorts = [ 9 ];
services.xserver.videoDrivers = [ "nvidia" ];
services.openssh.settings.X11Forwarding = true;
hardware = {
graphics.enable = true;
nvidia.modesetting.enable = true;
nvidia.open = true;
nvidia.nvidiaSettings = true;
};
systemd.targets.sleep.enable = false;
systemd.targets.suspend.enable = false;
systemd.targets.hibernate.enable = false;
systemd.targets.hybrid-sleep.enable = false;
virtualisation.libvirtd.enable = true;
system.stateVersion = "25.11";
}
-46
View File
@@ -1,46 +0,0 @@
# Do not modify this file! It was generated by ‘nixos-generate-config’
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config
, lib
, pkgs
, modulesPath
, ...
}:
{
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [
"xhci_pci"
"ahci"
"nvme"
"usbhid"
"usb_storage"
"sd_mod"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" = {
device = "/dev/disk/by-uuid/fbdcecb5-3a2b-4bd5-9586-4de834200363";
fsType = "ext4";
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/01E4-5DD7";
fsType = "vfat";
options = [
"fmask=0077"
"dmask=0077"
];
};
swapDevices = [ ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}
-30
View File
@@ -1,30 +0,0 @@
{ pkgs, ... }:
{
nixpkgs.overlays = [
(
final: prev:
let
targetVersion = "1.1.23";
in
{
libmtp =
if builtins.compareVersions prev.libmtp.version targetVersion >= 0 then
prev.libmtp
else
prev.libmtp.overrideAttrs (_: {
version = targetVersion;
src = final.fetchFromGitHub {
owner = "libmtp";
repo = "libmtp";
rev = "v${targetVersion}";
hash = "sha256-FlPj9PEeOAWabU11dFTzDgY9TBbgmJclbeL0iULYw6A=";
};
patches = [ ];
});
}
)
];
}
-37
View File
@@ -1,37 +0,0 @@
{ config, pkgs, ... }:
{
imports = [
./hardware-configuration.nix
];
features.modules = {
core.enable = true;
gaming.enable = true;
};
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking.hostName = "legolas";
networking.networkmanager.enable = true;
networking.nameservers = [
"192.168.68.56"
"1.1.1.1"
"8.8.8.8"
];
services.xserver.videoDrivers = [ "nvidia" ];
hardware = {
graphics.enable = true;
nvidia.modesetting.enable = true;
nvidia.open = true;
nvidia.nvidiaSettings = true;
};
virtualisation.libvirtd.enable = true;
system.stateVersion = "25.11";
}
-50
View File
@@ -1,50 +0,0 @@
# Do not modify this file! It was generated by ‘nixos-generate-config’
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config
, lib
, pkgs
, modulesPath
, ...
}:
{
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [
"xhci_pci"
"ahci"
"nvme"
"usbhid"
"sd_mod"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" = {
device = "/dev/disk/by-uuid/3369db74-89ad-4b2f-b843-485c1b4f356b";
fsType = "ext4";
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/C4C8-E90E";
fsType = "vfat";
options = [
"fmask=0022"
"dmask=0022"
];
};
fileSystems."/media" = {
device = "/dev/disk/by-uuid/faa2f6ba-00a5-46e4-9b03-a031509dd232";
fsType = "ext4";
};
swapDevices = [ ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}
-82
View File
@@ -1,82 +0,0 @@
{ config, pkgs, ... }:
{
imports = [
./hardware-configuration.nix
];
features.modules = {
core.enable = true;
desktop.enable = true;
development.enable = true;
hardware.enable = true;
multimedia.enable = true;
networking.enable = true;
security.enable = true;
system.enable = true;
work.enable = true;
};
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.plymouth.enable = true;
boot.plymouth.theme = "spinner";
boot.initrd.systemd.enable = true;
programs.nix-ld.enable = true;
networking.hostName = "laptop-armel";
home-manager.users.avravels.home.git.userName = "Armel van Ravels";
home-manager.users.avravels.home.git.userEmail = "armel@webavance.nl";
networking.networkmanager.enable = true;
networking.nameservers = [
"127.0.0.1"
"192.168.68.56"
"1.1.1.1"
"8.8.8.8"
];
networking.firewall.enable = false;
hardware.graphics.enable = true;
services.xserver.videoDrivers = [ "intel" ];
virtualisation.libvirtd.enable = true;
specialisation = {
"top floor".configuration = {
home-manager.users.avravels.home.hyprland.monitors = [
{
output = "DP-3";
mode = "2560x1440";
position = "0x0";
}
{
output = "DP-1";
mode = "2560x1440";
position = "2560x0";
}
{
output = "eDP-1";
mode = "1920x1200";
position = "5120x0";
}
];
};
};
networking.hosts = {
"127.0.0.1" = [
"local.wormundco.de"
"local.wormundco.nl"
"local.wormenco.nl"
"local.wurmundco.de"
];
"149.210.174.226" = [ "kindertelefoon" ];
};
system.stateVersion = "25.11";
}
-48
View File
@@ -1,48 +0,0 @@
# Do not modify this file! It was generated by ‘nixos-generate-config’
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config
, lib
, pkgs
, modulesPath
, ...
}:
{
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [
"xhci_pci"
"nvme"
"usb_storage"
"usbhid"
"sd_mod"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" = {
device = "/dev/mapper/luks-5217fae8-1b85-4667-abb7-2b4ca7d443ba";
fsType = "ext4";
};
boot.initrd.luks.devices."luks-5217fae8-1b85-4667-abb7-2b4ca7d443ba".device =
"/dev/disk/by-uuid/5217fae8-1b85-4667-abb7-2b4ca7d443ba";
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/3892-6129";
fsType = "vfat";
options = [
"fmask=0077"
"dmask=0077"
];
};
swapDevices = [ ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}
-6
View File
@@ -1,6 +0,0 @@
{ lib, ... }: {
imports = lib.mapAttrsToList
(file: _: ./. + "/${file}")
(lib.filterAttrs (file: _: lib.hasSuffix ".nix" file && file != "default.nix")
(builtins.readDir ./.));
}
-13
View File
@@ -1,13 +0,0 @@
{ config, lib, pkgsUnstable, ... }:
let
dirModules = config.features.modules.ai or { };
in
{
config = lib.mkIf ((dirModules.enable or false) && (dirModules.ollama.enable or true)) {
services.ollama = {
enable = true;
package = pkgsUnstable.ollama-cuda;
};
};
}
-29
View File
@@ -1,29 +0,0 @@
{ config, lib, pkgs, ... }:
let
dirModules = config.features.modules.core or { };
in
{
config = lib.mkIf ((dirModules.enable or false) && (dirModules.common.enable or true)) {
nixpkgs.config.allowUnfree = true;
nix.settings.experimental-features = [
"nix-command"
"flakes"
];
users.defaultUserShell = pkgs.zsh;
environment.systemPackages = with pkgs; [
chromium
gnumake
jetbrains-toolbox
fastfetch
jq
];
security.rtkit.enable = true;
system.stateVersion = "25.11";
};
}
-6
View File
@@ -1,6 +0,0 @@
{ lib, ... }: {
imports = lib.mapAttrsToList
(file: _: ./. + "/${file}")
(lib.filterAttrs (file: _: lib.hasSuffix ".nix" file && file != "default.nix")
(builtins.readDir ./.));
}
-18
View File
@@ -1,18 +0,0 @@
{ config, lib, pkgs, pkgsUnstable, ... }:
let
dirModules = config.features.modules.core or { };
in
{
config = lib.mkIf ((dirModules.enable or false) && (dirModules.home-manager.enable or true)) {
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
extraSpecialArgs = {
inherit pkgsUnstable;
};
users.avravels = import ../home/home.nix;
};
};
}
-23
View File
@@ -1,23 +0,0 @@
{ config, lib, pkgs, ... }:
let
dirModules = config.features.modules.core or { };
in
{
config = lib.mkIf ((dirModules.enable or false) && (dirModules.locales.enable or true)) {
time.timeZone = "Europe/Amsterdam";
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "nl_NL.UTF-8";
LC_IDENTIFICATION = "nl_NL.UTF-8";
LC_MEASUREMENT = "nl_NL.UTF-8";
LC_MONETARY = "nl_NL.UTF-8";
LC_NAME = "nl_NL.UTF-8";
LC_NUMERIC = "nl_NL.UTF-8";
LC_PAPER = "nl_NL.UTF-8";
LC_TELEPHONE = "nl_NL.UTF-8";
LC_TIME = "nl_NL.UTF-8";
};
};
}
-17
View File
@@ -1,17 +0,0 @@
{ config, lib, pkgs, ... }:
let
dirModules = config.features.modules.core or { };
in
{
config = lib.mkIf ((dirModules.enable or false) && (dirModules.programs.enable or true)) {
programs = {
zsh.enable = true;
hyprland.enable = true;
hyprland.xwayland.enable = true;
virt-manager.enable = true;
};
};
}
-28
View File
@@ -1,28 +0,0 @@
{ config, lib, pkgs, ... }:
let
dirModules = config.features.modules.core or { };
in
{
config = lib.mkIf ((dirModules.enable or false) && (dirModules.services.enable or true)) {
services.openssh.enable = true;
services = {
displayManager.gdm.enable = true;
desktopManager.gnome.enable = true;
xserver = {
enable = true;
xkb.layout = "us";
xkb.variant = "";
};
pulseaudio.enable = false;
pipewire.enable = true;
pipewire.alsa.enable = true;
pipewire.alsa.support32Bit = true;
pipewire.pulse.enable = true;
};
};
}
-27
View File
@@ -1,27 +0,0 @@
{ config, lib, pkgs, ... }:
let
dirModules = config.features.modules.core or { };
in
{
config = lib.mkIf ((dirModules.enable or false) && (dirModules.users.enable or true)) {
users.users.avravels = {
initialPassword = "welcome";
isNormalUser = true;
description = "Armel van Ravels";
extraGroups = [
"networkmanager"
"wheel"
"libvirtd"
"dialout"
];
packages = with pkgs; [
home-manager
spotify
proton-vpn
fzf
];
shell = pkgs.zsh;
};
};
}
-6
View File
@@ -1,6 +0,0 @@
{ lib, ... }: {
imports = lib.mapAttrsToList
(file: _: ./. + "/${file}")
(lib.filterAttrs (file: _: lib.hasSuffix ".nix" file && file != "default.nix")
(builtins.readDir ./.));
}
-12
View File
@@ -1,12 +0,0 @@
{ config, lib, pkgs, ... }:
let
dirModules = config.features.modules.desktop or { };
in
{
config = lib.mkIf ((dirModules.enable or false) && (dirModules.discord.enable or true)) {
environment.systemPackages = with pkgs; [
discord
];
};
}
-12
View File
@@ -1,12 +0,0 @@
{ config, lib, pkgs, ... }:
let
dirModules = config.features.modules.desktop or { };
in
{
config = lib.mkIf ((dirModules.enable or false) && (dirModules.matrix.enable or true)) {
environment.systemPackages = with pkgs; [
element-desktop
];
};
}
-12
View File
@@ -1,12 +0,0 @@
{ config, lib, pkgs, ... }:
let
dirModules = config.features.modules.desktop or { };
in
{
config = lib.mkIf ((dirModules.enable or false) && (dirModules.teams-for-linux.enable or true)) {
environment.systemPackages = with pkgs; [
teams-for-linux
];
};
}
-12
View File
@@ -1,12 +0,0 @@
{ config, lib, pkgs, ... }:
let
dirModules = config.features.modules.development or { };
in
{
config = lib.mkIf ((dirModules.enable or false) && (dirModules.azure-data-studio.enable or true)) {
environment.systemPackages = with pkgs; [
azuredatastudio
];
};
}
-6
View File
@@ -1,6 +0,0 @@
{ lib, ... }: {
imports = lib.mapAttrsToList
(file: _: ./. + "/${file}")
(lib.filterAttrs (file: _: lib.hasSuffix ".nix" file && file != "default.nix")
(builtins.readDir ./.));
}
-17
View File
@@ -1,17 +0,0 @@
{ config, lib, pkgsUnstable, ... }:
let
dirModules = config.features.modules.development or { };
in
{
config = lib.mkIf ((dirModules.enable or false) && (dirModules.devenv.enable or true)) {
environment.systemPackages = with pkgsUnstable; [
devenv
];
nix.settings.trusted-users = [
"root"
"avravels"
];
};
}
-12
View File
@@ -1,12 +0,0 @@
{ config, lib, pkgs, ... }:
let
dirModules = config.features.modules.development or { };
in
{
config = lib.mkIf ((dirModules.enable or false) && (dirModules.docker.enable or true)) {
virtualisation.docker.enable = true;
users.users.avravels.extraGroups = [ "docker" ];
};
}
-12
View File
@@ -1,12 +0,0 @@
{ config, lib, pkgs, ... }:
let
dirModules = config.features.modules.development or { };
in
{
config = lib.mkIf ((dirModules.enable or false) && (dirModules.jq.enable or true)) {
environment.systemPackages = with pkgs; [
jq
];
};
}
-12
View File
@@ -1,12 +0,0 @@
{ config, lib, pkgs, ... }:
let
dirModules = config.features.modules.development or { };
in
{
config = lib.mkIf ((dirModules.enable or false) && (dirModules.lazygit.enable or true)) {
environment.systemPackages = with pkgs; [
lazygit
];
};
}
-12
View File
@@ -1,12 +0,0 @@
{ config, lib, pkgs, ... }:
let
dirModules = config.features.modules.development or { };
in
{
config = lib.mkIf ((dirModules.enable or false) && (dirModules.postman.enable or true)) {
environment.systemPackages = with pkgs; [
postman
];
};
}
-18
View File
@@ -1,18 +0,0 @@
{ lib, ... }:
let
modulesDir = ../.;
moduleDirs = builtins.readDir modulesDir;
excludeDirs = [ "home" "features" ];
dirEntries = lib.filterAttrs
(name: type: type == "directory" && !builtins.elem name excludeDirs)
moduleDirs;
in
{
options.features.modules = lib.mkOption {
type = lib.types.attrs;
default = { };
description = "Auto-generated feature module options tree";
};
}
-6
View File
@@ -1,6 +0,0 @@
{ lib, ... }: {
imports = lib.mapAttrsToList
(file: _: ./. + "/${file}")
(lib.filterAttrs (file: _: lib.hasSuffix ".nix" file && file != "default.nix")
(builtins.readDir ./.));
}
-24
View File
@@ -1,24 +0,0 @@
{ config, lib, pkgs, ... }:
let
dirModules = config.features.modules.gaming or { };
in
{
config = lib.mkIf ((dirModules.enable or false) && (dirModules.gaming.enable or true)) {
programs.steam = {
enable = true;
remotePlay.openFirewall = true;
localNetworkGameTransfers.openFirewall = true;
package = pkgs.steam.override {
extraEnv = {
MANGOHUD = "1";
WINE_VK_VULKAN_ONLY = "1";
};
};
};
environment.systemPackages = [
pkgs.mangohud
];
};
}
-12
View File
@@ -1,12 +0,0 @@
{ config, lib, pkgs, ... }:
let
dirModules = config.features.modules.hardware or { };
in
{
config = lib.mkIf ((dirModules.enable or false) && (dirModules.arduino-ide.enable or true)) {
environment.systemPackages = with pkgs; [
arduino-ide
];
};
}
-14
View File
@@ -1,14 +0,0 @@
{ config, lib, pkgs, ... }:
let
dirModules = config.features.modules.hardware or { };
in
{
config = lib.mkIf ((dirModules.enable or false) && (dirModules.bambu-studio-flatpak.enable or true)) {
services.flatpak.update.onActivation = true;
services.flatpak.enable = true;
services.flatpak.packages = [
"com.bambulab.BambuStudio"
];
};
}
-6
View File
@@ -1,6 +0,0 @@
{ lib, ... }: {
imports = lib.mapAttrsToList
(file: _: ./. + "/${file}")
(lib.filterAttrs (file: _: lib.hasSuffix ".nix" file && file != "default.nix")
(builtins.readDir ./.));
}
-12
View File
@@ -1,12 +0,0 @@
{ config, lib, pkgs, ... }:
let
dirModules = config.features.modules.hardware or { };
in
{
config = lib.mkIf ((dirModules.enable or false) && (dirModules.openscad.enable or true)) {
environment.systemPackages = with pkgs; [
openscad
];
};
}
-47
View File
@@ -1,47 +0,0 @@
{ config, lib, pkgs, ... }:
let
dirModules = config.features.modules.hardware or { };
in
{
config = lib.mkIf ((dirModules.enable or false) && (dirModules.printing.enable or true)) {
environment.systemPackages = with pkgs; [
cnijfilter2
];
services.printing = {
enable = true;
drivers = [ pkgs.cnijfilter2 ];
};
services.avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
hardware.printers = {
ensurePrinters = [
{
name = "CanonTS3100";
location = "Home";
deviceUri = "dnssd://Canon%20TS3100%20series._ipp._tcp.local/?uuid=00000000-0000-1000-8000-0018271a7e44";
model = "canonts3100.ppd";
ppdOptions = {
PageSize = "A4";
};
}
];
ensureDefaultPrinter = "CanonTS3100";
};
# for samba
networking.hosts = {
"192.168.68.60" = [
"2C2919000000.local"
"2C2919000000"
];
};
};
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 MiB

-39
View File
@@ -1,39 +0,0 @@
{ pkgs, config, ... }:
{
programs.firefox = {
enable = true;
configPath = "${config.xdg.configHome}/mozilla/firefox";
profiles.default = {
settings = {
"extensions.activeThemeID" = "firefox-compact-dark@mozilla.org";
};
};
policies = {
# From https://discourse.nixos.org/t/declare-firefox-extensions-and-settings/36265/17
ExtensionSettings =
with builtins;
let
extension = shortId: uuid: {
name = uuid;
value = {
install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${shortId}/latest.xpi";
installation_mode = "normal_installed";
};
};
in
listToAttrs [
(extension "bitwarden-password-manager" "{446900e4-71c2-419f-a6a7-df9c091e268b}")
(extension "ublock-origin" "uBlock0@raymondhill.net")
(extension "privacy-badger17" "jid1-MnnxcxisBPnSXQ@jetpack")
(extension "i-dont-care-about-cookies" "jid1-KKzOGWgsW3Ao4Q@jetpack")
];
# To add additional extensions, find it on addons.mozilla.org, find
# the short ID in the url (like https://addons.mozilla.org/en-US/firefox/addon/!SHORT_ID!/)
# Then, download the XPI by filling it in to the install_url template, unzip it,
# run `jq .browser_specific_settings.gecko.id manifest.json` or
# `jq .applications.gecko.id manifest.json` to get the UUID
};
};
}
-162
View File
@@ -1,162 +0,0 @@
{ pkgs, ... }:
{
programs.neovim = {
enable = true;
withRuby = false;
withPython3 = false;
defaultEditor = true;
extraLuaPackages = ps: [ ps.magick ];
extraPackages = [
pkgs.ueberzugpp
pkgs.imagemagick
pkgs.intelephense
];
plugins = with pkgs.vimPlugins; [
neo-tree-nvim
catppuccin-nvim
tokyonight-nvim
nvim-lspconfig
nvim-cmp
cmp-nvim-lsp
cmp-buffer
cmp-path
plenary-nvim
telescope-nvim
(nvim-treesitter.withAllGrammars)
vim-nix
lualine-nvim
image-nvim
];
initLua = ''
vim.cmd("colorscheme catppuccin-mocha")
-- Basic settings
vim.o.number = true
vim.o.relativenumber = true
-- =========================
-- LSP (Neovim 0.11+ way)
-- =========================
-- Add cmp capabilities
local capabilities = require("cmp_nvim_lsp").default_capabilities()
vim.lsp.config("nil_ls", {
capabilities = capabilities,
})
-- PHP LSP
vim.lsp.config("intelephense", {
capabilities = capabilities,
})
vim.lsp.enable("intelephense")
vim.lsp.enable("nil_ls")
-- =========================
-- nvim-cmp
-- =========================
local cmp = require("cmp")
cmp.setup({
mapping = cmp.mapping.preset.insert({
["<C-Space>"] = cmp.mapping.complete(),
["<CR>"] = cmp.mapping.confirm({ select = true }),
}),
sources = {
{ name = "nvim_lsp" },
{ name = "buffer" },
{ name = "path" },
}
})
-- =========================
-- Telescope
-- =========================
local builtin = require("telescope.builtin")
vim.keymap.set("n", "<leader>ff", builtin.find_files, {})
vim.keymap.set("n", "<leader>fg", builtin.live_grep, {})
-- =========================
-- Lualine (status line with Git branch)
-- =========================
require('lualine').setup {
options = {
theme = 'catppuccin', -- match your colorscheme
section_separators = {'', ''},
component_separators = {'', ''},
},
sections = {
lualine_a = {'mode'},
lualine_b = {'branch'}, -- shows Git branch here
lualine_c = {'filename'},
lualine_x = {'encoding', 'fileformat', 'filetype'},
lualine_y = {'progress'},
lualine_z = {'location'}
}
}
-- =========================
-- image-nvim
-- =========================
require("image").setup({
backend = "ueberzug", -- or "ueberzug" or "sixel"
processor = "magick_cli", -- or "magick_rock"
integrations = {
markdown = {
enabled = true,
clear_in_insert_mode = false,
download_remote_images = true,
only_render_image_at_cursor = false,
only_render_image_at_cursor_mode = "popup", -- or "inline"
floating_windows = false, -- if true, images will be rendered in floating markdown windows
filetypes = { "markdown", "vimwiki" }, -- markdown extensions (ie. quarto) can go here
},
asciidoc = {
enabled = true,
clear_in_insert_mode = false,
download_remote_images = true,
only_render_image_at_cursor = false,
only_render_image_at_cursor_mode = "popup",
floating_windows = false,
filetypes = { "asciidoc", "adoc" },
},
neorg = {
enabled = true,
filetypes = { "norg" },
},
rst = {
enabled = true,
},
typst = {
enabled = true,
filetypes = { "typst" },
},
html = {
enabled = false,
},
css = {
enabled = false,
},
},
max_width = nil,
max_height = nil,
max_width_window_percentage = nil,
max_height_window_percentage = 50,
scale_factor = 1.0,
window_overlap_clear_enabled = false, -- toggles images when windows are overlapped
window_overlap_clear_ft_ignore = { "cmp_menu", "cmp_docs", "snacks_notif", "scrollview", "scrollview_sign" },
editor_only_render_when_focused = false, -- auto show/hide images when the editor gains/looses focus
tmux_show_only_in_active_window = false, -- auto show/hide images in the correct Tmux window (needs visual-activity off)
hijack_file_patterns = { "*.png", "*.jpg", "*.jpeg", "*.gif", "*.webp", "*.avif" }, -- render image files as images when opened
})
'';
};
}
-86
View File
@@ -1,86 +0,0 @@
{ pkgs, pkgsUnstable, ... }:
let
extensions = with pkgs.vscode-extensions; [
ms-dotnettools.csharp
ms-dotnettools.csdevkit
ms-dotnettools.vscode-dotnet-runtime
mkhl.direnv
catppuccin.catppuccin-vsc
bmewburn.vscode-intelephense-client
continue.continue
vue.volar
ms-vscode-remote.remote-containers
(pkgs.vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
publisher = "ryanluker";
name = "vscode-coverage-gutters";
version = "2.14.0"; # use the current version
sha256 = "sha256-waF3FmncUsXqWFWGRy9X7RQ29BDRYlaqyFhEXg4HXNo";
};
})
(pkgs.vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
publisher = "laravel";
name = "vscode-laravel";
version = "1.7.0"; # use the current version
sha256 = "sha256-5PVbv5hWIdsOHvYttnf2BPeqfPXsOVENrnRyiUf/Hlg=";
};
})
(pkgs.vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
publisher = "amiralizadeh9480";
name = "laravel-extra-intellisense";
version = "0.7.4"; # use the current version
sha256 = "sha256-EoyKm2YYfEZDmI1mqRU/SaNk0bNLPrWVINpIhglnL80=";
};
})
(pkgs.vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
publisher = "recca0120";
name = "vscode-phpunit";
version = "3.9.40"; # use the current version
sha256 = "sha256-EVyDT5aXu1KsGr8xrBQlIRCMOtiCyHgU7aDjl9d9ldY=";
};
})
];
userSettings = {
"editor.lineNumbers" = "relative";
"workbench.colorTheme" = "Catppuccin Mocha";
"workbench.editor.enablePreview" = false;
"direnv.restart.automatic" = true;
"terminal.integrated.defaultProfile.linux" = "zsh";
"terminal.integrated.profiles.linux".zsh = {
path = "${pkgs.zsh}/bin/zsh";
};
"coverage-gutters.coverageBaseDir" = "test-reports";
# PHPUnit
"phpunit.command" =
"docker compose exec laravel.test \${php} \${phpargs} \${phpunit} \${phpunitargs}";
"phpunit.phpunit" = "artisan test";
"phpunit.paths" = {
"\${workspaceFolder}" = "/var/www/html";
};
};
editors = {
vscode = pkgsUnstable.vscode.fhs;
cursor = pkgsUnstable.code-cursor-fhs;
vscodium = pkgsUnstable.vscodium-fhs;
};
mkEditor = package: {
enable = true;
inherit package;
profiles.default = {
inherit extensions;
inherit userSettings;
};
};
in
{
programs = builtins.mapAttrs (_: mkEditor) editors;
}
@@ -1,59 +0,0 @@
dex() {
clear
local container
container=$(
docker ps --format '{{.Names}}\t{{.Image}}\t{{.Status}}' |
sort |
fzf \
--delimiter=$'\t' \
--with-nth=1,2,3 \
--header=$'Ctrl-I: Inspect | Ctrl-L: Logs | Ctrl-R: Refresh | ?: Toggle Preview\n\nNAME\tIMAGE\tSTATUS' \
--tabstop=4 \
--height=100% \
--layout=reverse \
--border=rounded \
--info=inline-right \
--prompt='🐳 Container > ' \
--pointer='▶' \
--marker='✓' \
--preview 'docker logs -f --tail=50 {1} 2>&1' \
--preview-label=' Logs ' \
--preview-window='right,65%,follow,border-left,wrap' \
--bind 'ctrl-r:reload(docker ps --format "{{.Names}}\t{{.Image}}\t{{.Status}}" | sort)' \
--bind 'ctrl-u:preview-half-page-up' \
--bind 'ctrl-d:preview-half-page-down' \
--bind '?:toggle-preview' \
--bind 'ctrl-l:change-preview(docker logs -f --tail=50 {1} 2>&1)+change-preview-label(Logs)' \
--bind 'ctrl-i:change-preview(
docker inspect --format "
Name: {{.Name}}
Image: {{.Config.Image}}
Status: {{.State.Status}}
Running: {{.State.Running}}
Started: {{.State.StartedAt}}
Finished: {{.State.FinishedAt}}
PID: {{.State.Pid}}
Exit Code: {{.State.ExitCode}}
Networks:
{{range .NetworkSettings.Networks}} • {{.IPAddress}}
{{end}}
Mounts:
{{range .Mounts}} • {{.Source}} -> {{.Destination}}
{{end}}
" {1}
)+change-preview-label(Inspect)' |
cut -f1
) || return
docker exec -it "$container" sh -c '
for shell in bash ash zsh sh; do
command -v "$shell" >/dev/null 2>&1 && exec "$shell"
done
echo "No suitable shell found." >&2
exit 1
'
}
-216
View File
@@ -1,216 +0,0 @@
{ lib
, pkgs
, config
, ...
}:
let
cfg = config.home.hyprland;
toggleRecorder = import ./scripts/toggle-recorder.nix { inherit pkgs; };
in
{
options.home.hyprland.monitors = lib.mkOption {
type = lib.types.listOf (lib.types.submodule {
options = {
output = lib.mkOption { type = lib.types.str; };
mode = lib.mkOption {
type = lib.types.str;
default = "preferred";
};
position = lib.mkOption {
type = lib.types.str;
default = "auto";
};
scale = lib.mkOption {
type = lib.types.number;
default = 1;
};
};
});
default = [ ];
};
config = {
home.packages = with pkgs; [
bzmenu
hyprshot
hyprlock
playerctl
speedcrunch
toggleRecorder
];
wayland.windowManager.hyprland = {
enable = true;
configType = "lua";
settings =
let
mkLuaInline = lib.generators.mkLuaInline;
toLua = lib.generators.toLua;
mkArgs = args: { _args = args; };
defaultMonitor = {
output = "";
mode = "preferred";
position = "auto";
scale = 1;
};
bind =
keys: dispatcher: options:
mkArgs [
keys
dispatcher
options
];
dsp = {
exec_cmd = app: mkLuaInline ''hl.dsp.exec_cmd("${app}")'';
focus = arg: mkLuaInline "hl.dsp.focus(${toLua { } arg})";
window = {
move = arg: mkLuaInline "hl.dsp.window.move(${toLua { } arg})";
drag = mkLuaInline "hl.dsp.window.drag()";
resize = mkLuaInline "hl.dsp.window.resize()";
close = mkLuaInline "hl.dsp.window.close()";
kill = mkLuaInline "hl.dsp.window.kill()";
fullscreen = mkLuaInline "hl.dsp.window.fullscreen()";
};
exit = mkLuaInline "hl.dsp.exit()";
workspace = {
move = arg: mkLuaInline "hl.dsp.workspace.move(${toLua { } arg})";
};
};
mod = "SUPER";
workspaces = lib.stringToCharacters "abcdefgimnopqrstuvwxyz";
in
{
config = {
general = {
resize_on_border = true;
allow_tearing = true;
};
animations.enabled = true;
decoration = {
inactive_opacity = 0.7;
active_opacity = 0.9;
rounding = 5;
rounding_power = 2.5;
blur = {
enabled = true;
brightness = 1.0;
contrast = 1.0;
noise = 0.01;
vibrancy = 0.2;
vibrancy_darkness = 0.5;
passes = 4;
size = 7;
popups = true;
popups_ignorealpha = 0.2;
};
shadow = {
enabled = true;
color = "rgba(00000055)";
offset = "0 15";
range = 100;
render_power = 2;
scale = 0.97;
};
};
misc = {
focus_on_activate = true;
};
};
bind = lib.flatten [
(bind "${mod} + W" (dsp.exec_cmd "pkill -SIGUSR1 -f '^waybar$'") { })
(bind "${mod} + Q" (dsp.window.close) { })
(bind "${mod} + L" (dsp.exec_cmd "hyprlock") { })
(bind "${mod} + D" (dsp.exec_cmd "rofi -show drun") { })
(bind "${mod} + B" (dsp.exec_cmd "bzmenu --launcher rofi") { })
(bind "${mod} + F" (dsp.window.fullscreen) { })
(bind "${mod} + Z" (dsp.exec_cmd "hyprshot -m region") { })
(bind "${mod} + SHIFT + Z" (dsp.exec_cmd "toggle-recorder") { })
(bind "${mod} + M" (dsp.exit) { })
(bind "${mod} + SPACE" (dsp.exec_cmd "firefox") { })
(bind "${mod} + RETURN" (dsp.exec_cmd "kitty") { })
(bind "${mod} + SHIFT + LEFT" (dsp.window.move { direction = "l"; }) { })
(bind "${mod} + SHIFT + DOWN" (dsp.window.move { direction = "d"; }) { })
(bind "${mod} + SHIFT + UP" (dsp.window.move { direction = "u"; }) { })
(bind "${mod} + SHIFT + RIGHT" (dsp.window.move { direction = "r"; }) { })
(bind "${mod} + LEFT" (dsp.focus { direction = "l"; }) { })
(bind "${mod} + DOWN" (dsp.focus { direction = "d"; }) { })
(bind "${mod} + UP" (dsp.focus { direction = "u"; }) { })
(bind "${mod} + RIGHT" (dsp.focus { direction = "r"; }) { })
(bind "${mod} + 1" (dsp.focus { workspace = 1; }) { })
(bind "${mod} + 2" (dsp.focus { workspace = 2; }) { })
(bind "${mod} + 3" (dsp.focus { workspace = 3; }) { })
(bind "${mod} + 4" (dsp.focus { workspace = 4; }) { })
(bind "${mod} + 5" (dsp.focus { workspace = 5; }) { })
(bind "${mod} + 6" (dsp.focus { workspace = 6; }) { })
(bind "${mod} + 7" (dsp.focus { workspace = 7; }) { })
(bind "${mod} + 8" (dsp.focus { workspace = 8; }) { })
(bind "${mod} + 9" (dsp.focus { workspace = 9; }) { })
(bind "${mod} + SHIFT + 1" (dsp.window.move { workspace = 1; }) { })
(bind "${mod} + SHIFT + 2" (dsp.window.move { workspace = 2; }) { })
(bind "${mod} + SHIFT + 3" (dsp.window.move { workspace = 3; }) { })
(bind "${mod} + SHIFT + 4" (dsp.window.move { workspace = 4; }) { })
(bind "${mod} + SHIFT + 5" (dsp.window.move { workspace = 5; }) { })
(bind "${mod} + SHIFT + 6" (dsp.window.move { workspace = 6; }) { })
(bind "${mod} + SHIFT + 7" (dsp.window.move { workspace = 7; }) { })
(bind "${mod} + SHIFT + 8" (dsp.window.move { workspace = 8; }) { })
(bind "${mod} + SHIFT + 9" (dsp.window.move { workspace = 9; }) { })
(bind "XF86AudioLowerVolume" (dsp.exec_cmd "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-") {
repeating = true;
locked = true;
})
(bind "XF86AudioRaiseVolume" (dsp.exec_cmd "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+") {
repeating = true;
locked = true;
})
(bind "XF86AudioPlay" (dsp.exec_cmd "playerctl play-pause") { locked = true; })
(bind "XF86AudioPrev" (dsp.exec_cmd "playerctl previous") { locked = true; })
(bind "XF86AudioNext" (dsp.exec_cmd "playerctl next") { locked = true; })
(bind "${mod} + mouse:272" dsp.window.drag { mouse = true; })
(bind "${mod} + mouse:273" dsp.window.resize { mouse = true; })
];
on = [
(mkArgs [
"hyprland.start"
(mkLuaInline ''
function()
hl.exec_cmd("waybar")
hl.monitor(${toLua {} defaultMonitor})
${lib.concatMapStringsSep "\n"
(m: "hl.monitor(${toLua {} m})")
cfg.monitors}
end
'')
])
(mkArgs [
"config.reloaded"
(mkLuaInline ''
function()
hl.monitor(${toLua {} defaultMonitor})
${lib.concatMapStringsSep "\n"
(m: "hl.monitor(${toLua {} m})")
cfg.monitors}
end
'')
])
];
};
};
};
}
@@ -1,22 +0,0 @@
{ pkgs }:
pkgs.writeShellApplication {
name = "toggle-recorder";
runtimeInputs = with pkgs; [
wf-recorder
slurp
procps
coreutils
];
text = ''
if pgrep -x wf-recorder >/dev/null; then
pkill -INT wf-recorder
else
wf-recorder \
-g "$(slurp)" \
-f "$HOME/Videos/recording-$(date +%F-%H%M%S).mp4"
fi
'';
}
-12
View File
@@ -1,12 +0,0 @@
{ config, lib, pkgs, ... }:
let
dirModules = config.features.modules.multimedia or { };
in
{
config = lib.mkIf ((dirModules.enable or false) && (dirModules.audacity.enable or true)) {
environment.systemPackages = with pkgs; [
audacity
];
};
}
-6
View File
@@ -1,6 +0,0 @@
{ lib, ... }: {
imports = lib.mapAttrsToList
(file: _: ./. + "/${file}")
(lib.filterAttrs (file: _: lib.hasSuffix ".nix" file && file != "default.nix")
(builtins.readDir ./.));
}
-12
View File
@@ -1,12 +0,0 @@
{ config, lib, pkgs, ... }:
let
dirModules = config.features.modules.multimedia or { };
in
{
config = lib.mkIf ((dirModules.enable or false) && (dirModules.gimp.enable or true)) {
environment.systemPackages = with pkgs; [
gimp
];
};
}
-12
View File
@@ -1,12 +0,0 @@
{ config, lib, pkgs, ... }:
let
dirModules = config.features.modules.multimedia or { };
in
{
config = lib.mkIf ((dirModules.enable or false) && (dirModules.kdenlive.enable or true)) {
environment.systemPackages = with pkgs; [
kdePackages.kdenlive
];
};
}
-15
View File
@@ -1,15 +0,0 @@
{ config, lib, pkgs, ... }:
let
dirModules = config.features.modules.multimedia or { };
in
{
config = lib.mkIf ((dirModules.enable or false) && (dirModules.obs-studio.enable or true)) {
programs.obs-studio = {
enable = true;
package = pkgs.obs-studio.override {
cudaSupport = true;
};
};
};
}
-12
View File
@@ -1,12 +0,0 @@
{ config, lib, pkgs, ... }:
let
dirModules = config.features.modules.multimedia or { };
in
{
config = lib.mkIf ((dirModules.enable or false) && (dirModules.vlc.enable or true)) {
environment.systemPackages = with pkgs; [
vlc
];
};
}
-6
View File
@@ -1,6 +0,0 @@
{ lib, ... }: {
imports = lib.mapAttrsToList
(file: _: ./. + "/${file}")
(lib.filterAttrs (file: _: lib.hasSuffix ".nix" file && file != "default.nix")
(builtins.readDir ./.));
}
-12
View File
@@ -1,12 +0,0 @@
{ config, lib, pkgs, ... }:
let
dirModules = config.features.modules.networking or { };
in
{
config = lib.mkIf ((dirModules.enable or false) && (dirModules.filezilla.enable or true)) {
environment.systemPackages = with pkgs; [
filezilla
];
};
}
-12
View File
@@ -1,12 +0,0 @@
{ config, lib, pkgs, ... }:
let
dirModules = config.features.modules.networking or { };
in
{
config = lib.mkIf ((dirModules.enable or false) && (dirModules.qbittorrent.enable or true)) {
environment.systemPackages = with pkgs; [
qbittorrent
];
};
}
-12
View File
@@ -1,12 +0,0 @@
{ config, lib, pkgs, ... }:
let
dirModules = config.features.modules.networking or { };
in
{
config = lib.mkIf ((dirModules.enable or false) && (dirModules.remmina.enable or true)) {
environment.systemPackages = with pkgs; [
remmina
];
};
}
-12
View File
@@ -1,12 +0,0 @@
{ config, lib, pkgs, ... }:
let
dirModules = config.features.modules.networking or { };
in
{
config = lib.mkIf ((dirModules.enable or false) && (dirModules.socat.enable or true)) {
environment.systemPackages = with pkgs; [
socat
];
};
}
-12
View File
@@ -1,12 +0,0 @@
{ config, lib, pkgs, ... }:
let
dirModules = config.features.modules.networking or { };
in
{
config = lib.mkIf ((dirModules.enable or false) && (dirModules.wireguard.enable or true)) {
environment.systemPackages = with pkgs; [
wireguard-tools
];
};
}
-16
View File
@@ -1,16 +0,0 @@
{ config, lib, pkgs, ... }:
let
dirModules = config.features.modules.security or { };
in
{
config = lib.mkIf ((dirModules.enable or false) && (dirModules.bitwarden.enable or true)) {
nixpkgs.config.permittedInsecurePackages = [
"electron-39.8.10"
];
environment.systemPackages = with pkgs; [
bitwarden-desktop
];
};
}
-6
View File
@@ -1,6 +0,0 @@
{ lib, ... }: {
imports = lib.mapAttrsToList
(file: _: ./. + "/${file}")
(lib.filterAttrs (file: _: lib.hasSuffix ".nix" file && file != "default.nix")
(builtins.readDir ./.));
}
-12
View File
@@ -1,12 +0,0 @@
{ config, lib, pkgs, ... }:
let
dirModules = config.features.modules.system or { };
in
{
config = lib.mkIf ((dirModules.enable or false) && (dirModules.btop.enable or true)) {
environment.systemPackages = with pkgs; [
btop
];
};
}
-12
View File
@@ -1,12 +0,0 @@
{ config, lib, pkgs, ... }:
let
dirModules = config.features.modules.system or { };
in
{
config = lib.mkIf ((dirModules.enable or false) && (dirModules.bubblewrap.enable or true)) {
environment.systemPackages = with pkgs; [
bubblewrap
];
};
}
-6
View File
@@ -1,6 +0,0 @@
{ lib, ... }: {
imports = lib.mapAttrsToList
(file: _: ./. + "/${file}")
(lib.filterAttrs (file: _: lib.hasSuffix ".nix" file && file != "default.nix")
(builtins.readDir ./.));
}
-17
View File
@@ -1,17 +0,0 @@
{ config, lib, pkgs, ... }:
let
dirModules = config.features.modules.system or { };
in
{
config = lib.mkIf ((dirModules.enable or false) && (dirModules.garbage-collection.enable or true)) {
nix = {
settings.auto-optimise-store = true;
gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 7d";
};
};
};
}
-12
View File
@@ -1,12 +0,0 @@
{ config, lib, pkgs, ... }:
let
dirModules = config.features.modules.system or { };
in
{
config = lib.mkIf ((dirModules.enable or false) && (dirModules.yazi.enable or true)) {
environment.systemPackages = with pkgs; [
yazi
];
};
}
-6
View File
@@ -1,6 +0,0 @@
{ lib, ... }: {
imports = lib.mapAttrsToList
(file: _: ./. + "/${file}")
(lib.filterAttrs (file: _: lib.hasSuffix ".nix" file && file != "default.nix")
(builtins.readDir ./.));
}
-20
View File
@@ -1,20 +0,0 @@
{ config, lib, pkgs, ... }:
let
dirModules = config.features.modules.work or { };
in
{
config = lib.mkIf ((dirModules.enable or false) && (dirModules.enova.enable or true)) {
services.dnsmasq = {
enable = true;
settings = {
server = [
"1.1.1.1"
"8.8.8.8"
];
address = [ "/.enova.local/127.0.0.1" ];
};
};
};
}
+58 -42
View File
@@ -1,57 +1,73 @@
{ nixpkgs { nixpkgs, nixpkgs-unstable, home-manager, nix-flatpak, ... }:
, nixpkgs-unstable
, home-manager
, nix-flatpak
, ...
}:
let let
system = "x86_64-linux"; mkPkgsUnstable = system: import nixpkgs-unstable {
pkgsUnstable = import nixpkgs-unstable {
inherit system; inherit system;
config.allowUnfree = true; config.allowUnfree = true;
}; };
in
moduleNames = [ {
"ai" nixosConfigurations = {
"core" "gandalf" = nixpkgs.lib.nixosSystem {
"desktop" system = "x86_64-linux";
"development"
"features"
"gaming"
"hardware"
"multimedia"
"networking"
"security"
"system"
"work"
];
mkHost =
name:
nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = { specialArgs = {
inherit pkgsUnstable; pkgsUnstable = mkPkgsUnstable "x86_64-linux";
nixFlatpak = nix-flatpak; nixFlatpak = nix-flatpak;
}; };
modules = [ modules = [
nix-flatpak.nixosModules.nix-flatpak nix-flatpak.nixosModules.nix-flatpak
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
./hosts/${name} ./systems/gandalf
] ++ (map (mod: ./modules/${mod}) moduleNames); ];
};
"frodo" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
pkgsUnstable = mkPkgsUnstable "x86_64-linux";
nixFlatpak = nix-flatpak;
};
modules = [
nix-flatpak.nixosModules.nix-flatpak
home-manager.nixosModules.home-manager
./systems/frodo
];
};
"legolas" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
pkgsUnstable = mkPkgsUnstable "x86_64-linux";
nixFlatpak = nix-flatpak;
};
modules = [
nix-flatpak.nixosModules.nix-flatpak
home-manager.nixosModules.home-manager
./systems/legolas
];
};
"balrog" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
pkgsUnstable = mkPkgsUnstable "x86_64-linux";
nixFlatpak = nix-flatpak;
};
modules = [
nix-flatpak.nixosModules.nix-flatpak
home-manager.nixosModules.home-manager
./systems/balrog
];
};
"work" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
pkgsUnstable = mkPkgsUnstable "x86_64-linux";
nixFlatpak = nix-flatpak;
};
modules = [
nix-flatpak.nixosModules.nix-flatpak
home-manager.nixosModules.home-manager
./systems/work
];
}; };
in
{
nixosConfigurations = {
gandalf = mkHost "gandalf";
frodo = mkHost "frodo";
legolas = mkHost "legolas";
balrog = mkHost "balrog";
work = mkHost "work";
}; };
} }
+57
View File
@@ -0,0 +1,57 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page, on
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
{ config, lib, pkgs, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
../modules/home-manager.nix
../modules/common.nix
../modules/users.nix
../modules/locales.nix
../modules/services.nix
../modules/programs.nix
../modules/docker.nix
../modules/printing.nix
../modules/bambu-studio-flatpak.nix
../modules/arduino-ide.nix
../modules/devenv.nix
../modules/bitwarden.nix
];
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.loader.systemd-boot.enable = false;
boot.loader = {
efi = {
canTouchEfiVariables = true;
efiSysMountPoint = "/boot/efi"; # ← use the same mount point here.
};
grub = {
efiSupport = true;
device = "nodev";
};
};
networking.hostName = "balrog";
networking.networkmanager.enable = true;
networking.nameservers = [ "192.168.68.56" "1.1.1.1" "8.8.8.8" ];
hardware.enableAllFirmware = true;
boot.initrd.kernelModules = [ "wl" ]; boot.kernelModules = [ "wl" "kvm-intel" ];
boot.extraModulePackages = with config.boot.kernelPackages; [
broadcom_sta
];
nixpkgs.config = {
allowInsecurePredicate = pkg: builtins.elem (lib.getName pkg) ["broadcom-sta"];
};
hardware.bluetooth.enable = true;
services.blueman.enable = true;
system.stateVersion = "25.11"; # Did you read the comment?
}
+31
View File
@@ -0,0 +1,31 @@
# Do not modify this file! It was generated by ‘nixos-generate-config’
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/6795dc19-3130-4693-b04c-a2c56fbdbd55";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/A202-E19C";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
};
swapDevices = [ ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}
+26
View File
@@ -0,0 +1,26 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running ‘nixos-help’).
{ config, pkgs, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
../modules/common.nix
../modules/users.nix
../modules/locales.nix
../modules/services.nix
../modules/programs.nix
];
# Bootloader.
boot.loader.grub.enable = true;
boot.loader.grub.device = "/dev/vda";
boot.loader.grub.useOSProber = true;
networking.hostName = "frodo"; # Define your hostname.
system.stateVersion = "25.11"; # Did you read the comment?
}
@@ -1,31 +1,20 @@
# Do not modify this file! It was generated by ‘nixos-generate-config’ # Do not modify this file! It was generated by ‘nixos-generate-config’
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config { config, lib, pkgs, modulesPath, ... }:
, lib
, pkgs
, modulesPath
, ...
}:
{ {
imports = [ imports =
(modulesPath + "/profiles/qemu-guest.nix") [ (modulesPath + "/profiles/qemu-guest.nix")
]; ];
boot.initrd.availableKernelModules = [ boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk" ];
"ahci"
"xhci_pci"
"virtio_pci"
"sr_mod"
"virtio_blk"
];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ]; boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
fileSystems."/" = { fileSystems."/" =
device = "/dev/disk/by-uuid/abc73402-b278-4995-a3bf-4bd28646285a"; { device = "/dev/disk/by-uuid/abc73402-b278-4995-a3bf-4bd28646285a";
fsType = "ext4"; fsType = "ext4";
}; };
+84
View File
@@ -0,0 +1,84 @@
{ config, pkgs, ... }:
{
imports =
[
./hardware-configuration.nix
../modules/home-manager.nix
../modules/common.nix
../modules/users.nix
../modules/locales.nix
../modules/services.nix
../modules/programs.nix
../modules/gaming.nix
../modules/obs-studio.nix
../modules/garbage-collection.nix
../modules/printing.nix
../modules/docker.nix
../modules/matrix.nix
../modules/kdenlive.nix
../modules/audacity.nix
../modules/ollama.nix
../modules/wireguard.nix
../modules/qbittorrent.nix
../modules/gimp.nix
../modules/openscad.nix
../modules/bambu-studio-flatpak.nix
../modules/arduino-ide.nix
../modules/bitwarden.nix
];
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking.hostName = "gandalf";
networking.networkmanager.enable = true;
networking.nameservers = [ "192.168.68.56" "1.1.1.1" "8.8.8.8" ];
networking.firewall.enable = false;
home-manager.users.avravels.home.hyprland.execOnce = [
"waybar"
"[workspace 1 silent] kitty"
"[workspace 1 silent] spotify"
"[workspace 2 silent] firefox"
];
networking.interfaces.enp130s0.wakeOnLan.enable = true;
networking.firewall.allowedUDPPorts = [ 9 ];
services.xserver.videoDrivers = ["nvidia"];
services.openssh.settings.X11Forwarding = true;
hardware = {
graphics.enable = true;
nvidia.modesetting.enable = true;
nvidia.open = true;
nvidia.nvidiaSettings = true;
};
systemd.targets.sleep.enable = false;
systemd.targets.suspend.enable = false;
systemd.targets.hibernate.enable = false;
systemd.targets.hybrid-sleep.enable = false;
virtualisation.libvirtd.enable = true;
services = {
# Bluetooth fixes
# Can be removed when https://github.com/NixOS/nixpkgs/pull/499670 is merged and in 25.11
udev.extraRules = ''
SUBSYSTEM=="usb", ENV{ID_VENDOR_ID}=="0489", ENV{ID_MODEL_ID}=="e111", ENV{UDISKS_IGNORE}="1", ENV{ID_MEDIA_PLAYER}="", ENV{ID_MTP_DEVICE}="", ENV{ID_GPHOTO2}="", ENV{ID_INPUT}="", ENV{SOLID_IGNORE}="1", TAG-="uaccess"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0489", ATTRS{idProduct}=="e111", ENV{DEVTYPE}=="usb_interface", ENV{UDISKS_IGNORE}="1", ENV{ID_MEDIA_PLAYER}="", ENV{ID_MTP_DEVICE}="", ENV{ID_GPHOTO2}="", ENV{ID_INPUT}="", ENV{SOLID_IGNORE}="1", TAG-="uaccess"
SUBSYSTEM=="usb", KERNEL=="3-14:*", ENV{UDISKS_IGNORE}="1", ENV{ID_MEDIA_PLAYER}="", ENV{ID_MTP_DEVICE}="", ENV{ID_GPHOTO2}="", ENV{ID_INPUT}="", ENV{SOLID_IGNORE}="1", TAG-="uaccess"
SUBSYSTEM=="usb", KERNELS=="3-14", ENV{UDISKS_IGNORE}="1", ENV{ID_MEDIA_PLAYER}="", ENV{ID_MTP_DEVICE}="", ENV{ID_GPHOTO2}="", ENV{SOLID_IGNORE}="1"
'';
};
system.stateVersion = "25.11"; # Did you read the comment?
}
@@ -0,0 +1,31 @@
# Do not modify this file! It was generated by ‘nixos-generate-config’
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/fbdcecb5-3a2b-4bd5-9586-4de834200363";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/01E4-5DD7";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices = [ ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}
+35
View File
@@ -0,0 +1,35 @@
{ config, pkgs, ... }:
{
imports =
[
./hardware-configuration.nix
../modules/common.nix
../modules/users.nix
../modules/locales.nix
../modules/services.nix
../modules/programs.nix
../modules/gaming.nix
];
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking.hostName = "legolas";
networking.networkmanager.enable = true;
networking.nameservers = [ "192.168.68.56" "1.1.1.1" "8.8.8.8" ];
services.xserver.videoDrivers = ["nvidia"];
hardware = {
graphics.enable = true;
nvidia.modesetting.enable = true;
nvidia.open = true;
nvidia.nvidiaSettings = true;
};
virtualisation.libvirtd.enable = true;
system.stateVersion = "25.11"; # Did you read the comment?
}
@@ -0,0 +1,36 @@
# Do not modify this file! It was generated by ‘nixos-generate-config’
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/3369db74-89ad-4b2f-b843-485c1b4f356b";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/C4C8-E90E";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
};
fileSystems."/media" =
{ device = "/dev/disk/by-uuid/faa2f6ba-00a5-46e4-9b03-a031509dd232";
fsType = "ext4";
};
swapDevices = [ ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}
+8
View File
@@ -0,0 +1,8 @@
{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
arduino-ide
];
}
+7
View File
@@ -0,0 +1,7 @@
{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
audacity
];
}
+7
View File
@@ -0,0 +1,7 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
azuredatastudio
];
}
+8
View File
@@ -0,0 +1,8 @@
{ pkgs, ...}:
{
services.flatpak.enable = true;
services.flatpak.packages = [
"com.bambulab.BambuStudio"
];
}
+12
View File
@@ -0,0 +1,12 @@
{ config, pkgs, ... }:
{
nixpkgs.config.permittedInsecurePackages = [
"electron-39.8.10"
];
environment.systemPackages = with pkgs; [
bitwarden-desktop
];
}
+21
View File
@@ -0,0 +1,21 @@
{ config, pkgs, ... }:
{
nixpkgs.config.allowUnfree = true;
nix.settings.experimental-features = [ "nix-command" "flakes" ];
users.defaultUserShell = pkgs.zsh;
environment.systemPackages = with pkgs; [
chromium
gnumake
jetbrains-toolbox
fastfetch
jq
];
security.rtkit.enable = true;
system.stateVersion = "25.11";
}
+10
View File
@@ -0,0 +1,10 @@
{ config, pkgsUnstable, ... } :
{
environment.systemPackages = with pkgsUnstable; [
devenv
];
nix.settings.trusted-users = [ "root" "avravels" ];
}
+7
View File
@@ -0,0 +1,7 @@
{ config, pkgs, ... }:
{
virtualisation.docker.enable = true;
users.users.avravels.extraGroups = [ "docker" ];
}
+12
View File
@@ -0,0 +1,12 @@
{ pkgs, ... }:
{
services.dnsmasq = {
enable = true;
settings = {
server = [ "1.1.1.1" "8.8.8.8" ];
address = [ "/.enova.local/127.0.0.1" ];
};
};
}
+7
View File
@@ -0,0 +1,7 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
filezilla
];
}
+20
View File
@@ -0,0 +1,20 @@
{ config, pkgs, ... }:
{
programs.steam = {
enable = true;
remotePlay.openFirewall = true;
localNetworkGameTransfers.openFirewall = true;
package = pkgs.steam.override {
extraEnv = {
MANGOHUD = "1";
WINE_VK_VULKAN_ONLY="1";
};
};
};
environment.systemPackages = [
pkgs.heroic
pkgs.mangohud
];
}
+12
View File
@@ -0,0 +1,12 @@
{ config, pkgs, ... }:
{
nix = {
settings.auto-optimise-store = true;
gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 7d";
};
};
}
+7
View File
@@ -0,0 +1,7 @@
{ config, pkgs, ... } :
{
environment.systemPackages = with pkgs; [
gimp
];
}
+13
View File
@@ -0,0 +1,13 @@
{ pkgs, pkgsUnstable, ... }:
{
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
extraSpecialArgs = {
inherit pkgsUnstable;
};
users.avravels = import home/home.nix;
};
}
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loaded 100 of 139 files, more files were not shown because too many files have changed in this diff. Show more