From 05b36550a3411d1d4b79e2441dfd74fbe8961f12 Mon Sep 17 00:00:00 2001 From: Jo Date: Sun, 19 Nov 2023 23:12:39 +0100 Subject: [PATCH] push changes --- flake.lock | 156 ++++++++++++++++++++++++++++++++++ flake.nix | 9 +- home-manager/home.nix | 122 +++++++++++++------------- hosts/lenovo-pc/hardware.nix | 0 nixos/configuration.nix | 63 +++++++++++--- nixos/modules/desktop/kde.nix | 7 ++ 6 files changed, 284 insertions(+), 73 deletions(-) create mode 100644 hosts/lenovo-pc/hardware.nix diff --git a/flake.lock b/flake.lock index b8f013a..ce647a2 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,103 @@ { "nodes": { + "catppuccinifier": { + "inputs": { + "crane": "crane", + "flake-utils": "flake-utils_2", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1696928114, + "narHash": "sha256-h445Aox0jck7MOCsKxXLKiE4QvptL/54eXUuhQZGF7o=", + "owner": "lighttigerXIV", + "repo": "catppuccinifier", + "rev": "ef9c180bb7bbf1486671a1c6df41adaab60a9b41", + "type": "github" + }, + "original": { + "owner": "lighttigerXIV", + "repo": "catppuccinifier", + "type": "github" + } + }, + "crane": { + "inputs": { + "flake-compat": "flake-compat", + "flake-utils": "flake-utils", + "nixpkgs": [ + "catppuccinifier", + "nixpkgs" + ], + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1687310026, + "narHash": "sha256-20RHFbrnC+hsG4Hyeg/58LvQAK7JWfFItTPFAFamu8E=", + "owner": "ipetkov", + "repo": "crane", + "rev": "116b32c30b5ff28e49f4fcbeeb1bbe3544593204", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "repo": "crane", + "type": "github" + } + }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1685518550, + "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_2": { + "inputs": { + "systems": "systems_2" + }, + "locked": { + "lastModified": 1687171271, + "narHash": "sha256-BJlq+ozK2B1sJDQXS3tzJM5a+oVZmi1q0FlBK/Xqv7M=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "abfb11bd1aec8ced1c9bb9adfe68018230f4fb3c", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -39,9 +137,67 @@ }, "root": { "inputs": { + "catppuccinifier": "catppuccinifier", "home-manager": "home-manager", "nixpkgs": "nixpkgs" } + }, + "rust-overlay": { + "inputs": { + "flake-utils": [ + "catppuccinifier", + "crane", + "flake-utils" + ], + "nixpkgs": [ + "catppuccinifier", + "crane", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1685759304, + "narHash": "sha256-I3YBH6MS3G5kGzNuc1G0f9uYfTcNY9NYoRc3QsykLk4=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "c535b4f3327910c96dcf21851bbdd074d0760290", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "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" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 3c8a2d2..b49b01d 100644 --- a/flake.nix +++ b/flake.nix @@ -12,6 +12,12 @@ home-manager.url = "github:nix-community/home-manager/master"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; + # Catppuccinifier + catppuccinifier = { + url = "github:lighttigerXIV/catppuccinifier"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + # TODO: Add any other flake you might need # hardware.url = "github:nixos/nixos-hardware"; @@ -24,6 +30,7 @@ self, nixpkgs, home-manager, + catppuccinifier, ... } @ inputs: let inherit (self) outputs; @@ -33,7 +40,7 @@ nixosConfigurations = { # FIXME replace with your hostname nixos = nixpkgs.lib.nixosSystem { - specialArgs = {inherit inputs outputs;}; + specialArgs = {inherit inputs outputs catppuccinifier;}; # > Our main nixos configuration file < modules = [ ./nixos/configuration.nix diff --git a/home-manager/home.nix b/home-manager/home.nix index 2ab0ec1..26e49a9 100644 --- a/home-manager/home.nix +++ b/home-manager/home.nix @@ -38,76 +38,76 @@ homeDirectory = "/home/jo"; }; - home.packages = with pkgs.gnomeExtensions; [ - user-themes - dash-to-dock - appindicator - blur-my-shell - rounded-window-corners - ]; + # home.packages = with pkgs.gnomeExtensions; [ + # user-themes + # dash-to-dock + # appindicator + # blur-my-shell + # rounded-window-corners + # ]; - dconf.settings = with lib.hm.gvariant; { - "org/gnome/shell" = { - disable-user-extensions = false; - # enabled-extensions = map (extension: extension.extensionUuid) home.packages; - disabled-extensions = [ ]; - }; + # dconf.settings = with lib.hm.gvariant; { + # "org/gnome/shell" = { + # disable-user-extensions = false; + # # enabled-extensions = map (extension: extension.extensionUuid) home.packages; + # disabled-extensions = [ ]; + # }; - "org/gnome/shell/extensions/user-theme" = { - name = config.gtk.theme.name; - }; + # "org/gnome/shell/extensions/user-theme" = { + # name = config.gtk.theme.name; + # }; - # "org/gnome/shell/extensions/dash-to-dock" = { - # "appicon-margin" = 0; - # "appicon-padding" = 6; - # "tray-padding" = 4; - # "click-action" = "TOGGLE-SHOWPREVIEW"; - # "dot-position" = "TOP"; - # "dot-style-focused" = "METRO"; - # "dot-style-unfocused" = "DASHES"; - # "group-apps" = true; - # "isolate-workspaces" = true; - # "middle-click-action" = "MINIMIZE"; - # "shift-click-action" = "LAUNCH"; - # "scroll-icon-action" = "NOTHING"; - # "scroll-panel-action" = "NOTHING"; - # "stockgs-panelbtn-click-only" = true; - # }; + # # "org/gnome/shell/extensions/dash-to-dock" = { + # # "appicon-margin" = 0; + # # "appicon-padding" = 6; + # # "tray-padding" = 4; + # # "click-action" = "TOGGLE-SHOWPREVIEW"; + # # "dot-position" = "TOP"; + # # "dot-style-focused" = "METRO"; + # # "dot-style-unfocused" = "DASHES"; + # # "group-apps" = true; + # # "isolate-workspaces" = true; + # # "middle-click-action" = "MINIMIZE"; + # # "shift-click-action" = "LAUNCH"; + # # "scroll-icon-action" = "NOTHING"; + # # "scroll-panel-action" = "NOTHING"; + # # "stockgs-panelbtn-click-only" = true; + # # }; - "org/gnome/desktop/interface" = { - color-scheme = "prefer-dark"; - clock-show-weekday = true; - clock-show-date = true; - clock-show-seconds = false; - enable-hot-corners = false; - }; + # "org/gnome/desktop/interface" = { + # color-scheme = "prefer-dark"; + # clock-show-weekday = true; + # clock-show-date = true; + # clock-show-seconds = false; + # enable-hot-corners = false; + # }; - "org/gnome/desktop/input-sources" = { - sources = [ (mkTuple [ "xkb" "de" ]) ]; - }; + # "org/gnome/desktop/input-sources" = { + # sources = [ (mkTuple [ "xkb" "de" ]) ]; + # }; - "org/gnome/shell" = { - favorite-apps = [ - "firefox.desktop" - "org.gnome.Nautilus.desktop" - ]; - }; - }; + # "org/gnome/shell" = { + # favorite-apps = [ + # "firefox.desktop" + # "org.gnome.Nautilus.desktop" + # ]; + # }; + # }; - gtk = { - enable = true; + # gtk = { + # enable = true; - theme = { - name = "Adw-gtk3"; - package = pkgs.adw-gtk3; - }; + # theme = { + # name = "Adw-gtk3"; + # package = pkgs.adw-gtk3; + # }; - cursorTheme = { - name = "Catppuccin-Macchiato-Dark-Cursors"; - package = pkgs.catppuccin-cursors.macchiatoRed; - size = 32; - }; - }; + # cursorTheme = { + # name = "Catppuccin-Macchiato-Dark-Cursors"; + # package = pkgs.catppuccin-cursors.macchiatoRed; + # size = 32; + # }; + # }; # home.file.".config/gtk-4.0/gtk.css".source = "${orchis}/share/themes/Orchis-Green-Dark-Compact/gtk-4.0/gtk.css"; # home.file.".config/gtk-4.0/gtk-dark.css".source = "${orchis}/share/themes/Orchis-Green-Dark-Compact/gtk-4.0/gtk-dark.css"; diff --git a/hosts/lenovo-pc/hardware.nix b/hosts/lenovo-pc/hardware.nix new file mode 100644 index 0000000..e69de29 diff --git a/nixos/configuration.nix b/nixos/configuration.nix index 9aa994b..b836db1 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -3,6 +3,7 @@ lib, config, pkgs, + catppuccinifier, ... }: { # You can import other NixOS modules here @@ -37,11 +38,6 @@ nixPath = lib.mapAttrsToList (key: value: "${key}=${value.to.path}") config.nix.registry; settings = { - substituters = [ - "https://cache.nixos.org?priority=10" - "https://nix-community.cachix.org" - ]; - auto-optimise-store = true; builders-use-substitutes = true; experimental-features = [ "nix-command" "flakes" "repl-flake" ]; @@ -58,6 +54,8 @@ }; }; + boot.kernelPackages = pkgs.linuxPackages_latest; + # Bootloader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; @@ -102,19 +100,49 @@ pulse.enable = true; }; + # Enable bluetooth on boot + hardware.bluetooth.enable = true; + hardware.bluetooth.powerOnBoot = true; + + networking.wg-quick = { + interfaces.homelab = { + privateKey = "kJ+2MOoYbtI6K00pJbVQshD7bXx/pjKw01wlMih9FFI="; + address = [ "10.8.0.2/24" ]; + dns = [ "1.1.1.1" ]; + + peers = [ + # For a client configuration, one peer entry for the server will suffice. + { + # Public key of the server (not a file path). + publicKey = "MTUi5FzlUQX1Vl2PLC72hnZnREn5kYRGqS6QSnaFeyQ="; + presharedKey = "Spzeg7KwMXuczdkpMygmzix5QBkgTOrR3lLlO7862yw="; + allowedIPs = [ "0.0.0.0/0" "::/0" ]; + endpoint = "jo-server.duckdns.org:51820"; + persistentKeepalive = 0; + } + ]; + }; + }; + + # Enable docker + virtualisation.docker.enable = true; + # Enable touchpad support (enabled default in most desktopManager). - # services.xserver.libinput.enable = true; + services.xserver.libinput.enable = true; # Define a user account. Don't forget to set a password with ‘passwd’. users.users = { jo = { isNormalUser = true; description = "Jo"; - extraGroups = [ "networkmanager" "wheel" ]; + extraGroups = [ "networkmanager" "wheel" "docker" ]; packages = with pkgs; [ discord - # ciscoPacketTracer8 + ciscoPacketTracer8 wireshark + joplin-desktop + teamspeak_client + virtualbox ]; }; @@ -132,16 +160,29 @@ }; }; + 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 + }; + # List packages installed in system profile. To search, run: # $ nix search wget environment.systemPackages = with pkgs; [ nano - git - vscodium firefox thunderbird + vlc + libreoffice + wineWowPackages.waylandFull + xorg.xf86inputlibinput + gimp + ungoogled-chromium - gnome.gnome-tweaks + # For development + vscodium + git + nodejs_20 ]; # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion diff --git a/nixos/modules/desktop/kde.nix b/nixos/modules/desktop/kde.nix index 8358c59..7464f35 100644 --- a/nixos/modules/desktop/kde.nix +++ b/nixos/modules/desktop/kde.nix @@ -17,4 +17,11 @@ layout = "de"; xkbVariant = ""; }; + + environment.systemPackages = with pkgs; [ + lightly-boehs + kde-rounded-corners + ]; + + programs.kdeconnect.enable = true; } \ No newline at end of file