diff --git a/configuration.nix b/configuration.nix index 5a805d7..789703e 100644 --- a/configuration.nix +++ b/configuration.nix @@ -16,12 +16,10 @@ "nix-command" ]; imports = [ - # Include the results of the hardware scan. ./system ./user ]; - # programs.walker.enable = true; environment.pathsToLink = [ "/share/applications" diff --git a/flake.lock b/flake.lock index b84a507..24f6b69 100644 --- a/flake.lock +++ b/flake.lock @@ -19,6 +19,58 @@ "type": "github" } }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1761588595, + "narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1763759067, + "narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-utils": { + "inputs": { + "systems": "systems_2" + }, + "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" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -39,6 +91,48 @@ "type": "github" } }, + "nix-options-doc": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs_2", + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1742115705, + "narHash": "sha256-RfXwJPWBoWswIU68+y/XZfTWtFHd/fK14bKvOlRmfPo=", + "owner": "Thunderbottom", + "repo": "nix-options-doc", + "rev": "2caa4b5756a8666d65d70122f413e295f56886e7", + "type": "github" + }, + "original": { + "owner": "Thunderbottom", + "ref": "v0.2.0", + "repo": "nix-options-doc", + "type": "github" + } + }, + "nixos-cli": { + "inputs": { + "flake-compat": "flake-compat", + "flake-parts": "flake-parts", + "nix-options-doc": "nix-options-doc", + "nixpkgs": "nixpkgs_3" + }, + "locked": { + "lastModified": 1765423663, + "narHash": "sha256-ToKVLDYAzKyStJgCA7W+RZObvwABK9fQ8i1wLUUOdLM=", + "owner": "nix-community", + "repo": "nixos-cli", + "rev": "a2019789319c1678be8dc68ecf34c83f948e7475", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixos-cli", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1764242076, @@ -55,7 +149,54 @@ "type": "github" } }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1761765539, + "narHash": "sha256-b0yj6kfvO8ApcSE+QmA6mUfu8IYG6/uU28OFn4PaC8M=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "719359f4562934ae99f5443f20aa06c2ffff91fc", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, "nixpkgs_2": { + "locked": { + "lastModified": 1740695751, + "narHash": "sha256-D+R+kFxy1KsheiIzkkx/6L63wEHBYX21OIwlFV8JvDs=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "6313551cd05425cd5b3e63fe47dbc324eabb15e4", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1764527385, + "narHash": "sha256-nA5ywiGKl76atrbdZ5Aucd8SjF/v8ew9b9QsC+MKL14=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "23258e03aaa49b3a68597e3e50eb0cbce7e42e9d", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_4": { "locked": { "lastModified": 1765472234, "narHash": "sha256-9VvC20PJPsleGMewwcWYKGzDIyjckEz8uWmT0vCDYK0=", @@ -71,7 +212,7 @@ "type": "github" } }, - "nixpkgs_3": { + "nixpkgs_5": { "locked": { "lastModified": 1757068644, "narHash": "sha256-NOrUtIhTkIIumj1E/Rsv1J37Yi3xGStISEo8tZm3KW4=", @@ -91,10 +232,33 @@ "inputs": { "elephant": "elephant", "home-manager": "home-manager", - "nixpkgs": "nixpkgs_2", + "nixos-cli": "nixos-cli", + "nixpkgs": "nixpkgs_4", "walker": "walker" } }, + "rust-overlay": { + "inputs": { + "nixpkgs": [ + "nixos-cli", + "nix-options-doc", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1740796337, + "narHash": "sha256-FuoXrXZPoJEZQ3PF7t85tEpfBVID9JQIOnVKMNfTAb0=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "bbac9527bc6b28b6330b13043d0e76eac11720dc", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, "systems": { "locked": { "lastModified": 1689347949, @@ -111,6 +275,21 @@ } }, "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_3": { "locked": { "lastModified": 1689347949, "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", @@ -130,8 +309,8 @@ "elephant": [ "elephant" ], - "nixpkgs": "nixpkgs_3", - "systems": "systems_2" + "nixpkgs": "nixpkgs_5", + "systems": "systems_3" }, "locked": { "lastModified": 1765305269, diff --git a/flake.nix b/flake.nix index 34e797c..b189c6f 100644 --- a/flake.nix +++ b/flake.nix @@ -12,6 +12,7 @@ url = "github:abenz1267/walker"; inputs.elephant.follows = "elephant"; }; + nixos-cli.url = "github:nix-community/nixos-cli"; }; outputs = @@ -20,6 +21,7 @@ nixpkgs, home-manager, walker, + nixos-cli, ... }: let @@ -34,6 +36,7 @@ ./hosts/marty-pc ./configuration.nix home-manager.nixosModules.home-manager + nixos-cli.nixosModules.nixos-cli ]; }; marty-server = nixpkgs.lib.nixosSystem { @@ -43,6 +46,7 @@ ./hosts/marty-server ./configuration.nix home-manager.nixosModules.home-manager + nixos-cli.nixosModules.nixos-cli ]; }; @@ -53,6 +57,7 @@ ./hosts/marty-latitude ./configuration.nix home-manager.nixosModules.home-manager + nixos-cli.nixosModules.nixos-cli ]; }; }; diff --git a/hosts/marty-pc/default.nix b/hosts/marty-pc/default.nix index 1547a09..6a292ef 100644 --- a/hosts/marty-pc/default.nix +++ b/hosts/marty-pc/default.nix @@ -31,5 +31,20 @@ }; imports = [ ./hardware.nix ]; - + security.polkit = { + enable = true; + extraConfig = '' + polkit.addRule(function(action, subject) { + if ( + subject.isInGroup("users") + && ( + action.id == "org.freedesktop.login1.suspend" + ) + ) + { + return polkit.Result.YES; + } + }); + ''; + }; } diff --git a/modules/default.nix b/modules/default.nix index 5105377..8d8e909 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -10,5 +10,6 @@ ./development ./terminal ./window_manager + ./syncthing ]; } diff --git a/modules/syncthing/default.nix b/modules/syncthing/default.nix new file mode 100644 index 0000000..bb6ba4b --- /dev/null +++ b/modules/syncthing/default.nix @@ -0,0 +1,20 @@ +{ + config, + lib, + pkgs, + ... +}: + +{ + options = { + }; + + config = { + programs = { + syncthing = { + enable = true; + tray.enable = true; + }; + }; + }; +} diff --git a/modules/terminal/toys.nix b/modules/terminal/toys.nix new file mode 100644 index 0000000..5c491eb --- /dev/null +++ b/modules/terminal/toys.nix @@ -0,0 +1,26 @@ +{ + config, + lib, + pkgs, + ... +}: + +{ + options = { + terminal = { + toys.enable = lib.mkEnableOption "enable terminal toys"; + }; + }; + + config = lib.mkIf config.terminal.toys.enable { + home.packages = with pkgs; [ + asciiquarium-transparent + cava + bunnyfetch + nerdfetch + fastfetch + cmatrix + astroterm + ] + }; +} diff --git a/system/default.nix b/system/default.nix index 8c8d03c..9b80792 100644 --- a/system/default.nix +++ b/system/default.nix @@ -10,7 +10,8 @@ ./boot.nix ./shell.nix ./networking.nix - ./dm.nix + ./gdm.nix ./localization.nix + ./fira-code.nix ]; } diff --git a/system/fira-code.nix b/system/fira-code.nix new file mode 100644 index 0000000..ce3ae87 --- /dev/null +++ b/system/fira-code.nix @@ -0,0 +1,13 @@ +{ + config, + pkgs, + lib, + ... +}: + +{ + environment.systemPackages = [ pkgs.nerd-fonts.fira-code ]; + console = { + font = "FiraCode Nerd Font"; + }; +} diff --git a/system/dm.nix b/system/gdm.nix similarity index 100% rename from system/dm.nix rename to system/gdm.nix diff --git a/system/localization.nix b/system/localization.nix index e47887a..5955168 100644 --- a/system/localization.nix +++ b/system/localization.nix @@ -6,12 +6,22 @@ }: { - time = { - timeZone = "Europe/Berlin"; - }; + + time.timeZone = "Europe/Berlin"; i18n = { defaultLocale = "en_GB.UTF-8"; + extraLocaleSettings = { + LC_ADDRESS = "de_DE.UTF-8"; + LC_IDENTIFICATION = "de_DE.UTF-8"; + LC_MEASUREMENT = "de_DE.UTF-8"; + LC_MONETARY = "de_DE.UTF-8"; + LC_NAME = "de_DE.UTF-8"; + LC_NUMERIC = "de_DE.UTF-8"; + LC_PAPER = "de_DE.UTF-8"; + LC_TELEPHONE = "de_DE.UTF-8"; + LC_TIME = "de_DE.UTF-8"; + }; }; - console.keyMap = "de"; + console.keyMap = "de"; } diff --git a/user/default.nix b/user/default.nix index dbcee69..4a2b282 100644 --- a/user/default.nix +++ b/user/default.nix @@ -13,14 +13,14 @@ default = "marty"; description = '' main user name - '' + ''; }; shell = lib.mkOption { default = pkgs.fish; description = '' main user shell - '' - } + ''; + }; }; };