24 Commits

Author SHA1 Message Date
Armel van Ravels
1b75b1bc9a Add bambu-studio the flatpak nix way 2026-04-24 14:06:47 +02:00
bd857c77dd Drop bambu-studio and add flatpak 2026-04-23 16:07:46 +02:00
Armel van Ravels
b1a13b64f7 Add unstable channel and jq 2026-04-23 16:07:04 +02:00
deed82f96b Add openscad 2026-04-15 11:15:50 +02:00
Armel van Ravels
6425616f8c New background 2026-04-15 11:15:08 +02:00
80cb7a6bd2 Add bambu studio 2026-04-13 21:04:57 +02:00
fc91df833a Set initial password 2026-04-13 17:32:51 +02:00
958a973ab5 flake update 2026-04-13 10:41:26 +02:00
4a19d10559 flake update 2026-04-09 20:22:58 +02:00
Armel van Ravels
4ff894e086 Add Enova DNS to Work machine 2026-04-08 15:01:57 +02:00
57dee45cb3 Update flake.lock 2026-04-08 00:54:41 +02:00
Armel van Ravels
eb948732a8 Hyprland start once for work 2026-04-07 10:44:34 +02:00
ff77b81b59 Just run kitty instead of kitty tmux as i can not attach it 2026-04-05 00:16:42 +02:00
a567d88667 Merge pull request 'Add gimp to gandalf system' (#15) from feature/add-gimp-to-gandalf into master
Reviewed-on: #15
2026-04-04 21:27:06 +02:00
e4f8c5e916 Add gimp to gandalf system 2026-04-04 21:25:28 +02:00
edfd6e1200 Merge pull request 'Autostart is configurable' (#14) from feature/hyprland-autostart into master
Reviewed-on: #14
2026-04-04 21:17:56 +02:00
ffd4894ab9 Autostart is configurable 2026-04-04 18:54:19 +02:00
6fe61afbaa Add qbittorrent and drop zen kernel 2026-03-31 22:53:50 +02:00
84b80ee811 Update flake.lock 2026-03-31 15:30:55 +02:00
7506054ebb Update flake 2026-03-30 21:04:47 +02:00
302c904cd2 Remove unused file 2026-03-27 21:53:00 +01:00
60267a5515 drop RDP 2026-03-27 21:46:55 +01:00
9aaba131e1 Add gimp.nix to work machine 2026-03-27 10:05:33 +01:00
8b9bb7ae90 Create gimp.nix module 2026-03-27 10:03:53 +01:00
20 changed files with 303 additions and 199 deletions

47
flake.lock generated
View File

@@ -7,11 +7,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1774274588, "lastModified": 1775425411,
"narHash": "sha256-dnHvv5EMUgTzGZmA+3diYjQU2O6BEpGLEOgJ1Qe9LaY=", "narHash": "sha256-KY6HsebJHEe5nHOWP7ur09mb0drGxYSzE3rQxy62rJo=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "cf9686ba26f5ef788226843bc31fda4cf72e373b", "rev": "0d02ec1d0a05f88ef9e74b516842900c41f0f2fe",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -21,13 +21,28 @@
"type": "github" "type": "github"
} }
}, },
"nix-flatpak": {
"locked": {
"lastModified": 1776625032,
"narHash": "sha256-edvwHiFhgOiwywt6/Iwe+sSn6ybhU3WZGnIoiGcKjfQ=",
"owner": "gmodena",
"repo": "nix-flatpak",
"rev": "479e19f1decb390aa5b75cae13ddf87d763c74cc",
"type": "github"
},
"original": {
"owner": "gmodena",
"repo": "nix-flatpak",
"type": "github"
}
},
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1774244481, "lastModified": 1776734388,
"narHash": "sha256-4XfMXU0DjN83o6HWZoKG9PegCvKvIhNUnRUI19vzTcQ=", "narHash": "sha256-vl3dkhlE5gzsItuHoEMVe+DlonsK+0836LIRDnm6MXQ=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "4590696c8693fea477850fe379a01544293ca4e2", "rev": "10e7ad5bbcb421fe07e3a4ad53a634b0cd57ffac",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -37,10 +52,28 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-unstable": {
"locked": {
"lastModified": 1776949667,
"narHash": "sha256-GMSVw35Q+294GlrTUKlx087E31z7KurReQ1YHSKp5iw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "01fbdeef22b76df85ea168fbfe1bfd9e63681b30",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"home-manager": "home-manager", "home-manager": "home-manager",
"nixpkgs": "nixpkgs" "nix-flatpak": "nix-flatpak",
"nixpkgs": "nixpkgs",
"nixpkgs-unstable": "nixpkgs-unstable"
} }
} }
}, },

