From fb75ecc61dd2759f3a1809fef79354311b5dc6c3 Mon Sep 17 00:00:00 2001 From: Hadi <112569860+anotherhadi@users.noreply.github.com> Date: Thu, 5 Dec 2024 23:03:57 +0100 Subject: [PATCH] add desktop host Former-commit-id: e3e5be7b73491aa8c13fc2fa4916cb6f3cd1ab20 --- flake.nix | 16 ++++- hosts/desktop/configuration.nix | 29 ++++++++ hosts/desktop/hardware-configuration.nix | 38 ++++++++++ hosts/desktop/home.nix | 88 +++++++++++++++++++++++ hosts/desktop/profile_picture.png | Bin 0 -> 12172 bytes hosts/desktop/secrets/default.nix | 37 ++++++++++ hosts/desktop/secrets/secrets.yaml | 25 +++++++ hosts/desktop/variables.nix | 28 ++++++++ 8 files changed, 260 insertions(+), 1 deletion(-) create mode 100644 hosts/desktop/configuration.nix create mode 100644 hosts/desktop/hardware-configuration.nix create mode 100644 hosts/desktop/home.nix create mode 100644 hosts/desktop/profile_picture.png create mode 100644 hosts/desktop/secrets/default.nix create mode 100644 hosts/desktop/secrets/secrets.yaml create mode 100644 hosts/desktop/variables.nix diff --git a/flake.nix b/flake.nix index f283ff9..d9b3247 100644 --- a/flake.nix +++ b/flake.nix @@ -41,7 +41,8 @@ inputs.nixpkgs.follows = "nixpkgs"; }; nur.url = "github:nix-community/NUR"; - zen-browser.url = "git+https://git.sr.ht/~canasta/zen-browser-flake/"; # updated flake + zen-browser.url = + "git+https://git.sr.ht/~canasta/zen-browser-flake/"; # updated flake }; outputs = inputs@{ nixpkgs, ... }: { @@ -62,6 +63,19 @@ ./hosts/laptop/configuration.nix # CHANGEME: change the path to match your host folder ]; }; + + desktop = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + modules = [ + { + nixpkgs.overlays = [ inputs.hyprpanel.overlay inputs.nur.overlay ]; + _module.args = { inherit inputs; }; + } + inputs.home-manager.nixosModules.home-manager + inputs.stylix.nixosModules.stylix + ./hosts/desktop/configuration.nix + ]; + }; }; }; } diff --git a/hosts/desktop/configuration.nix b/hosts/desktop/configuration.nix new file mode 100644 index 0000000..eaae961 --- /dev/null +++ b/hosts/desktop/configuration.nix @@ -0,0 +1,29 @@ +{ config, ... }: { + imports = [ + ../../nixos/audio.nix + ../../nixos/auto-upgrade.nix + ../../nixos/fonts.nix + ../../nixos/home-manager.nix + ../../nixos/network-manager.nix + ../../nixos/nix.nix + ../../nixos/systemd-boot.nix + ../../nixos/timezone.nix + ../../nixos/tuigreet.nix + ../../nixos/users.nix + ../../nixos/utils.nix + ../../nixos/xdg-portal.nix + ../../nixos/variables-config.nix + ../../nixos/docker.nix + + # Choose your theme here + ../../themes/stylix/pinky.nix + + ./hardware-configuration.nix + ./variables.nix + ]; + + home-manager.users."${config.var.username}" = import ./home.nix; + + # Don't touch this + system.stateVersion = "24.05"; +} diff --git a/hosts/desktop/hardware-configuration.nix b/hosts/desktop/hardware-configuration.nix new file mode 100644 index 0000000..1e852bb --- /dev/null +++ b/hosts/desktop/hardware-configuration.nix @@ -0,0 +1,38 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/3d676a57-26eb-4616-b51e-da92dac44483"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/EE89-B594"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = [ ]; + + # 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 + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp3s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/hosts/desktop/home.nix b/hosts/desktop/home.nix new file mode 100644 index 0000000..5b527a9 --- /dev/null +++ b/hosts/desktop/home.nix @@ -0,0 +1,88 @@ +{ pkgs, config, ... }: { + + imports = [ + ./variables.nix + + # Programs + ../../home/programs/kitty + ../../home/programs/nvim + ../../home/programs/qutebrowser + ../../home/programs/shell + ../../home/programs/fetch + ../../home/programs/git + ../../home/programs/spicetify + ../../home/programs/nextcloud + ../../home/programs/yazi + ../../home/programs/markdown + ../../home/programs/thunar + ../../home/programs/lazygit + ../../home/programs/nh + + # Scripts + ../../home/scripts # All scripts + + # System (Desktop environment like stuff) + ../../home/system/hyprland + ../../home/system/hypridle + ../../home/system/hyprlock + ../../home/system/hyprpanel + ../../home/system/hyprpaper + ../../home/system/gtk + ../../home/system/wofi + ../../home/system/zathura + ../../home/system/mime + ../../home/system/udiskie + ../../home/system/clipman + ]; + + home = { + inherit (config.var) username; + homeDirectory = "/home/" + config.var.username; + + packages = with pkgs; [ + # Apps + discord # Chat + bitwarden # Password manager + vlc # Video player + blanket # White-noise app + + # Dev + go + nodejs + python3 + jq + figlet + just + + # Utils + zip + unzip + optipng + pfetch + pandoc + btop + + # Just cool + peaclock + cbonsai + pipes + cmatrix + cava + + # Backup + vscode + firefox + neovide + + pnpm + ]; + + # Import my profile picture, used by the hyprpanel dashboard + file.".profile_picture.png" = { source = ./profile_picture.png; }; + + # Don't touch this + stateVersion = "24.05"; + }; + + programs.home-manager.enable = true; +} diff --git a/hosts/desktop/profile_picture.png b/hosts/desktop/profile_picture.png new file mode 100644 index 0000000000000000000000000000000000000000..71c63c9bd70406a8acc65698650dab0276e195ba GIT binary patch literal 12172 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 literal 0 HcmV?d00001 diff --git a/hosts/desktop/secrets/default.nix b/hosts/desktop/secrets/default.nix new file mode 100644 index 0000000..81715c6 --- /dev/null +++ b/hosts/desktop/secrets/default.nix @@ -0,0 +1,37 @@ +# Those are my secrets, encrypted with sops +# You shouldn't import this file, unless you edit it +{ pkgs, inputs, ... }: { + imports = [ inputs.sops-nix.homeManagerModules.sops ]; + + sops = { + age.keyFile = "/home/hadi/.config/sops/age/keys.txt"; + defaultSopsFile = ./secrets.yaml; + secrets = { + sshconfig = { path = "/home/hadi/.ssh/config"; }; + github-key = { path = "/home/hadi/.ssh/github"; }; + gitlab-key = { path = "/home/hadi/.ssh/gitlab"; }; + jack-key = { path = "/home/hadi/.ssh/jack"; }; + pia = { path = "/home/hadi/.config/pia/pia.ovpn"; }; + }; + }; + + home.file.".config/nixos/.sops.yaml".text = '' + keys: + - &primary age12yvtj49pfh3fqzqflscm0ek4yzrjhr6cqhn7x89gdxnlykq0xudq5c7334 + creation_rules: + - path_regex: hosts/laptop/secrets/secrets.yaml$ + key_groups: + - age: + - *primary + - path_regex: hosts/server/secrets/secrets.yaml$ + key_groups: + - age: + - *primary + ''; + + systemd.user.services.mbsync.Unit.After = [ "sops-nix.service" ]; + home.packages = with pkgs; [ sops age ]; + + wayland.windowManager.hyprland.settings.exec-once = + [ "systemctl --user start sops-nix" ]; +} diff --git a/hosts/desktop/secrets/secrets.yaml b/hosts/desktop/secrets/secrets.yaml new file mode 100644 index 0000000..f70f70c --- /dev/null +++ b/hosts/desktop/secrets/secrets.yaml @@ -0,0 +1,25 @@ +pia: ENC[AES256_GCM,data:0bnhHeVqKSLHVimd78a94ShHlO3+LUoZ4oiKD3cnBYkaZsw=,iv:S+/IChlFlqdI+PyFF+Ti4AJUkch2MS0qKiqHL1Q3RMk=,tag:+v2kV70ou84eIc01dKnAhA==,type:str] +sshconfig: ENC[AES256_GCM,data:/sDTGVeYRjxF5Epp5kmVS0ScSYOqOs2grX0+Ap8HJc8CQftpNOYXNYdEyqLDMc5g5ualaO4iKg4sQ76J4j9ZPugt4iprIvOo2Uxmu7KRU47Z8SNwrrMNpv6x/XA2P6r261e/e/pOHyrmiFfV/I5Km9IwGqY5TWbEhvjx8qyRO2bQDIdffI1L1ZWJGC9ZOZ4o5RJCr2xB+qxLLI2pl8qHZhvfZlGHnyHw5ne0RfAFubIrW4nQJTamoaGHZqWro4tVSfXAEb+9IsYCc1aj3MehVdV8PUQ38/LxL2MAQTt9bs7sHLf9DmxZ6rGPWmpJ+IRoQbP1PA65tobFOd+Kf13XvWymNUcQpQFHDj0vpvDONxIikO+vj2T7SteRRPy+38UPdB8jrHfQ1JrGbxUQIrWOWeD3S44lINmquIMclJQ26zf6nvklXR7xCuzNAvmjublsnYK+CGDkt/ap/kDD7nCuQYYY,iv:VX55dyt2N80LJPDYoUES7ZWJjlqVyQrUQWvOQ/yItBc=,tag:6NlHwy0SqJ40+ltQHzmX7g==,type:str] +github-key: ENC[AES256_GCM,data:xUgFMlBo8e+3eXqNscxbby1dWug3SgUagDiNUe/IGVbU6cczkaJ3uOaB0OuRBQ8AYhOLkzXj0pIKjUrElHwmYrhURtS1aF4SFEGJsjhhobNA//j3E2/5/nLVjfco+lRzyHdwmsNhEUCqEhsXrrodJMb39H4b5oip3z0rjc729YveiWUKQxXVZVPurp3nq9yNnix9R4CA6XYFRW6T6MNqgPD5qhbcDlhxLb/SN+uI5h+5eZIS24VDWlKaTaCLL5KLhZmfuA37SquOQ+edi9Yg8MnfrZkMrp/3qmAjP2rSQLMOc4QdQCLQBQSf0/snpydgLwY+FoJmMSztwtkqUdIZWOfDUJbJxegEOrAR68jLTNbp+GYiDn3thtOZDiK5p/M1amjCT+A9qeFMed5WS+aZHNTRbR9UcfiP6+48MGZFt1mr7q+/CoL04/DTp0w6tUf6/SZD31NvTJDqngkhpc0ZH9Dh5+2JcnBWpq25AM36kZTn1hIQCLNTr/oGWZXSLA2tksAhQCaUcFj4IIh6Bl96,iv:GEJsAs5NriwENYTV/VShgJF6iMmrtTwNiXOvfXyEP8E=,tag:nfZgsFqaet075GjQAoVZxQ==,type:str] +gitlab-key: ENC[AES256_GCM,data:6271Tg7LIJsXAw7Co32vva+iUWv+eRAfVfXaGkoirHxiPTAgZfq8yDpGJwti2D/aFnLvbURcUgp3B5zy1aURu9puXi6QMu3orJOE2Zx0dX3lyeHyIhOZ1hAWsQxwBDkJYODuMZbIKHNrF26Mkk6smFF9SrGoADZGxY7XSou/iopw6yrLvQAXP6lN55PQvoP5/ek/QzKNwjJAbAjp7FjjtPqPUbUdj7bfIfr9avs6gpRYnRzb2H3auyhb5qvyuRWnKu4+FeZUofC7HnfRU1eSI8UzG49Rg4f2b1Xqr0JtsjvEmuRx7lbptINXEAjW7zaSZ2B9NgotWPIzkNZRNZkuTEaOulBf5iH3wJ9GM1FcbUu2gpCt6y+CMIk5QkVvETYtKuALLbcPx9/sc90doiH1411LeKQCs5l88BBILG9KPkKmXiGGUVNxzFtjbRYQIUEmmyl95kPPEdCkkzGzHXNfE3F9HRu4MCGKPK2yZPZtCXd3Jp1b21wKSIRNYqLqxru+J8eLSljd3czO0SuTG/Vx,iv:E+y3aVLaiStlPLTQBqyfJuEXtAQyOvDUYS+XfuOHuA0=,tag:6d1IAsGcmcpgL1pE9dDcbw==,type:str] +jack-key: ENC[AES256_GCM,data:VfCl3wH0MMBc8QDyjLDFeSvzSEsf7uGpfJvRjFrmjW+bPRUXBpZhJV8a9VQIAz7z7zZXvzARMfCeI0ydyC57CW81GH5/H5pneJ4b+xreINjVfdLbL1nC1thelo/O64jda/L+xVKhgE+QQi8/zt4JmXGghkP+74nYcTTaMpmcbgWw354J1ybXqyCEY+88nsJ1d2s+M7M2bplx4fGb7sLUs6sqdsad3sENzhH/0HQCFXreHTtgsLbIs8ccmdRgFNKM8/wD0OoW76rOQsJoA9JY4yOTQNVoX5M8+Olj6+wVlt6QBrWrYRuEztGnHrHvzxiHXtmEkMwVNfoPpEflQyRYRa0rVp/66REOkMckGx6/LbxKFgrxnifRlsK3kWd28v2bRGVQOghUluYUtVkaJ+eh6o6ik0NQKx8/H6BznBSDE6MjDwbLv434LHBfDtAqhWN1eMbOlunFivsl5Hb/6rl9kydHlcCS6FY8cUHoKQ90gDaUuDrvUifwmdO5hU0GH5tgvGi1ReK9ndcpQsrHptG6,iv:oC1xU5Tu3The105VYRmxIw4kEwDoqe8T/EH6mmqpqwQ=,tag:Pu8c536u6W7ALrqjRsvXDw==,type:str] +sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] + age: + - recipient: age12yvtj49pfh3fqzqflscm0ek4yzrjhr6cqhn7x89gdxnlykq0xudq5c7334 + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHVWN4YjZqczB3Q21WL1lz + ckROWkhRditHblVHVEpOS0E0aGVqdW14M0ZvCkNzRXlCOWFBWmQwTGpTYVdFRlpq + bFdOR2pSTEZpUVpvUHo2NklrQm5EU1kKLS0tIFZ5ZWhYcHg1Z0hTOTZIdHR1QUxv + cmVxVC8rVDlWMUdZaGw3bmdOaWZGS1EKYahBlc8XpB5UdKZQkvxbLcKQ/xkFJjWo + FSfQWnjhe/a7BJtJEcKZkjOQU0mYqlSu+uT2RA9diCQeRUJPRF+nAw== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2024-11-05T12:05:15Z" + mac: ENC[AES256_GCM,data:ggTUKhmfUp4CCE6w3uiuwV0ys6xUhaMBeXi4WiaxkED/lB9iUdP9UssE9iF5lToyNxt/6O2C60CXc4OvpqBxe5dsxPkVNeB6PNhQrD5Ga8+Cu0i6hKz6Fmm0Rq461OuX0Nu2Nl3MUBCWxjM0+1ywfLRKDcjoVC7RzP5eo1NtrV8=,iv:G+Ntog1claKwAY4PEpUK1hjNzspDZiO3bdWNxugUXDQ=,tag:Yg2ZJEV2VrnTmpw8TykmZg==,type:str] + pgp: [] + unencrypted_suffix: _unencrypted + version: 3.9.1 diff --git a/hosts/desktop/variables.nix b/hosts/desktop/variables.nix new file mode 100644 index 0000000..d2835c4 --- /dev/null +++ b/hosts/desktop/variables.nix @@ -0,0 +1,28 @@ +{ config, ... }: { + imports = [ ../../nixos/variables-config.nix ]; + + config.var = { + hostname = "desktop"; + username = "hadi"; + configDirectory = "/home/" + config.var.username + + "/.config/nixos"; # The path of the nixos configuration directory + + keyboardLayout = "fr"; + + location = "Paris"; + timeZone = "Europe/Paris"; + defaultLocale = "en_US.UTF-8"; + extraLocale = "fr_FR.UTF-8"; + + git = { + username = "Hadi"; + email = "112569860+anotherhadi@users.noreply.github.com"; + }; + + autoUpgrade = false; + autoGarbageCollector = false; + + # Choose your theme variables here + theme = import ../../themes/var/pinky.nix; + }; +}