1 Commits
Author SHA1 Message Date
Armel van Ravels 00a8168ef5 add den pattern 2026-08-14 15:08:14 +02:00
105 changed files with 824 additions and 648 deletions

No files matched your search

-15
View File
@@ -1,15 +0,0 @@
{
"customizations": {
"vscode": {
"extensions": [
"mkhl.direnv"
]
},
"zed": {
"extensions": []
}
},
"image": "ghcr.io/cachix/devenv/devcontainer:latest",
"overrideCommand": false,
"updateContentCommand": "devenv test"
}
+15 -15
View File
@@ -3,11 +3,11 @@
"devenv": { "devenv": {
"locked": { "locked": {
"dir": "src/modules", "dir": "src/modules",
"lastModified": 1790701375, "lastModified": 1786490576,
"narHash": "sha256-0FpLHIRDYiyo3EMTnMQSobZQknZaa3JuWo6vmMCK76o=", "narHash": "sha256-TH5K1TBi5YNUEEVXoPe99Wzy6XOxsuzkypEJofWc/fU=",
"owner": "cachix", "owner": "cachix",
"repo": "devenv", "repo": "devenv",
"rev": "fe20b5cba7ab5e93ae73f956a8d3efc50e1753f4", "rev": "5706f600b4b6799d5dade8602f85cfd2e060b2f3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -41,11 +41,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1790500375, "lastModified": 1784288435,
"narHash": "sha256-XN3sDtn8TU9hAc9xqZ+SqRB/HHm2wjxM6aSWYLJU+oo=", "narHash": "sha256-ReRHaLgr/uVqdD8afFSn+myXIfpHeOhP0yYe0TJqAA8=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "a0e4241b51206fbcbf52fd322eb5f0cd80f153c4", "rev": "43b3c1ab9d40fb1dbb008f451988a91e375825e9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -59,11 +59,11 @@
"nixpkgs-src": "nixpkgs-src" "nixpkgs-src": "nixpkgs-src"
}, },
"locked": { "locked": {
"lastModified": 1789506231, "lastModified": 1786472144,
"narHash": "sha256-vNkJbtmqyBfFhn/HnzQo4ROuoyYWuy/allqTfJb4kMY=", "narHash": "sha256-W1wLGKZKGtnTWGRFgjbsVQleuO6jgMweaSAbFltLkN0=",
"owner": "cachix", "owner": "cachix",
"repo": "devenv-nixpkgs", "repo": "devenv-nixpkgs",
"rev": "c2f38fe7f9e04d9aadd354d380f2bd40531d9737", "rev": "ea21d30f66a051c7cd750692a2af8d56e0ec4bfb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -76,11 +76,11 @@
"nixpkgs-src": { "nixpkgs-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1789370336, "lastModified": 1786098110,
"narHash": "sha256-6RSEDHIWQtesQKWSu5qRai8L2h4KgCgMEfJHstW99G4=", "narHash": "sha256-shi1tjDhCGGd0kIgVPNY03V8NBWSTzhMSFDb7IqSoec=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "c7def046b9a883d46974757852106483d741586f", "rev": "afb4584a80bbf779ce0f691509ff902d188c2b3d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -105,11 +105,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1791203292, "lastModified": 1785945821,
"narHash": "sha256-vuzVwvjeucSnwKwMBpyP8r5IzdrMKCHEdwTrRFwUN7I=", "narHash": "sha256-NLSyTCW4K4ofhNBllt3omPasm6QpralXH1DBZOc91Dw=",
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"rev": "03d8ee1bcbc8f9638907bb79edb9673151d0e22b", "rev": "ae7910970dddc408fe6ab1c8e4b277bb21d72dc0",
"type": "github" "type": "github"
}, },
"original": { "original": {
-2
View File
@@ -5,8 +5,6 @@
}: }:
{ {
devcontainer.enable = true;
treefmt.enable = true; treefmt.enable = true;
treefmt.config.programs.nixpkgs-fmt.enable = true; treefmt.config.programs.nixpkgs-fmt.enable = true;
Generated
+12 -33
View File
@@ -1,25 +1,5 @@
{ {
"nodes": { "nodes": {
"ai-usage": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1791553507,
"narHash": "sha256-Zrzq6ISt8BAG5ArLJP6qJTIn5YgAPZ1jL2lLlxjpFaM=",
"ref": "refs/heads/master",
"rev": "69605d7e5414786cfe004e93e392f8a90ac1638c",
"revCount": 1,
"type": "git",
"url": "https://git.een.ninja/armel/ai-usage.git"
},
"original": {
"type": "git",
"url": "https://git.een.ninja/armel/ai-usage.git"
}
},
"home-manager": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -27,11 +7,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1790996401, "lastModified": 1785119570,
"narHash": "sha256-f+kOxEmOUnQazVAmGg0i8hzwgd1kX/geY+k/Dpheye8=", "narHash": "sha256-Rgs2xKnGLFWQscxUaXX07oyZeuMDOHEbqDOsgliLFGM=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "db7d5e2332710f5abb088f6b5de927d7f9511b35", "rev": "d4fd24667c8cbef124bb70a20380cab75ec8474d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -43,11 +23,11 @@
}, },
"nix-flatpak": { "nix-flatpak": {
"locked": { "locked": {
"lastModified": 1790428548, "lastModified": 1783368811,
"narHash": "sha256-OsZ/I7v3ArCrk0XOUvkiU1dFtGtE1qZTHRGjvBXIKUU=", "narHash": "sha256-0H8jDwR4Kegb3heaTrH1ftbgKfZVDT8JE+46uXxDy/Q=",
"owner": "gmodena", "owner": "gmodena",
"repo": "nix-flatpak", "repo": "nix-flatpak",
"rev": "f1f045fc8b35ff59f88982c1752d3f3a42ca6a61", "rev": "20d42f0ee98c9fe9f85e8d1de474f1409ed10d05",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -58,11 +38,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1791426274, "lastModified": 1786430034,
"narHash": "sha256-MWhktfFtFE8Jl7bf9Pkp7TR5MSdYCjCswSo0Gkb4ywc=", "narHash": "sha256-Vux08kA5PICwS2sViCMfwVLAHNoH8TkKAeBo25LjpMI=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "7c8764b7c7b09b34f632464276218ef9090eaa11", "rev": "70cc4559b10a6062b05ff1af17e0add065ccaed9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -74,11 +54,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1791366222, "lastModified": 1786348146,
"narHash": "sha256-o0N4g6uSOIppU7CGToNvGlMf5vC+B6O6ukFHKY/TKOY=", "narHash": "sha256-we5zDEFfn8TgzeWKjKDMIjeQZ59omEPl23NIF+13/ys=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "39ad350a0602fa0a58a544344e3e9187526ea45c", "rev": "d482ef84049d9b7276b83a06e4e4d76983830097",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -90,7 +70,6 @@
}, },
"root": { "root": {
"inputs": { "inputs": {
"ai-usage": "ai-usage",
"home-manager": "home-manager", "home-manager": "home-manager",
"nix-flatpak": "nix-flatpak", "nix-flatpak": "nix-flatpak",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
-5
View File
@@ -19,11 +19,6 @@
url = "github:gmodena/nix-flatpak"; url = "github:gmodena/nix-flatpak";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
ai-usage = {
url = "git+https://git.een.ninja/armel/ai-usage.git";
inputs.nixpkgs.follows = "nixpkgs";
};
}; };
# This strange syntax is a workaround for the intentional limitations of `flake.nix` files. # This strange syntax is a workaround for the intentional limitations of `flake.nix` files.
+10 -22
View File
@@ -1,7 +1,3 @@
# 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 { config
, lib , lib
, pkgs , pkgs
@@ -10,32 +6,24 @@
{ {
imports = [ imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix ./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/vlc.nix
../../modules/btop.nix
../../modules/lazygit.nix
# ../../modules/bitwarden.nix
]; ];
features.modules = {
core.enable = true;
development.enable = true;
hardware.enable = true;
multimedia.enable = true;
system.enable = true;
};
boot.kernelPackages = pkgs.linuxPackages_latest; boot.kernelPackages = pkgs.linuxPackages_latest;
boot.loader.systemd-boot.enable = false; boot.loader.systemd-boot.enable = false;
boot.loader = { boot.loader = {
efi = { efi = {
canTouchEfiVariables = true; canTouchEfiVariables = true;
efiSysMountPoint = "/boot/efi"; # ← use the same mount point here. efiSysMountPoint = "/boot/efi";
}; };
grub = { grub = {
efiSupport = true; efiSupport = true;
@@ -76,5 +64,5 @@
} }
]; ];
system.stateVersion = "25.11"; # Did you read the comment? system.stateVersion = "25.11";
} }
+6 -13
View File
@@ -1,26 +1,19 @@
# 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, ... }: { config, pkgs, ... }:
{ {
imports = [ imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix ./hardware-configuration.nix
../../modules/common.nix
../../modules/users.nix
../../modules/locales.nix
../../modules/services.nix
../../modules/programs.nix
]; ];
# Bootloader. features.modules = {
core.enable = true;
};
boot.loader.grub.enable = true; boot.loader.grub.enable = true;
boot.loader.grub.device = "/dev/vda"; boot.loader.grub.device = "/dev/vda";
boot.loader.grub.useOSProber = true; boot.loader.grub.useOSProber = true;
networking.hostName = "frodo"; # Define your hostname. networking.hostName = "frodo";
system.stateVersion = "25.11"; # Did you read the comment? system.stateVersion = "25.11";
} }
+17 -36
View File
@@ -3,42 +3,23 @@
{ {
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
../../modules/home-manager.nix ./mtp-fix.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
../../modules/vlc.nix
../../modules/devenv.nix
../../modules/btop.nix
../../modules/discord.nix
../../modules/lazygit.nix
../../modules/yazi.nix
../../modules/cursor-cli.nix
../../modules/openrct2.nix
../../modules/jazz2.nix
../../modules/opencode.nix
../../modules/git-churn.nix
]; ];
# boot.kernelPackages = pkgs.linuxPackages_7_2; 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.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
@@ -46,7 +27,7 @@
networking.hostName = "gandalf"; networking.hostName = "gandalf";
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
networking.nameservers = [ networking.nameservers = [
# "192.168.68.56" "192.168.68.56"
"1.1.1.1" "1.1.1.1"
"8.8.8.8" "8.8.8.8"
]; ];
@@ -73,5 +54,5 @@
virtualisation.libvirtd.enable = true; virtualisation.libvirtd.enable = true;
system.stateVersion = "25.11"; # Did you read the comment? system.stateVersion = "25.11";
} }
+30
View File
@@ -0,0 +1,30 @@
{ 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 = [ ];
});
}
)
];
}
+6 -7
View File
@@ -3,14 +3,13 @@
{ {
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
../../modules/common.nix
../../modules/users.nix
../../modules/locales.nix
../../modules/services.nix
../../modules/programs.nix
../../modules/gaming.nix
]; ];
features.modules = {
core.enable = true;
gaming.enable = true;
};
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
@@ -34,5 +33,5 @@
virtualisation.libvirtd.enable = true; virtualisation.libvirtd.enable = true;
system.stateVersion = "25.11"; # Did you read the comment? system.stateVersion = "25.11";
} }
+36 -32
View File
@@ -1,39 +1,22 @@
{ config, home-manager, pkgs, ... }: { config, pkgs, ... }:
{ {
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
../../modules/home-manager.nix
../../modules/common.nix
../../modules/users.nix
../../modules/locales.nix
../../modules/services.nix
../../modules/programs.nix
../../modules/garbage-collection.nix
../../modules/printing.nix
../../modules/docker.nix
../../modules/teams-for-linux.nix
../../modules/azure-data-studio.nix
../../modules/filezilla.nix
../../modules/wireguard.nix
../../modules/remmina.nix
../../modules/postman.nix
../../modules/gimp.nix
../../modules/jq.nix
../../modules/enova.nix
../../modules/devenv.nix
../../modules/bitwarden.nix
../../modules/btop.nix
../../modules/vlc.nix
../../modules/lazygit.nix
../../modules/yazi.nix
../../modules/bubblewrap.nix
../../modules/socat.nix
../../modules/cursor-cli.nix
../../modules/git-churn.nix
../../modules/ai-usage.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.kernelPackages = pkgs.linuxPackages_latest;
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
@@ -63,6 +46,28 @@
virtualisation.libvirtd.enable = true; 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 = { networking.hosts = {
"127.0.0.1" = [ "127.0.0.1" = [
"local.wormundco.de" "local.wormundco.de"
@@ -73,6 +78,5 @@
"149.210.174.226" = [ "kindertelefoon" ]; "149.210.174.226" = [ "kindertelefoon" ];
}; };
system.stateVersion = "25.11";
system.stateVersion = "25.11"; # Did you read the comment?
} }
-1
View File
@@ -1 +0,0 @@
+6
View File
@@ -0,0 +1,6 @@
{ lib, ... }: {
imports = lib.mapAttrsToList
(file: _: ./. + "/${file}")
(lib.filterAttrs (file: _: lib.hasSuffix ".nix" file && file != "default.nix")
(builtins.readDir ./.));
}
+13
View File
@@ -0,0 +1,13 @@
{ 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;
};
};
}
-7
View File
@@ -1,7 +0,0 @@
{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
arduino-ide
];
}
-7
View File
@@ -1,7 +0,0 @@
{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
audacity
];
}
-7
View File
@@ -1,7 +0,0 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
azuredatastudio
];
}
-9
View File
@@ -1,9 +0,0 @@
{ pkgs, ... }:
{
services.flatpak.update.onActivation = true;
services.flatpak.enable = true;
services.flatpak.packages = [
"com.bambulab.BambuStudio"
];
}
-11
View File
@@ -1,11 +0,0 @@
{ config, pkgs, ... }:
{
nixpkgs.config.permittedInsecurePackages = [
"electron-39.8.10"
];
environment.systemPackages = with pkgs; [
bitwarden-desktop
];
}
-7
View File
@@ -1,7 +0,0 @@
{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
btop
];
}
-8
View File
@@ -1,8 +0,0 @@
{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
bubblewrap
];
}
-24
View File
@@ -1,24 +0,0 @@
{ 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";
}
+29
View File
@@ -0,0 +1,29 @@
{ 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
@@ -0,0 +1,6 @@
{ lib, ... }: {
imports = lib.mapAttrsToList
(file: _: ./. + "/${file}")
(lib.filterAttrs (file: _: lib.hasSuffix ".nix" file && file != "default.nix")
(builtins.readDir ./.));
}
+18
View File
@@ -0,0 +1,18 @@
{ 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
@@ -0,0 +1,23 @@
{ 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
@@ -0,0 +1,17 @@
{ 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
@@ -0,0 +1,28 @@
{ 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
@@ -0,0 +1,27 @@
{ 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;
};
};
}
-8
View File
@@ -1,8 +0,0 @@
{ config, pkgsUnstable, ... }:
{
environment.systemPackages = with pkgsUnstable; [
cursor-cli
];
}
+6
View File
@@ -0,0 +1,6 @@
{ lib, ... }: {
imports = lib.mapAttrsToList
(file: _: ./. + "/${file}")
(lib.filterAttrs (file: _: lib.hasSuffix ".nix" file && file != "default.nix")
(builtins.readDir ./.));
}
+12
View File
@@ -0,0 +1,12 @@
{ 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
@@ -0,0 +1,12 @@
{ 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
@@ -0,0 +1,12 @@
{ 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
@@ -0,0 +1,12 @@
{ 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
@@ -0,0 +1,6 @@
{ lib, ... }: {
imports = lib.mapAttrsToList
(file: _: ./. + "/${file}")
(lib.filterAttrs (file: _: lib.hasSuffix ".nix" file && file != "default.nix")
(builtins.readDir ./.));
}
+17
View File
@@ -0,0 +1,17 @@
{ 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
@@ -0,0 +1,12 @@
{ 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
@@ -0,0 +1,12 @@
{ 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
@@ -0,0 +1,12 @@
{ 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
@@ -0,0 +1,12 @@
{ 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
];
};
}
-12
View File
@@ -1,12 +0,0 @@
{ config, pkgsUnstable, ... }:
{
environment.systemPackages = with pkgsUnstable; [
devenv
];
nix.settings.trusted-users = [
"root"
"avravels"
];
}
-8
View File
@@ -1,8 +0,0 @@
{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
discord
];
}
-7
View File
@@ -1,7 +0,0 @@
{ config, pkgs, ... }:
{
virtualisation.docker.enable = true;
users.users.avravels.extraGroups = [ "docker" ];
}
-15
View File
@@ -1,15 +0,0 @@
{ pkgs, ... }:
{
services.dnsmasq = {
enable = true;
settings = {
server = [
"1.1.1.1"
"8.8.8.8"
];
address = [ "/.enova.local/127.0.0.1" ];
};
};
}
+18
View File
@@ -0,0 +1,18 @@
{ 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";
};
}
-7
View File
@@ -1,7 +0,0 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
filezilla
];
}
-19
View File
@@ -1,19 +0,0 @@
{ 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.mangohud
];
}
+6
View File
@@ -0,0 +1,6 @@
{ lib, ... }: {
imports = lib.mapAttrsToList
(file: _: ./. + "/${file}")
(lib.filterAttrs (file: _: lib.hasSuffix ".nix" file && file != "default.nix")
(builtins.readDir ./.));
}
+24
View File
@@ -0,0 +1,24 @@
{ 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, pkgs, ... }:
{
nix = {
settings.auto-optimise-store = true;
gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 7d";
};
};
}
-7
View File
@@ -1,7 +0,0 @@
{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
gimp
];
}
-23
View File
@@ -1,23 +0,0 @@
{ pkgs, ... }:
{
environment.systemPackages = [
(pkgs.writeShellApplication {
name = "git-churn";
runtimeInputs = with pkgs; [
git
coreutils
gnugrep
];
text = ''
git log -M -C --name-only --format='format:' "$@" |
sort |
grep -v '^$' |
uniq -c |
sort -n
'';
})
];
}
+12
View File
@@ -0,0 +1,12 @@
{ 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
@@ -0,0 +1,14 @@
{ 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
@@ -0,0 +1,6 @@
{ lib, ... }: {
imports = lib.mapAttrsToList
(file: _: ./. + "/${file}")
(lib.filterAttrs (file: _: lib.hasSuffix ".nix" file && file != "default.nix")
(builtins.readDir ./.));
}
+12
View File
@@ -0,0 +1,12 @@
{ 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
@@ -0,0 +1,47 @@
{ 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"
];
};
};
}
-13
View File
@@ -1,13 +0,0 @@
{ pkgs, ai-usage, pkgsUnstable, ... }:
{
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
extraSpecialArgs = {
inherit pkgsUnstable ai-usage;
};
users.avravels = import home/home.nix;
};
}
+2 -2
View File
@@ -8,6 +8,7 @@ let
mkhl.direnv mkhl.direnv
catppuccin.catppuccin-vsc catppuccin.catppuccin-vsc
bmewburn.vscode-intelephense-client bmewburn.vscode-intelephense-client
continue.continue
vue.volar vue.volar
ms-vscode-remote.remote-containers ms-vscode-remote.remote-containers
(pkgs.vscode-utils.buildVscodeMarketplaceExtension { (pkgs.vscode-utils.buildVscodeMarketplaceExtension {
@@ -48,12 +49,12 @@ let
"editor.lineNumbers" = "relative"; "editor.lineNumbers" = "relative";
"workbench.colorTheme" = "Catppuccin Mocha"; "workbench.colorTheme" = "Catppuccin Mocha";
"workbench.editor.enablePreview" = false; "workbench.editor.enablePreview" = false;
"workbench.activityBar.orientation" = "vertical";
"direnv.restart.automatic" = true; "direnv.restart.automatic" = true;
"terminal.integrated.defaultProfile.linux" = "zsh"; "terminal.integrated.defaultProfile.linux" = "zsh";
"terminal.integrated.profiles.linux".zsh = { "terminal.integrated.profiles.linux".zsh = {
path = "${pkgs.zsh}/bin/zsh"; path = "${pkgs.zsh}/bin/zsh";
}; };
"coverage-gutters.coverageBaseDir" = "test-reports";
# PHPUnit # PHPUnit
"phpunit.command" = "phpunit.command" =
"docker compose exec laravel.test \${php} \${phpargs} \${phpunit} \${phpunitargs}"; "docker compose exec laravel.test \${php} \${phpargs} \${phpunit} \${phpunitargs}";
@@ -61,7 +62,6 @@ let
"phpunit.paths" = { "phpunit.paths" = {
"\${workspaceFolder}" = "/var/www/html"; "\${workspaceFolder}" = "/var/www/html";
}; };
"LaravelExtraIntellisense.basePathForCode" = "/var/www/html";
}; };
editors = { editors = {
-8
View File
@@ -1,8 +0,0 @@
{ pkgsUnstable, ... }:
{
environment.systemPackages = with pkgsUnstable; [
jazz2
];
}
-7
View File
@@ -1,7 +0,0 @@
{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
jq
];
}
-7
View File
@@ -1,7 +0,0 @@
{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
kdePackages.kdenlive
];
}
-7
View File
@@ -1,7 +0,0 @@
{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
lazygit
];
}
-18
View File
@@ -1,18 +0,0 @@
{ config, pkgs, ... }:
{
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";
};
}
-7
View File
@@ -1,7 +0,0 @@
{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
element-desktop
];
}
+12
View File
@@ -0,0 +1,12 @@
{ 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
@@ -0,0 +1,6 @@
{ lib, ... }: {
imports = lib.mapAttrsToList
(file: _: ./. + "/${file}")
(lib.filterAttrs (file: _: lib.hasSuffix ".nix" file && file != "default.nix")
(builtins.readDir ./.));
}
+12
View File
@@ -0,0 +1,12 @@
{ 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
@@ -0,0 +1,12 @@
{ 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
@@ -0,0 +1,15 @@
{ 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
@@ -0,0 +1,12 @@
{ 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
@@ -0,0 +1,6 @@
{ lib, ... }: {
imports = lib.mapAttrsToList
(file: _: ./. + "/${file}")
(lib.filterAttrs (file: _: lib.hasSuffix ".nix" file && file != "default.nix")
(builtins.readDir ./.));
}
+12
View File
@@ -0,0 +1,12 @@
{ 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
@@ -0,0 +1,12 @@
{ 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
@@ -0,0 +1,12 @@
{ 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
@@ -0,0 +1,12 @@
{ 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
@@ -0,0 +1,12 @@
{ 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
];
};
}
-10
View File
@@ -1,10 +0,0 @@
{ config, pkgs, ... }:
{
programs.obs-studio = {
enable = true;
package = pkgs.obs-studio.override {
cudaSupport = true;
};
};
}
-8
View File
@@ -1,8 +0,0 @@
{ pkgsUnstable, ... }:
{
services.ollama = {
enable = true;
package = pkgsUnstable.ollama-cuda;
};
}
-8
View File
@@ -1,8 +0,0 @@
{ pkgsUnstable, ... }:
{
environment.systemPackages = with pkgsUnstable; [
opencode
];
}
-8
View File
@@ -1,8 +0,0 @@
{ pkgsUnstable, ... }:
{
environment.systemPackages = with pkgsUnstable; [
openrct2
];
}
-7
View File
@@ -1,7 +0,0 @@
{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
openscad
];
}
-7
View File
@@ -1,7 +0,0 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
postman
];
}
-42
View File
@@ -1,42 +0,0 @@
{ config, pkgs, ... }:
{
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"
];
};
}
-12
View File
@@ -1,12 +0,0 @@
{ config, pkgs, ... }:
{
programs = {
zsh.enable = true;
hyprland.enable = true;
hyprland.xwayland.enable = true;
virt-manager.enable = true;
};
}
-7
View File
@@ -1,7 +0,0 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
qbittorrent
];
}
-7
View File
@@ -1,7 +0,0 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
remmina
];
}
+16
View File
@@ -0,0 +1,16 @@
{ 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
@@ -0,0 +1,6 @@
{ lib, ... }: {
imports = lib.mapAttrsToList
(file: _: ./. + "/${file}")
(lib.filterAttrs (file: _: lib.hasSuffix ".nix" file && file != "default.nix")
(builtins.readDir ./.));
}
-23
View File
@@ -1,23 +0,0 @@
{ config, pkgs, ... }:
{
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;
};
}
-8
View File
@@ -1,8 +0,0 @@
{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
socat
];
}
+12
View File
@@ -0,0 +1,12 @@
{ 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
@@ -0,0 +1,12 @@
{ 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
@@ -0,0 +1,6 @@
{ lib, ... }: {
imports = lib.mapAttrsToList
(file: _: ./. + "/${file}")
(lib.filterAttrs (file: _: lib.hasSuffix ".nix" file && file != "default.nix")
(builtins.readDir ./.));
}
+17
View File
@@ -0,0 +1,17 @@
{ 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
@@ -0,0 +1,12 @@
{ 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
];
};
}
-7
View File
@@ -1,7 +0,0 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
teams-for-linux
];
}
-22
View File
@@ -1,22 +0,0 @@
{ config, pkgs, ... }:
{
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;
};
}
-7
View File
@@ -1,7 +0,0 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
vlc
];
}
Loaded 100 of 105 files, more files were not shown because too many files have changed in this diff. Show more