From a6e1430a3eafb641b755478e8cde6dbb088de629 Mon Sep 17 00:00:00 2001 From: JuliusFreudenberger Date: Sun, 22 Feb 2026 17:20:48 +0100 Subject: [PATCH 01/12] Add fira fonts --- modules/fonts.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/fonts.nix b/modules/fonts.nix index 55a3e97..6a3cbd9 100644 --- a/modules/fonts.nix +++ b/modules/fonts.nix @@ -8,6 +8,7 @@ font-awesome terminus_font dlrg-fonts + fira ]; } From fbb86d2d5338e6e0bcac007f629eabd068a5f6f0 Mon Sep 17 00:00:00 2001 From: JuliusFreudenberger Date: Fri, 2 Jan 2026 21:39:06 +0100 Subject: [PATCH 02/12] Add initial home-manager configuration --- flake.nix | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/flake.nix b/flake.nix index 1c26073..b8f0325 100644 --- a/flake.nix +++ b/flake.nix @@ -152,5 +152,24 @@ }; }; + + homeConfigurations = { + jufr2 = let + username = "jufr2"; + system = "x86_64-linux"; + pkgs = nixpkgs.legacyPackages.${system}; + in + home-manager.lib.homeManagerConfiguration { + inherit pkgs; + + modules = [ + home/core.nix + home/neovim/default.nix + home/zsh/default.nix + ]; + + }; + }; + }; } From 0f163aee34eb40663d764c32e7865750188d4296 Mon Sep 17 00:00:00 2001 From: JuliusFreudenberger Date: Fri, 2 Jan 2026 21:48:34 +0100 Subject: [PATCH 03/12] Add nix config to home-manager configuration --- flake.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/flake.nix b/flake.nix index b8f0325..eaf41de 100644 --- a/flake.nix +++ b/flake.nix @@ -164,6 +164,7 @@ modules = [ home/core.nix + modules/nix.nix home/neovim/default.nix home/zsh/default.nix ]; From bdd7bd301e880fb411500eabde5c5083e0b5d5f8 Mon Sep 17 00:00:00 2001 From: JuliusFreudenberger Date: Fri, 2 Jan 2026 22:15:57 +0100 Subject: [PATCH 04/12] Explicitly set nix package to use --- modules/nix.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/nix.nix b/modules/nix.nix index 1329a34..8813371 100644 --- a/modules/nix.nix +++ b/modules/nix.nix @@ -5,6 +5,7 @@ }: { # do garbage collection weekly to keep disk usage low nix = { + package = pkgs.nix; settings = { experimental-features = ["nix-command" "flakes"]; }; From 378d7f3051597e8343ab6072a9a698845e4db12b Mon Sep 17 00:00:00 2001 From: JuliusFreudenberger Date: Fri, 9 Jan 2026 22:05:52 +0100 Subject: [PATCH 05/12] Add username in extraSpecialArgs --- flake.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/flake.nix b/flake.nix index eaf41de..893619b 100644 --- a/flake.nix +++ b/flake.nix @@ -162,6 +162,10 @@ home-manager.lib.homeManagerConfiguration { inherit pkgs; + extraSpecialArgs = { + inherit username; + }; + modules = [ home/core.nix modules/nix.nix From 9e81d66be2340ff3dc4d375efc81ab3b4a818ebd Mon Sep 17 00:00:00 2001 From: JuliusFreudenberger Date: Fri, 9 Jan 2026 22:06:46 +0100 Subject: [PATCH 06/12] Add genericLinux target for homemanager --- flake.nix | 3 +++ home/targets/genericLinux.nix | 7 +++++++ 2 files changed, 10 insertions(+) create mode 100644 home/targets/genericLinux.nix diff --git a/flake.nix b/flake.nix index 893619b..c465062 100644 --- a/flake.nix +++ b/flake.nix @@ -168,6 +168,9 @@ modules = [ home/core.nix + + home/targets/genericLinux.nix + modules/nix.nix home/neovim/default.nix home/zsh/default.nix diff --git a/home/targets/genericLinux.nix b/home/targets/genericLinux.nix new file mode 100644 index 0000000..061ab31 --- /dev/null +++ b/home/targets/genericLinux.nix @@ -0,0 +1,7 @@ +{ + ... +}: { + + targets.genericLinux.enable = true; + +} From 8aad0b7e49fce498539f18b1edfa5bbd83393f3e Mon Sep 17 00:00:00 2001 From: JuliusFreudenberger Date: Fri, 9 Jan 2026 22:21:21 +0100 Subject: [PATCH 07/12] Add essential cli tools to home-manager --- flake.nix | 1 + home/cli.nix | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 home/cli.nix diff --git a/flake.nix b/flake.nix index c465062..8b183d5 100644 --- a/flake.nix +++ b/flake.nix @@ -174,6 +174,7 @@ modules/nix.nix home/neovim/default.nix home/zsh/default.nix + home/cli.nix ]; }; diff --git a/home/cli.nix b/home/cli.nix new file mode 100644 index 0000000..301cffc --- /dev/null +++ b/home/cli.nix @@ -0,0 +1,24 @@ +{ + pkgs, + lib, + config, + ... +}: { + home.packages = with pkgs; [ + wget + curl + git + neofetch + tealdeer + + pdfgrep + pdftk + p7zip + ]; + + programs = { + htop.enable = true; + git.enable = true; + bat.enable = true; + }; +} From 535afa836a8a371b6745e4c1d08597ca92931d99 Mon Sep 17 00:00:00 2001 From: JuliusFreudenberger Date: Sun, 22 Feb 2026 17:22:33 +0100 Subject: [PATCH 08/12] Disable git configuration through home-manager --- home/cli.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/home/cli.nix b/home/cli.nix index 301cffc..5c089dd 100644 --- a/home/cli.nix +++ b/home/cli.nix @@ -18,7 +18,6 @@ programs = { htop.enable = true; - git.enable = true; bat.enable = true; }; } From e8deca29832dbb88c9f0ed7fe4494aeb0098094b Mon Sep 17 00:00:00 2001 From: JuliusFreudenberger Date: Sun, 22 Feb 2026 17:46:32 +0100 Subject: [PATCH 09/12] Move devshells into main flake.nix --- devshells/java17-maven/flake.lock | 64 ---------------------- devshells/java17-maven/flake.nix | 21 ------- devshells/java21-maven/flake.lock | 64 ---------------------- devshells/java21-maven/flake.nix | 21 ------- devshells/php8/flake.lock | 64 ---------------------- devshells/php8/flake.nix | 30 ---------- devshells/texlive-with-pygments/flake.lock | 64 ---------------------- devshells/texlive-with-pygments/flake.nix | 21 ------- flake.nix | 25 ++++++++- 9 files changed, 24 insertions(+), 350 deletions(-) delete mode 100644 devshells/java17-maven/flake.lock delete mode 100644 devshells/java17-maven/flake.nix delete mode 100644 devshells/java21-maven/flake.lock delete mode 100644 devshells/java21-maven/flake.nix delete mode 100644 devshells/php8/flake.lock delete mode 100644 devshells/php8/flake.nix delete mode 100644 devshells/texlive-with-pygments/flake.lock delete mode 100644 devshells/texlive-with-pygments/flake.nix diff --git a/devshells/java17-maven/flake.lock b/devshells/java17-maven/flake.lock deleted file mode 100644 index b4da842..0000000 --- a/devshells/java17-maven/flake.lock +++ /dev/null @@ -1,64 +0,0 @@ -{ - "nodes": { - "flake-utils": { - "inputs": { - "systems": [ - "systems" - ] - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "nixpkgs": { - "locked": { - "lastModified": 1766473571, - "narHash": "sha256-5G1NDO2PulBx1RoaA6U1YoUDX0qZslpPxv+n5GX6Qto=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "76701a179d3a98b07653e2b0409847499b2a07d3", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-25.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "root": { - "inputs": { - "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs", - "systems": "systems" - } - }, - "systems": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - } - }, - "root": "root", - "version": 7 -} diff --git a/devshells/java17-maven/flake.nix b/devshells/java17-maven/flake.nix deleted file mode 100644 index 169ccb2..0000000 --- a/devshells/java17-maven/flake.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ - description = "A basic flake with a shell"; - inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11"; - inputs.systems.url = "github:nix-systems/default"; - inputs.flake-utils = { - url = "github:numtide/flake-utils"; - inputs.systems.follows = "systems"; - }; - - outputs = - { nixpkgs, flake-utils, ... }: - flake-utils.lib.eachDefaultSystem ( - system: - let - pkgs = nixpkgs.legacyPackages.${system}; - in - { - devShells.default = pkgs.mkShell { packages = with pkgs; [ maven jdk17 ]; }; - } - ); -} diff --git a/devshells/java21-maven/flake.lock b/devshells/java21-maven/flake.lock deleted file mode 100644 index b4da842..0000000 --- a/devshells/java21-maven/flake.lock +++ /dev/null @@ -1,64 +0,0 @@ -{ - "nodes": { - "flake-utils": { - "inputs": { - "systems": [ - "systems" - ] - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "nixpkgs": { - "locked": { - "lastModified": 1766473571, - "narHash": "sha256-5G1NDO2PulBx1RoaA6U1YoUDX0qZslpPxv+n5GX6Qto=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "76701a179d3a98b07653e2b0409847499b2a07d3", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-25.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "root": { - "inputs": { - "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs", - "systems": "systems" - } - }, - "systems": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - } - }, - "root": "root", - "version": 7 -} diff --git a/devshells/java21-maven/flake.nix b/devshells/java21-maven/flake.nix deleted file mode 100644 index 943795f..0000000 --- a/devshells/java21-maven/flake.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ - description = "A basic flake with a shell"; - inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11"; - inputs.systems.url = "github:nix-systems/default"; - inputs.flake-utils = { - url = "github:numtide/flake-utils"; - inputs.systems.follows = "systems"; - }; - - outputs = - { nixpkgs, flake-utils, ... }: - flake-utils.lib.eachDefaultSystem ( - system: - let - pkgs = nixpkgs.legacyPackages.${system}; - in - { - devShells.default = pkgs.mkShell { packages = with pkgs; [ maven jdk21 ]; }; - } - ); -} diff --git a/devshells/php8/flake.lock b/devshells/php8/flake.lock deleted file mode 100644 index ae71305..0000000 --- a/devshells/php8/flake.lock +++ /dev/null @@ -1,64 +0,0 @@ -{ - "nodes": { - "flake-utils": { - "inputs": { - "systems": [ - "systems" - ] - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "nixpkgs": { - "locked": { - "lastModified": 1736684107, - "narHash": "sha256-vH5mXxEvZeoGNkqKoCluhTGfoeXCZ1seYhC2pbMN0sg=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "635e887b48521e912a516625eee7df6cf0eba9c1", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-24.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "root": { - "inputs": { - "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs", - "systems": "systems" - } - }, - "systems": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - } - }, - "root": "root", - "version": 7 -} diff --git a/devshells/php8/flake.nix b/devshells/php8/flake.nix deleted file mode 100644 index 146dfe4..0000000 --- a/devshells/php8/flake.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ - description = "A basic flake with a shell"; - inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11"; - inputs.systems.url = "github:nix-systems/default"; - inputs.flake-utils = { - url = "github:numtide/flake-utils"; - inputs.systems.follows = "systems"; - }; - - outputs = - { nixpkgs, flake-utils, ... }: - flake-utils.lib.eachDefaultSystem ( - system: - let - pkgs = nixpkgs.legacyPackages.${system}; - in - { - devShells.default = pkgs.mkShell { packages = with pkgs; [ (php81.buildEnv { - extensions = ({ enabled, all }: enabled ++ (with all; [ - xdebug - ])); - extraConfig = '' - xdebug.mode=debug - ''; - }) - php81Packages.composer - ]; }; - } - ); -} diff --git a/devshells/texlive-with-pygments/flake.lock b/devshells/texlive-with-pygments/flake.lock deleted file mode 100644 index cd08dba..0000000 --- a/devshells/texlive-with-pygments/flake.lock +++ /dev/null @@ -1,64 +0,0 @@ -{ - "nodes": { - "flake-utils": { - "inputs": { - "systems": [ - "systems" - ] - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "nixpkgs": { - "locked": { - "lastModified": 1739624908, - "narHash": "sha256-f84lBmLl4tkDp1ZU5LBTSFzlxXP4926DVW3KnXrke10=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "a60651b217d2e529729cbc7d989c19f3941b9250", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-24.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "root": { - "inputs": { - "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs", - "systems": "systems" - } - }, - "systems": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - } - }, - "root": "root", - "version": 7 -} diff --git a/devshells/texlive-with-pygments/flake.nix b/devshells/texlive-with-pygments/flake.nix deleted file mode 100644 index 3a6635e..0000000 --- a/devshells/texlive-with-pygments/flake.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ - description = "Flake for TeXlive with python pygments"; - inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11"; - inputs.systems.url = "github:nix-systems/default"; - inputs.flake-utils = { - url = "github:numtide/flake-utils"; - inputs.systems.follows = "systems"; - }; - - outputs = - { nixpkgs, flake-utils, ... }: - flake-utils.lib.eachDefaultSystem ( - system: - let - pkgs = nixpkgs.legacyPackages.${system}; - in - { - devShells.default = pkgs.mkShell { packages = with pkgs; [ texliveFull python3Packages.pygments ]; }; - } - ); -} diff --git a/flake.nix b/flake.nix index 8b183d5..d322177 100644 --- a/flake.nix +++ b/flake.nix @@ -60,8 +60,9 @@ } @ inputs: let inherit (self) outputs; lib = nixpkgs.lib; + eachSystem = lib.genAttrs (import systems); forEachSystem = f: lib.genAttrs (import systems) (system: f pkgsFor.${system}); - pkgsFor = lib.genAttrs (import systems) ( + pkgsFor = eachSystem ( system: import nixpkgs { inherit system; @@ -180,5 +181,27 @@ }; }; + devShells = eachSystem (system: + let + pkgs = nixpkgs.legacyPackages.${system}; + in { + java11-maven = pkgs.mkShell { packages = with pkgs; [ maven jdk11 ]; }; + java17-maven = pkgs.mkShell { packages = with pkgs; [ maven jdk17 ]; }; + java21-maven = pkgs.mkShell { packages = with pkgs; [ maven jdk21 ]; }; + texlive-with-pygments = pkgs.mkShell { packages = with pkgs; [ texliveFull python3Packages.pygments ]; }; + php8 = pkgs.mkShell { packages = with pkgs; [ + (php82.buildEnv { + extensions = ({ enabled, all }: enabled ++ (with all; [ + xdebug + ])); + extraConfig = '' + xdebug.mode=debug + ''; + }) + php82Packages.composer + ];}; + } + ); + }; } From f50a34b7c2a5892130922eb78546dafc570f101a Mon Sep 17 00:00:00 2001 From: JuliusFreudenberger Date: Sun, 22 Feb 2026 17:52:05 +0100 Subject: [PATCH 10/12] Add gui apps in home-manager profile --- home/gui.nix | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 home/gui.nix diff --git a/home/gui.nix b/home/gui.nix new file mode 100644 index 0000000..e1627fe --- /dev/null +++ b/home/gui.nix @@ -0,0 +1,24 @@ +{ + pkgs, + lib, + config, + ... +}: { + home.packages = with pkgs; [ + jetbrains.idea + teams-for-linux + mate.engrampa + zotero + deezer-enhanced + ]; + + programs = { + firefox.enable = true; + keepassxc = { + enable = true; + autostart = true; + }; + }; + + xdg.autostart.enable = true; +} From ba39a00af7ef733c16c51db6946e0ba433858a53 Mon Sep 17 00:00:00 2001 From: JuliusFreudenberger Date: Sun, 22 Feb 2026 17:52:20 +0100 Subject: [PATCH 11/12] Add java versions as extraDependencies in home-manager --- home/java-dev.nix | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 home/java-dev.nix diff --git a/home/java-dev.nix b/home/java-dev.nix new file mode 100644 index 0000000..c4c5adc --- /dev/null +++ b/home/java-dev.nix @@ -0,0 +1,17 @@ +{ + pkgs, + lib, + config, + ... +}: { + home.packages = with pkgs; [ + maven + gradle + ]; + + home.extraDependencies = with pkgs; [ + jdk11 + jdk17 + jdk21 + ]; +} From 9e11d4bf7f2c8d63dc598d85c7ff75b699d00170 Mon Sep 17 00:00:00 2001 From: JuliusFreudenberger Date: Sun, 22 Feb 2026 17:53:19 +0100 Subject: [PATCH 12/12] Include new home-manager modules --- flake.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/flake.nix b/flake.nix index d322177..6615b6c 100644 --- a/flake.nix +++ b/flake.nix @@ -176,6 +176,10 @@ home/neovim/default.nix home/zsh/default.nix home/cli.nix + home/gui.nix + home/java-dev.nix + + home/direnv/default.nix ]; };