diff --git a/flake.lock b/flake.lock index 63e5de6..1a6f95b 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1746171682, - "narHash": "sha256-EyXUNSa+H+YvGVuQJP1nZskXAowxKYp79RNUsNdQTj4=", + "lastModified": 1745557122, + "narHash": "sha256-eqSo9ugzsqhFgaDFYUZj943nurlX4L6f+AW0skJ4W+M=", "owner": "nix-community", "repo": "home-manager", - "rev": "50eee705bbdbac942074a8c120e8194185633675", + "rev": "dd26f75fb4ec1c731d4b1396eaf4439ce40a91c1", "type": "github" }, "original": { @@ -74,11 +74,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1746621361, - "narHash": "sha256-T9vOxEqI1j1RYugV0b9dgy0AreiZ9yBDKZJYyclF0og=", + "lastModified": 1745955289, + "narHash": "sha256-mmV2oPhQN+YF2wmnJzXX8tqgYmUYXUj3uUUBSTmYN5o=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "2ea3ad8a1f26a76f8a8e23fc4f7757c46ef30ee5", + "rev": "72081c9fbbef63765ae82bff9727ea79cc86bd5b", "type": "github" }, "original": { @@ -90,11 +90,11 @@ }, "nixos-unstable": { "locked": { - "lastModified": 1746461020, - "narHash": "sha256-7+pG1I9jvxNlmln4YgnlW4o+w0TZX24k688mibiFDUE=", + "lastModified": 1745930157, + "narHash": "sha256-y3h3NLnzRSiUkYpnfvnS669zWZLoqqI6NprtLQ+5dck=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3730d8a308f94996a9ba7c7138ede69c1b9ac4ae", + "rev": "46e634be05ce9dc6d4db8e664515ba10b78151ae", "type": "github" }, "original": { @@ -106,11 +106,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1746557022, - "narHash": "sha256-QkNoyEf6TbaTW5UZYX0OkwIJ/ZMeKSSoOMnSDPQuol0=", + "lastModified": 1745921652, + "narHash": "sha256-hEAvEN+y/OQ7wA7+u3bFJwXSe8yoSf2QaOMH3hyTJTQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1d3aeb5a193b9ff13f63f4d9cc169fb88129f860", + "rev": "b000159bba69b0106a42f65e52dbf27f77aca9d3", "type": "github" }, "original": { diff --git a/hostHelper.nix b/hostHelper.nix index 3602016..b096499 100644 --- a/hostHelper.nix +++ b/hostHelper.nix @@ -1,16 +1,17 @@ -inArgs: hostname: hostOptions: let +inArgs: hostname: hostOptions: +let nixosSystem = if (hostOptions ? unstable && hostOptions.unstable) - then inArgs.nixos-unstable.lib.nixosSystem - else inArgs.nixpkgs.lib.nixosSystem; + then inArgs.nixos-unstable.lib.nixosSystem + else inArgs.nixpkgs.lib.nixosSystem; in nixosSystem { specialArgs = {inherit inArgs;}; modules = [ - ./hosts/${hostname} - { - networking.hostName = hostname; + {networking.hostName = hostname;} + (./hosts/${hostname}) + { # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions # on your system were taken. It‘s perfectly fine and recommended to leave diff --git a/hosts/crocoite/default.nix b/hosts/crocoite/default.nix index 2b546da..0859c5d 100644 --- a/hosts/crocoite/default.nix +++ b/hosts/crocoite/default.nix @@ -5,6 +5,7 @@ nixos-unstable, ... }: { + #nixpkgs.overlays = [ overlays.unstable-packages ]; nixpkgs = { # You can add overlays here @@ -24,8 +25,11 @@ # }); # }) ]; + }; + + imports = [ # steam and other stuff seems to depend on perl #"${modulesPath}/profiles/perlless.nix" @@ -53,7 +57,7 @@ ../../modules/wm_and_de ../../modules/pkg_mgrmnt - + ../../system_profiles/defaults.nix # ../../tests ]; diff --git a/hosts/game-luanti/default.nix b/hosts/game-luanti/default.nix index 9072876..234c358 100644 --- a/hosts/game-luanti/default.nix +++ b/hosts/game-luanti/default.nix @@ -4,10 +4,13 @@ modulesPath, ... }: { + + imports = [ ./hardware-configuration.nix ../../system_profiles/defaults.nix ../../system_profiles/mini-container.nix + ]; } diff --git a/hosts/game-luanti/hardware-configuration.nix b/hosts/game-luanti/hardware-configuration.nix index f8c86aa..1a421a1 100644 --- a/hosts/game-luanti/hardware-configuration.nix +++ b/hosts/game-luanti/hardware-configuration.nix @@ -1,3 +1,6 @@ -{lib, ...}: { +{ + lib, + ... +}: { nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; } diff --git a/hosts/jitsi/default.nix b/hosts/jitsi/default.nix index 1893723..f76da0b 100644 --- a/hosts/jitsi/default.nix +++ b/hosts/jitsi/default.nix @@ -9,6 +9,7 @@ allowUnfree = true; }; + imports = [ ./hardware-configuration.nix diff --git a/hosts/jitsi/hardware-configuration.nix b/hosts/jitsi/hardware-configuration.nix index f8c86aa..1a421a1 100644 --- a/hosts/jitsi/hardware-configuration.nix +++ b/hosts/jitsi/hardware-configuration.nix @@ -1,3 +1,6 @@ -{lib, ...}: { +{ + lib, + ... +}: { nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; } diff --git a/modules/firewall.nix b/modules/firewall.nix index f8cb4bb..cc4dba0 100644 --- a/modules/firewall.nix +++ b/modules/firewall.nix @@ -1,9 +1,9 @@ { networking.firewall = { - enable = false; + enable = false; - # Open ports in the firewall. - allowedTCPPorts = [8080 10001 10002]; - allowedUDPPorts = [8080 10001 10002]; + # Open ports in the firewall. + allowedTCPPorts = [8080 10001 10002]; + allowedUDPPorts = [8080 10001 10002]; }; } diff --git a/modules/pkg_mgrmnt/podman.nix b/modules/pkg_mgrmnt/podman.nix index 96379cf..ee82a11 100644 --- a/modules/pkg_mgrmnt/podman.nix +++ b/modules/pkg_mgrmnt/podman.nix @@ -1,8 +1,7 @@ {pkgs, ...}: { # Enable common container config files in /etc/containers + virtualisation.containers.enable = true; virtualisation = { - containers.enable = true; - podman = { enable = true; @@ -16,6 +15,8 @@ }; }; + environment.sessionVariables = { + }; # Useful other development tools environment.systemPackages = with pkgs; [ dive # look into docker image layers diff --git a/modules/pkg_mgrmnt/store_pkg_file.nix b/modules/pkg_mgrmnt/store_pkg_file.nix index 4f4e02b..1eb7d31 100644 --- a/modules/pkg_mgrmnt/store_pkg_file.nix +++ b/modules/pkg_mgrmnt/store_pkg_file.nix @@ -10,5 +10,4 @@ formatted = builtins.concatStringsSep "\n" sortedUnique; in formatted; - # TODO: in the far future: add a little alias that greps throgh that file } diff --git a/modules/sec_auth/login-manager.nix b/modules/sec_auth/login-manager.nix index c9d208b..970f2b9 100644 --- a/modules/sec_auth/login-manager.nix +++ b/modules/sec_auth/login-manager.nix @@ -1,6 +1,8 @@ {pkgs, ...}: let default_command = "Hyprland"; in { + # Enable touchpad support (enabled default in most desktopManager). + # services.xserver.libinput.enable = true; services.greetd = { enable = true; vt = 7; diff --git a/modules/sec_auth/ssh.nix b/modules/sec_auth/ssh.nix index 5f8a774..6613cc3 100644 --- a/modules/sec_auth/ssh.nix +++ b/modules/sec_auth/ssh.nix @@ -6,10 +6,17 @@ askPassword = "${pkgs.lxqt.lxqt-openssh-askpass}/bin/lxqt-openssh-askpass"; }; + # This is using a rec (recursive) expression to set and access XDG_BIN_HOME within the expression + # For more on rec expressions see https://nix.dev/tutorials/first-steps/nix-language#recursive-attribute-set-rec environment.sessionVariables = { SSH_AUTH_SOCK = "$XDG_RUNTIME_DIR/ssh-agent"; }; + environment.systemPackages = with pkgs; [ + #ssh-askpass-fullscreen + lxqt.lxqt-openssh-askpass + ]; + # Some programs need SUID wrappers, can be configured further or are # started in user sessions. # programs.mtr.enable = true; diff --git a/modules/software/browser/brave.nix b/modules/software/browser/brave.nix index 751639f..04560ef 100644 --- a/modules/software/browser/brave.nix +++ b/modules/software/browser/brave.nix @@ -1,3 +1,5 @@ {pkgs, ...}: { - environment.systemPackages = [pkgs.brave]; + environment.systemPackages = with pkgs; [ + brave + ]; } diff --git a/modules/software/flatpak.nix b/modules/software/flatpak.nix index 830250e..968a64f 100644 --- a/modules/software/flatpak.nix +++ b/modules/software/flatpak.nix @@ -2,68 +2,60 @@ services.flatpak = { packages = [ { - # flatpak permisssion gui origin = "flathub"; appId = "com.github.tchx84.Flatseal"; - } + } # flatpak permisssion gui + { + origin = "flathub"; + appId = "com.mojang.Minecraft"; + } # Lego for adults + { + origin = "flathub"; + appId = "de.schmidhuberj.DieBahn"; + } # Public transport connection viewer + { + origin = "flathub"; + appId = "com.github.hugolabe.Wike"; + } # Wikpedia, but in nice { - # Local chat AI origin = "flathub"; appId = "io.gpt4all.gpt4all"; - } + } # Local chat AI { - # note taking and brain organising origin = "flathub"; appId = "md.obsidian.Obsidian"; - } + } # note taking and brain organising { - # remote dekstop origin = "flathub"; appId = "com.parsecgaming.parsec"; - } - { - # electron media player (youtube and co) - origin = "flathub"; - appId = "org.js.nuclear.Nuclear"; - } + } # remote dekstop # messenger { - # good e2ee, but centralized origin = "flathub"; appId = "org.signal.Signal"; } { - # bad/no e2ee, but centralized :3 origin = "flathub"; appId = "org.telegram.desktop"; } { - # discord, no privacy origin = "flathub"; appId = "dev.vencord.Vesktop"; - } + } # More usable discord for linux { - # soundboard for chat apps origin = "flathub"; appId = "io.github.Soundux"; - } + } # soundboard # games { - # shooter origin = "flathub"; appId = "com.etlegacy.ETLegacy"; - } + } # shooter { - # Lego for adults origin = "flathub"; - appId = "com.mojang.Minecraft"; - } - { - # Lego for real adults - origin = "flathub"; - appId = "net.minetest.Minetest"; + appId = "org.js.nuclear.Nuclear"; } #"com.obsproject.Studio" #this is another way to write it diff --git a/modules/software/fonts.nix b/modules/software/fonts.nix index 1d1c26e..ed1f806 100644 --- a/modules/software/fonts.nix +++ b/modules/software/fonts.nix @@ -13,11 +13,7 @@ fira-code-symbols #droid-sans-mono (nerdfonts.override { - fonts = [ - "FiraCode" - "DroidSansMono" - "JetBrainsMono" - ]; + fonts = ["FiraCode" "DroidSansMono" "JetBrainsMono"]; }) ]; } diff --git a/modules/software/packages.nix b/modules/software/packages.nix index 8e7ea71..2642393 100644 --- a/modules/software/packages.nix +++ b/modules/software/packages.nix @@ -15,11 +15,7 @@ lm_sensors unstable.neovim - git - gitui - lazygit - gnumake gcc nodePackages.npm diff --git a/modules/software/shells/fish.nix b/modules/software/shells/fish.nix index 638cb80..1d8a994 100644 --- a/modules/software/shells/fish.nix +++ b/modules/software/shells/fish.nix @@ -3,6 +3,9 @@ fish = { enable = true; useBabelfish = true; + shellInit = '' + starship init fish | source + ''; }; nix-index.enableFishIntegration = true; direnv.enableFishIntegration = true; diff --git a/outputs.nix b/outputs.nix index aab3468..4fce707 100644 --- a/outputs.nix +++ b/outputs.nix @@ -10,6 +10,7 @@ inArgs: let # This is a function that generates an attribute by calling a function you # pass to it, with each system as an argument forAllSystems = inArgs.nixpkgs.lib.genAttrs systems; + in { # NixOS configuration entrypoint # Available through 'nixos-rebuild --flake .#your-hostname' @@ -17,12 +18,10 @@ in { crocoite = {stateVersion = "24.05";}; jitsi = {stateVersion = "24.11";}; - game-luanti = { - stateVersion = "25.05"; - unstable = true; - }; + game-luanti = {stateVersion = "25.05"; unstable = true;}; }; + # Your custom packages # Accessible through 'nix build', 'nix shell', etc #packages = forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system}); diff --git a/system_profiles/defaults.nix b/system_profiles/defaults.nix index 8fb3c00..51652c0 100644 --- a/system_profiles/defaults.nix +++ b/system_profiles/defaults.nix @@ -9,9 +9,9 @@ nixpkgs.config.allowUnfree = lib.mkDefault true; nix = { - # https://lix.systems/ Lix is a modern, delicious implementation of the Nix package manager, - # focused on correctness, usability, and growth – - # and committed to doing right by its community. + # https://lix.systems/ Lix is a modern, delicious implementation of the Nix package manager, + # focused on correctness, usability, and growth – + # and committed to doing right by its community. package = lib.mkDefault pkgs.lix; channel.enable = lib.mkDefault false; diff --git a/system_profiles/mini-container.nix b/system_profiles/mini-container.nix index ce05d95..275ef92 100644 --- a/system_profiles/mini-container.nix +++ b/system_profiles/mini-container.nix @@ -1,6 +1,13 @@ -{lib, ...}: { - boot.isContainer = lib.mkDefault true; - boot.kernel.enable = lib.mkDefault false; +{ + lib, + ... +}: { + imports = [ + ./mini.nix - imports = [./mini.nix]; + { + boot.isContainer = lib.mkDefault true; + boot.kernel.enable = lib.mkDefault false; + } + ]; }