View File

@@ -6,10 +6,19 @@
url = "github:nixos/nixpkgs/nixos-25.11"; url = "github:nixos/nixpkgs/nixos-25.11";
}; };
nixpkgs-unstable = {
url = "github:NixOS/nixpkgs/nixpkgs-unstable";
};
home-manager = { home-manager = {
url = "github:nix-community/home-manager/release-25.11"; url = "github:nix-community/home-manager/release-25.11";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nix-flatpak = {
url = "github:gmodena/nix-flatpak";
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.

View File

@@ -1,31 +1,58 @@
{ nixpkgs, home-manager, ... }: { nixpkgs, nixpkgs-unstable, home-manager, nix-flatpak, ... }:
let
mkPkgsUnstable = system: import nixpkgs-unstable {
inherit system;
config.allowUnfree = true;
};
in
{ {
nixosConfigurations = { nixosConfigurations = {
"gandalf" = nixpkgs.lib.nixosSystem { "gandalf" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
specialArgs = {
pkgsUnstable = mkPkgsUnstable "x86_64-linux";
nixFlatpak = nix-flatpak;
};
modules = [ modules = [
nix-flatpak.nixosModules.nix-flatpak
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
./systems/gandalf ./systems/gandalf
]; ];
}; };
"frodo" = nixpkgs.lib.nixosSystem { "frodo" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
specialArgs = {
pkgsUnstable = mkPkgsUnstable "x86_64-linux";
nixFlatpak = nix-flatpak;
};
modules = [ modules = [
nix-flatpak.nixosModules.nix-flatpak
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
./systems/frodo ./systems/frodo
]; ];
}; };
"legolas" = nixpkgs.lib.nixosSystem { "legolas" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
specialArgs = {
pkgsUnstable = mkPkgsUnstable "x86_64-linux";
nixFlatpak = nix-flatpak;
};
modules = [ modules = [
nix-flatpak.nixosModules.nix-flatpak
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
./systems/legolas ./systems/legolas
]; ];
}; };
"work" = nixpkgs.lib.nixosSystem { "work" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
specialArgs = {
pkgsUnstable = mkPkgsUnstable "x86_64-linux";
nixFlatpak = nix-flatpak;
};
modules = [ modules = [
nix-flatpak.nixosModules.nix-flatpak
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
./systems/work ./systems/work
]; ];

View File

@@ -20,7 +20,10 @@
../modules/audacity.nix ../modules/audacity.nix
../modules/ollama.nix ../modules/ollama.nix
../modules/wireguard.nix ../modules/wireguard.nix
../modules/rdp.nix ../modules/qbittorrent.nix
../modules/gimp.nix
../modules/openscad.nix
../modules/bambu-studio-flatpak.nix
]; ];
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
@@ -30,6 +33,13 @@
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
networking.nameservers = [ "192.168.68.56" "1.1.1.1" "8.8.8.8" ]; networking.nameservers = [ "192.168.68.56" "1.1.1.1" "8.8.8.8" ];
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.interfaces.enp130s0.wakeOnLan.enable = true;
networking.firewall.allowedUDPPorts = [ 9 ]; networking.firewall.allowedUDPPorts = [ 9 ];
@@ -51,12 +61,6 @@
virtualisation.libvirtd.enable = true; virtualisation.libvirtd.enable = true;
specialisation = {
zen.configuration = {
boot.kernelPackages = pkgs.linuxPackages_zen;
};
};
services = { services = {
# Bluetooth fixes # Bluetooth fixes
# Can be removed when https://github.com/NixOS/nixpkgs/pull/499670 is merged and in 25.11 # Can be removed when https://github.com/NixOS/nixpkgs/pull/499670 is merged and in 25.11

View File

@@ -0,0 +1,8 @@
{ pkgs, ...}:
{
services.flatpak.enable = true;
services.flatpak.packages = [
"com.bambulab.BambuStudio"
];
}

View File

@@ -10,9 +10,9 @@
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
chromium chromium
gnumake gnumake
git
jetbrains-toolbox jetbrains-toolbox
fastfetch fastfetch
jq
]; ];
security.rtkit.enable = true; security.rtkit.enable = true;

12
systems/modules/enova.nix Normal file
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
systems/modules/gimp.nix Normal file
View File

@@ -0,0 +1,7 @@
{ config, pkgs, ... } :
{
environment.systemPackages = with pkgs; [
gimp
];
}

View File

@@ -1,9 +1,12 @@
{ pkgs, ... }: { pkgs, pkgsUnstable, ... }:
{ {
home-manager = { home-manager = {
useGlobalPkgs = true; useGlobalPkgs = true;
useUserPackages = true; useUserPackages = true;
extraSpecialArgs = {
inherit pkgsUnstable;
};
users.avravels = import home/home.nix; users.avravels = import home/home.nix;
}; };

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 MiB

View File

@@ -1,32 +0,0 @@
{ pkgs, lib, ... }:
{
# Home Manager state version
home.stateVersion = "25.11";
home.username = "avravels";
home.homeDirectory = "/home/avravels";
imports = [
./other/fonts.nix
./programs/bitwarden.nix
./programs/kitty.nix
./programs/zsh.nix
./programs/direnv.nix
./programs/firefox.nix
./programs/tmux.nix
./programs/git-work.nix
./programs/libreoffice.nix
./programs/nvim.nix
./programs/ripgrep.nix
./programs/vscode.nix
./wm/rofi.nix
./wm/cursor.nix
./wm/dconf.nix
./wm/gtk.nix
./wm/waybar.nix
./wm/hyprland.nix
./wm/hyprpaper.nix
];
}

View File

@@ -1,4 +1,4 @@
{ lib, pkgs, config, ... }: { lib, pkgsUnstable, config, ... }:
{ {
options.home.git = { options.home.git = {
@@ -18,6 +18,7 @@
config = { config = {
programs.git = { programs.git = {
enable = true; enable = true;
package = pkgsUnstable.git;
settings.user = { settings.user = {
name = config.home.git.userName; name = config.home.git.userName;
email = config.home.git.userEmail; email = config.home.git.userEmail;

View File

@@ -1,6 +1,18 @@
{ pkgs, ... }: { lib, pkgs, config, ... }:
let
cfg = config.home.hyprland;
in
{ {
options.home.hyprland = {
execOnce = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [ "waybar" ];
description = "Commands to run once when Hyprland starts (maps to Hyprland `exec-once`).";
};
};
config = {
home.packages = with pkgs; [ home.packages = with pkgs; [
bzmenu bzmenu
hyprshot hyprshot
@@ -15,6 +27,7 @@
settings = { settings = {
### MONITOR ### MONITOR
monitor = [ monitor = [
"DP-3,2440x1440,auto,1"
",preferred,auto,1" ",preferred,auto,1"
]; ];
@@ -63,9 +76,8 @@
}; };
}; };
exec-once = [ # Use the configurable option here (default `[ "waybar" ]`)
"waybar" exec-once = (if cfg == null then { execOnce = [ "waybar" ]; } else cfg).execOnce;
];
### INPUT ### INPUT
input = { input = {
@@ -140,4 +152,5 @@
]; ];
}; };
}; };
};
} }

View File

@@ -3,6 +3,7 @@
let let
wallpaper = builtins.toString ../backgrounds/monkey.jpg; wallpaper = builtins.toString ../backgrounds/monkey.jpg;
wallpaper2 = builtins.toString ../backgrounds/bird.jpg; wallpaper2 = builtins.toString ../backgrounds/bird.jpg;
wallpaper3 = builtins.toString ../backgrounds/nix.png;
in in
{ {
services.hyprpaper = { services.hyprpaper = {
@@ -12,10 +13,10 @@ in
preload = [ preload = [
wallpaper wallpaper
wallpaper2 wallpaper2
wallpaper3
]; ];
wallpaper = [ wallpaper = [
"DP-2,${wallpaper2}" ",${wallpaper3}"
",${wallpaper}"
]; ];
}; };
}; };

7
systems/modules/jq.nix Normal file
View File

@@ -0,0 +1,7 @@
{ config, pkgs, ... } :
{
environment.systemPackages = with pkgs; [
jq
];
}

View File

@@ -0,0 +1,8 @@
{ config, pkgs, ... } :
{
environment.systemPackages = with pkgs; [
openscad
];
}

View File

@@ -0,0 +1,7 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
qbittorrent
];
}

View File

@@ -1,16 +0,0 @@
{ pkgs, ... }:
{
services.xserver.desktopManager.plasma6.enable = true;
services.xrdp.enable = true;
services.xrdp.defaultWindowManager = "startplasma-x11";
services.xrdp.openFirewall = true;
programs.seahorse.enable = false;
security.polkit.extraConfig = ''
polkit.addRule(function(action, subject) {
if (action.id.indexOf("org.freedesktop.color-manager.") == 0 && subject.isInGroup("users")) {
return polkit.Result.YES;
}
});
'';
}

View File

@@ -2,6 +2,7 @@
{ {
users.users.avravels = { users.users.avravels = {
initialPassword = "welcome";
isNormalUser = true; isNormalUser = true;
description = "Armel van Ravels"; description = "Armel van Ravels";
extraGroups = [ "networkmanager" "wheel" "libvirtd" ]; extraGroups = [ "networkmanager" "wheel" "libvirtd" ];

View File

@@ -19,6 +19,9 @@
../modules/wireguard.nix ../modules/wireguard.nix
../modules/remmina.nix ../modules/remmina.nix
../modules/postman.nix ../modules/postman.nix
../modules/gimp.nix
../modules/jq.nix
../modules/enova.nix
]; ];
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
@@ -32,11 +35,19 @@
networking.hostName = "laptop-armel"; networking.hostName = "laptop-armel";
home-manager.users.avravels.home.hyprland.execOnce = [
"waybar"
"[workspace 1 silent] kitty"
"[workspace 2 silent] firefox"
"[workspace 2 silent] teams-for-linux"
"[workspace 3 silent] spotify"
];
home-manager.users.avravels.home.git.userName = "Armel van Ravels"; home-manager.users.avravels.home.git.userName = "Armel van Ravels";
home-manager.users.avravels.home.git.userEmail = "armel@webavance.nl"; home-manager.users.avravels.home.git.userEmail = "armel@webavance.nl";
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
networking.nameservers = [ "192.168.68.56" "1.1.1.1" "8.8.8.8" ]; networking.nameservers = [ "127.0.0.1" "192.168.68.56" "1.1.1.1" "8.8.8.8" ];
networking.firewall.enable = false; networking.firewall.enable = false;
hardware.graphics.enable = true; hardware.graphics.enable = true;