diff --git a/flake.lock b/flake.lock index d1a4ddc..b2469bc 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1736373539, - "narHash": "sha256-dinzAqCjenWDxuy+MqUQq0I4zUSfaCvN9rzuCmgMZJY=", + "lastModified": 1739757849, + "narHash": "sha256-Gs076ot1YuAAsYVcyidLKUMIc4ooOaRGO0PqTY7sBzA=", "owner": "nix-community", "repo": "home-manager", - "rev": "bd65bc3cde04c16755955630b344bc9e35272c56", + "rev": "9d3d080aec2a35e05a15cedd281c2384767c2cfe", "type": "github" }, "original": { @@ -23,11 +23,11 @@ }, "nix-flatpak": { "locked": { - "lastModified": 1736334301, - "narHash": "sha256-370z+WLVnD7LrN/SvTCZxPl/XPTshS5NS2dHN4iyK6o=", + "lastModified": 1739444422, + "narHash": "sha256-iAVVHi7X3kWORftY+LVbRiStRnQEob2TULWyjMS6dWg=", "owner": "gmodena", "repo": "nix-flatpak", - "rev": "5f4ec93d432cd5288f6fe20d8842dceb5a065885", + "rev": "5e54c3ca05a7c7d968ae1ddeabe01d2a9bc1e177", "type": "github" }, "original": { @@ -38,11 +38,11 @@ }, "nixlib": { "locked": { - "lastModified": 1734829460, - "narHash": "sha256-dPhc+f2wkmhMqMIfq+hColJdysgVxKP9ilZ5bR0NRZI=", + "lastModified": 1736643958, + "narHash": "sha256-tmpqTSWVRJVhpvfSN9KXBvKEXplrwKnSZNAoNPf/S/s=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "0a31e8d833173ae63e43fd9dbff1ccf09c4f778c", + "rev": "1418bc28a52126761c02dd3d89b2d8ca0f521181", "type": "github" }, "original": { @@ -59,11 +59,11 @@ ] }, "locked": { - "lastModified": 1734915500, - "narHash": "sha256-A7CTIQ8SW0hfbhKlwK+vSsu4pD+Oaelw3v6goX6go+U=", + "lastModified": 1737057290, + "narHash": "sha256-3Pe0yKlCc7EOeq1X/aJVDH0CtNL+tIBm49vpepwL1MQ=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "051d1b2dda3b2e81b38d82e2b691e5c2f4d335f4", + "rev": "d002ce9b6e7eb467cd1c6bb9aef9c35d191b5453", "type": "github" }, "original": { @@ -74,11 +74,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1736441705, - "narHash": "sha256-OL7leZ6KBhcDF3nEKe4aZVfIm6xQpb1Kb+mxySIP93o=", + "lastModified": 1740089251, + "narHash": "sha256-Y78mDBWoO8CLLTjQfPfII+KXFb6lAmF9GrLbyVBsIMM=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "8870dcaff63dfc6647fb10648b827e9d40b0a337", + "rev": "18e9f9753e9ae261bcc7d3abe15745686991fd30", "type": "github" }, "original": { @@ -90,11 +90,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1736200483, - "narHash": "sha256-JO+lFN2HsCwSLMUWXHeOad6QUxOuwe9UOAF/iSl1J4I=", + "lastModified": 1739923778, + "narHash": "sha256-BqUY8tz0AQ4to2Z4+uaKczh81zsGZSYxjgvtw+fvIfM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3f0a8ac25fb674611b98089ca3a5dd6480175751", + "rev": "36864ed72f234b9540da4cf7a0c49e351d30d3f1", "type": "github" }, "original": { @@ -106,11 +106,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1736344531, - "narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=", + "lastModified": 1739866667, + "narHash": "sha256-EO1ygNKZlsAC9avfcwHkKGMsmipUk1Uc0TbrEZpkn64=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912", + "rev": "73cf49b8ad837ade2de76f87eb53fc85ed5d4680", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index ecacee4..b3ed743 100644 --- a/flake.nix +++ b/flake.nix @@ -100,7 +100,7 @@ system = "x86_64-linux"; modules = [ # you can include your own nixos configuration here, i.e. - #./hosts/factorio/factorio.nix + ./hosts/factorio/factorio.nix ]; customFormats = { diff --git a/hosts/crocoite/crocoite.nix b/hosts/crocoite/crocoite.nix index ed33bd9..c48608e 100644 --- a/hosts/crocoite/crocoite.nix +++ b/hosts/crocoite/crocoite.nix @@ -73,6 +73,7 @@ ../../modules/software/browser ../../modules/software/nix-helper ../../modules/software/shells + ../../modules/software/office ../../modules/wm_and_de diff --git a/hosts/factorio/boot.nix b/hosts/factorio/boot.nix index ca6a350..0c1d56d 100644 --- a/hosts/factorio/boot.nix +++ b/hosts/factorio/boot.nix @@ -1,6 +1,6 @@ {...}: { # Use the GRUB 2 boot loader. - boot.loader.grub.enable = true; + #boot.loader.grub.enable = true; # Define on which hard drive you want to install Grub. - boot.loader.grub.device = "/dev/sda"; # or "nodev" for efi only + #boot.loader.grub.device = "/dev/sda"; # or "nodev" for efi only } diff --git a/hosts/factorio/factorio.nix b/hosts/factorio/factorio.nix index 138f17d..d5e134b 100644 --- a/hosts/factorio/factorio.nix +++ b/hosts/factorio/factorio.nix @@ -1,6 +1,7 @@ { pkgs, lib, + modulesPath, ... }: { # This value determines the NixOS release from which the default @@ -9,62 +10,38 @@ # this value at the release version of the first install of this system. # Before changing this value read the documentation for this option # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). - system.stateVersion = "24.05"; # Did you read the comment? + system.stateVersion = "24.11"; # Did you read the comment? + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - nixpkgs = { - # You can add overlays here - #overlays = with inputs.self.overlays; [ - # Add overlays your own flake exports (from overlays and pkgs dir): - #additions - #modifications - #unstable-packages - - # You can also add overlays exported from other flakes: - # neovim-nightly-overlay.overlays.default - - # Or define it inline, for example: - # (final: prev: { - # hi = final.hello.overrideAttrs (oldAttrs: { - # patches = [ ./change-hello-to-hi.patch ]; - # }); - # }) - #]; - # Configure your nixpkgs instance - config = { - # Disable if you don't want unfree packages - allowUnfree = true; - }; + nixpkgs.config = { + # Disable if you don't want unfree packages + allowUnfree = true; }; - nix.settings.experimental-features = ["nix-command" "flakes"]; # 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. - #nix.package = pkgs.lix; + nix.package = pkgs.lix; + imports = [ #nixos-hardware.nixosModules.lenovo-thinkpad-t14-amd-gen1 #./hardware-configuration.nix - ./boot.nix - ./hardware-configuration.nix + #./boot.nix + #./hardware-configuration.nix ../../modules/locale.nix #../../modules/game/server/factorio/factorio.nix - # - # - # - + (modulesPath + "/profiles/perlless.nix") + (modulesPath + "/profiles/minimal.nix") { - programs.command-not-found.enable = false; environment.defaultPackages = []; - xdg = { - icons.enable = false; - mime.enable = false; - sounds.enable = false; - }; - documentation.man.enable = false; - documentation.nixos.enable = false; + boot.kernel.enable = false; + boot.isContainer = true; + nixpkgs.overlays = [(self: super: {})]; + } + { # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's # still possible to use this option, but it's recommended to use it in conjunction @@ -73,8 +50,10 @@ # networking.interfaces.ens18.useDHCP = lib.mkDefault true; } ]; - #disabledModules = [ - # - # - #]; + disabledModules = [ + (modulesPath + "/profiles/all-hardware.nix") + (modulesPath + "/profiles/base.nix") + # + # + ]; } diff --git a/modules/customisation.nix b/modules/customisation.nix index 824f102..65e1092 100644 --- a/modules/customisation.nix +++ b/modules/customisation.nix @@ -1,7 +1,10 @@ {pkgs, ...}: { + # install and set neovim as MANPAGER environment.systemPackages = [pkgs.neovim]; environment.variables = { "MANPAGER" = "nvim +Man!"; + + # set neovim as default editor "EDITOR" = "nvim"; }; } diff --git a/modules/sec_auth/login-manager.nix b/modules/sec_auth/login-manager.nix index 0b8344d..970f2b9 100644 --- a/modules/sec_auth/login-manager.nix +++ b/modules/sec_auth/login-manager.nix @@ -1,8 +1,6 @@ -{ pkgs, ... }: -let +{pkgs, ...}: let default_command = "Hyprland"; -in -{ +in { # Enable touchpad support (enabled default in most desktopManager). # services.xserver.libinput.enable = true; services.greetd = { diff --git a/modules/software/flatpak.nix b/modules/software/flatpak.nix index 5480176..16af41f 100644 --- a/modules/software/flatpak.nix +++ b/modules/software/flatpak.nix @@ -45,6 +45,12 @@ appId = "io.github.Soundux"; } # soundboard + # games + { + origin = "flathub"; + appId = "com.etlegacy.ETLegacy"; + } # shooter + #"com.obsproject.Studio" #this is another way to write it ]; }; diff --git a/modules/software/game.nix b/modules/software/game.nix index eebdd19..87313f6 100644 --- a/modules/software/game.nix +++ b/modules/software/game.nix @@ -1,37 +1,28 @@ {pkgs, ...}: { - #environment.systemPackages = with pkgs; [ ]; - # hardware.steam-hardware.enable = true; # Note that this is already enabled with programs.steam.enable = true; programs.steam = { enable = true; - remotePlay.openFirewall = - true; # Open ports in the firewall for Steam Remote Play - dedicatedServer.openFirewall = - true; # Open ports in the firewall for Source Dedicated Server - localNetworkGameTransfers.openFirewall = - true; # Open ports in the firewall for Steam Local Network Game Transfers + + # Open ports in the firewall for Steam Remote Play + remotePlay.openFirewall = true; + + # Open ports in the firewall for Source Dedicated Server + dedicatedServer.openFirewall = true; + + # Open ports in the firewall for Steam Local Network Game Transfers + localNetworkGameTransfers.openFirewall = true; + + # enables a extra session for the login screen (get steam deck behavior) + gamescopeSession.enable = true; + + # make proton-ge alway available + extraCompatPackages = with pkgs; [proton-ge-bin]; }; - programs.steam.gamescopeSession.enable = true; - #### FHS environment only - # This will only make partial installation - provide the script, which creates the typical environment expected by proprietary games and software on regular Linux, allowing to run such software without patching. Useful if you plan to run games downloaded from the internet. - # Note that this is not necessary for clients installed from Nixpkgs (like Minigalaxy or Itch), which already use the FHS environment. - # There are two options to install the FHS environment. The first is to install steam-run. - - #Example snippet of configuration.nix: - - # environment.systemPackages = with pkgs; [ - # steam-run - # ]; - - # Another option, in case you need more flexibility, is to directly reference the part of steam metapackage. - - # Example snippet of configuration.nix: - - # environment.systemPackages = with pkgs; [ - # (steam.override { /* Your overrides here */ }).run - # ]; - # Install the game by setting the executable attribute on the installer and then running it via steam-run ./your_installer.sh. After installation, edit the "~/.local/share/applications/your_game.desktop" and replace the exec line from Exec="/home/user/game/start.sh" "" with Exec="steam-run" "/home/user/game/start.sh". + # steam-run: Run commands in the same FHS environment that is used for Steam environment.systemPackages = with pkgs; [steam-run]; - programs.steam.extraCompatPackages = with pkgs; [proton-ge-bin]; + # Note that this is already enabled with programs.steam.enable = true; + # but it might be usefull on systems without steam, + # while still using steam hardware + #hardware.steam-hardware.enable = true; } diff --git a/modules/software/office/default.nix b/modules/software/office/default.nix new file mode 100644 index 0000000..786c7ca --- /dev/null +++ b/modules/software/office/default.nix @@ -0,0 +1,5 @@ +{...}: { + imports = [ + ./libreoffice.nix + ]; +} diff --git a/modules/software/office/libreoffice.nix b/modules/software/office/libreoffice.nix new file mode 100644 index 0000000..3e04503 --- /dev/null +++ b/modules/software/office/libreoffice.nix @@ -0,0 +1,8 @@ +{pkgs, ...}: { + environment.systemPackages = with pkgs; [ + libreoffice + hunspell + hunspellDicts.en_GB-large + hunspellDicts.de_DE + ]; +} diff --git a/modules/software/software.nix b/modules/software/software.nix index b6f626a..b7c8920 100644 --- a/modules/software/software.nix +++ b/modules/software/software.nix @@ -33,6 +33,7 @@ # tooling htop + btop ncdu wget unstable.yt-dlp @@ -53,7 +54,6 @@ nuclear #zathura sioyek - libreoffice #feh nomacs #unstable.obsidian