From 3d63c947426ef73beee4a71d8b8743d495e55d89 Mon Sep 17 00:00:00 2001 From: Vivian Date: Wed, 3 Jan 2024 11:33:00 +0100 Subject: [PATCH 01/88] initial rewrite --- common/default.nix | 76 + flake.nix | 96 +- flux/.gitignore | 1 - flux/README.md | 12 - .../apps/flux-system/external-secret.yaml | 15 - .../apps/flux-system/kustomization.yaml | 6 - flux/olympus/apps/flux-system/rbac.yaml | 76 - .../flux-system/weave-gitops-dashboard.yaml | 48 - flux/olympus/apps/kustomization.yaml | 6 - flux/olympus/apps/services/kustomization.yaml | 4 - .../apps/services/renovate/config.yaml | 57 - .../apps/services/renovate/cronjob.yaml | 46 - .../services/renovate/external-secret.yaml | 21 - .../apps/services/renovate/kustomization.yaml | 6 - flux/olympus/apps/websites/0x76.yaml | 52 - flux/olympus/apps/websites/blog.yaml | 52 - flux/olympus/apps/websites/internal.yaml | 52 - flux/olympus/apps/websites/kustomization.yaml | 9 - flux/olympus/apps/websites/xirion.yaml | 52 - flux/olympus/base/apps.yaml | 15 - flux/olympus/base/core.yaml | 13 - .../base/flux-system/gotk-components.yaml | 8029 ----------------- flux/olympus/base/flux-system/gotk-sync.yaml | 27 - .../base/flux-system/kustomization.yaml | 6 - .../repositories/helm/external-secrets.yaml | 8 - .../repositories/helm/kustomization.yaml | 5 - .../repositories/kustomization.yaml | 5 - flux/olympus/core/external-secrets/.gitignore | 1 - .../core/external-secrets/helm-release.yaml | 29 - .../core/external-secrets/kustomization.yaml | 5 - .../vault-secret-id.example.yaml | 7 - .../external-secrets/vault-secret-store.yaml | 27 - flux/olympus/core/kustomization.yaml | 5 - .../core/namespaces/kustomization.yaml | 6 - flux/olympus/core/namespaces/security.yaml | 4 - flux/olympus/core/namespaces/services.yaml | 4 - flux/olympus/core/namespaces/websites.yaml | 4 - hosts/olympus/bastion/containers/common.nix | 6 + hosts/olympus/bastion/containers/default.nix | 26 + hosts/olympus/bastion/default.nix | 38 + .../bastion/hardware-configuration.nix | 25 + hosts/olympus/bastion/vms.nix | 32 + 42 files changed, 234 insertions(+), 8780 deletions(-) create mode 100644 common/default.nix delete mode 100644 flux/.gitignore delete mode 100644 flux/README.md delete mode 100644 flux/olympus/apps/flux-system/external-secret.yaml delete mode 100644 flux/olympus/apps/flux-system/kustomization.yaml delete mode 100644 flux/olympus/apps/flux-system/rbac.yaml delete mode 100644 flux/olympus/apps/flux-system/weave-gitops-dashboard.yaml delete mode 100644 flux/olympus/apps/kustomization.yaml delete mode 100644 flux/olympus/apps/services/kustomization.yaml delete mode 100644 flux/olympus/apps/services/renovate/config.yaml delete mode 100644 flux/olympus/apps/services/renovate/cronjob.yaml delete mode 100644 flux/olympus/apps/services/renovate/external-secret.yaml delete mode 100644 flux/olympus/apps/services/renovate/kustomization.yaml delete mode 100644 flux/olympus/apps/websites/0x76.yaml delete mode 100644 flux/olympus/apps/websites/blog.yaml delete mode 100644 flux/olympus/apps/websites/internal.yaml delete mode 100644 flux/olympus/apps/websites/kustomization.yaml delete mode 100644 flux/olympus/apps/websites/xirion.yaml delete mode 100644 flux/olympus/base/apps.yaml delete mode 100644 flux/olympus/base/core.yaml delete mode 100644 flux/olympus/base/flux-system/gotk-components.yaml delete mode 100644 flux/olympus/base/flux-system/gotk-sync.yaml delete mode 100644 flux/olympus/base/flux-system/kustomization.yaml delete mode 100644 flux/olympus/base/flux-system/repositories/helm/external-secrets.yaml delete mode 100644 flux/olympus/base/flux-system/repositories/helm/kustomization.yaml delete mode 100644 flux/olympus/base/flux-system/repositories/kustomization.yaml delete mode 100644 flux/olympus/core/external-secrets/.gitignore delete mode 100644 flux/olympus/core/external-secrets/helm-release.yaml delete mode 100644 flux/olympus/core/external-secrets/kustomization.yaml delete mode 100644 flux/olympus/core/external-secrets/vault-secret-id.example.yaml delete mode 100644 flux/olympus/core/external-secrets/vault-secret-store.yaml delete mode 100644 flux/olympus/core/kustomization.yaml delete mode 100644 flux/olympus/core/namespaces/kustomization.yaml delete mode 100644 flux/olympus/core/namespaces/security.yaml delete mode 100644 flux/olympus/core/namespaces/services.yaml delete mode 100644 flux/olympus/core/namespaces/websites.yaml create mode 100644 hosts/olympus/bastion/containers/common.nix create mode 100644 hosts/olympus/bastion/containers/default.nix create mode 100644 hosts/olympus/bastion/default.nix create mode 100644 hosts/olympus/bastion/hardware-configuration.nix create mode 100644 hosts/olympus/bastion/vms.nix diff --git a/common/default.nix b/common/default.nix new file mode 100644 index 00000000..cc9e7ed6 --- /dev/null +++ b/common/default.nix @@ -0,0 +1,76 @@ +{ lib, inputs, pkgs, ... }: { + virtualisation.oci-containers.backend = lib.mkDefault "podman"; + + # Set your time zone. + time.timeZone = lib.mkDefault "Europe/Amsterdam"; + + # Systemd OOMd + # Fedora enables these options by default. See the 10-oomd-* files here: + # https://src.fedoraproject.org/rpms/systemd/tree/acb90c49c42276b06375a66c73673ac3510255 + systemd.oomd = { + enableRootSlice = true; + enableUserServices = true; + }; + + # security.polkit.enable = lib.mkDefault true; + boot.tmp.useTmpfs = lib.mkDefault true; + + # Nix Settings + nix = { + registry.nixpkgs.flake = inputs.nixpkgs; + nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; + package = pkgs.nixUnstable; + settings = { + auto-optimise-store = true; + trusted-users = [ "root" "vivian" ]; + substituters = [ + "https://nix-community.cachix.org" + "https://nixpkgs-review-bot.cachix.org" + "https://cachix.cachix.org" + ]; + trusted-public-keys = [ + "cachix.cachix.org-1:eWNHQldwUO7G2VkjpnjDbWwy4KQ/HNxht7H4SSoMckM=" + "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" + "nixpkgs-review-bot.cachix.org-1:eppgiDjPk7Hkzzz7XlUesk3rcEHqNDozGOrcLc8IqwE=" + ]; + }; + optimise = { + automatic = true; + dates = [ "weekly" ]; + }; + gc = { + automatic = true; + dates = "weekly"; + randomizedDelaySec = "3h"; + options = "--delete-older-than 7d"; + }; + extraOptions = '' + experimental-features = nix-command flakes + ''; + }; + + # Limit the systemd journal to 100 MB of disk or the + # last 7 days of logs, whichever happens first. + services.journald.extraConfig = '' + SystemMaxUse=100M + MaxFileSec=7day + ''; + + # Enable SSH + services.openssh = { + enable = true; + settings = { + PasswordAuthentication = lib.mkDefault false; + PermitRootLogin = lib.mkDefault "no"; + }; + }; + + # Debloat + documentation = { + enable = lib.mkForce false; + doc.enable = lib.mkForce false; + man.enable = lib.mkForce false; + info.enable = lib.mkForce false; + nixos.enable = lib.mkForce false; + }; +} diff --git a/flake.nix b/flake.nix index 0667b2b5..b28b77e3 100644 --- a/flake.nix +++ b/flake.nix @@ -41,7 +41,8 @@ }; vault-unseal.url = "git+https://git.0x76.dev/v/vault-unseal.git"; - gnome-autounlock-keyring.url = "git+https://git.0x76.dev/v/gnome-autounlock-keyring.git"; + gnome-autounlock-keyring.url = + "git+https://git.0x76.dev/v/gnome-autounlock-keyring.git"; attic.url = "github:zhaofengli/attic"; @@ -49,24 +50,11 @@ essentials.url = "github:jdonszelmann/essentials"; }; - outputs = - { self - , nixpkgs - , nixpkgs_stable - , vault-secrets - , colmena - , nixos-generators - , nur - , attic - , deploy - , ... - }@inputs: + outputs = { self, nixpkgs, nixpkgs_stable, vault-secrets, colmena, nur, attic + , deploy, ... }@inputs: let inherit (nixpkgs) lib; - util = import ./nixos/util.nix inputs; - inherit (util) hosts flat_hosts nixHosts; - system = "x86_64-linux"; pkgs = import nixpkgs { @@ -80,9 +68,6 @@ config.allowUnfree = true; }; - # Define args each module gets access to (access to hosts is useful for DNS/DHCP) - specialArgs = { inherit hosts flat_hosts inputs pkgs_stable; }; - # Script to apply local colmena deployments apply-local = pkgs.writeShellScriptBin "apply-local" '' "${ @@ -94,69 +79,50 @@ source /etc/set-environment nix repl --file "${./.}/repl.nix" $@ ''; - in - { - # Make the nixosConfigurations for compat reasons (e.g. vault) - nixosConfigurations = - (import (inputs.colmena + "/src/nix/hive/eval.nix") { - rawFlake = self; - colmenaOptions = - import (inputs.colmena + "/src/nix/hive/options.nix"); - colmenaModules = - import (inputs.colmena + "/src/nix/hive/modules.nix"); - }).nodes; + in { + nixosConfigurations."bastion.olympus" = lib.nixosSystem { + inherit system pkgs; + specialArgs = { inherit inputs; }; + modules = [ ./common ./hosts/olympus/bastion ]; + }; - # Make the colmena configuration - colmena = lib.foldr (el: acc: acc // util.mkColmenaHost el) - { - meta = { - inherit specialArgs; - nixpkgs = pkgs; + deploy = { + user = "root"; + + nodes."bastion.olympus" = { + hostname = "olympus.0x76.dev"; + fastConnection = true; + remoteBuild = true; + profiles = { + system = { + path = deploy.lib.x86_64-linux.activate.nixos + self.nixosConfigurations."bastion.olympus"; + }; }; - } - nixHosts; - - packages.${system} = { - inherit apply-local; - - default = colmena.packages.${system}.colmena; - - proxmox-lxc = nixos-generators.nixosGenerate { - inherit system specialArgs; - format = "proxmox-lxc"; - modules = util.base_imports - ++ [ (import ./nixos/templates/proxmox-lxc.nix) ]; - }; - - # Broken - proxmox-vm = nixos-generators.nixosGenerate { - inherit system specialArgs; - format = "proxmox"; - modules = util.base_imports - ++ [ (import ./nixos/templates/proxmox-vm.nix) ]; }; }; + checks = builtins.mapAttrs + (system: deployLib: deployLib.deployChecks self.deploy) deploy.lib; + # Use by running `nix develop` devShells.${system}.default = pkgs.mkShell { VAULT_ADDR = "http://vault.olympus:8200/"; - buildInputs = with pkgs; [ + packages = with pkgs; [ attic.packages.${pkgs.system}.attic apply-local - colmena.packages.${system}.colmena deploy.packages.${system}.deploy-rs - cachix deadnix statix - nixfmt - nixpkgs-fmt + # nixfmt + # nixpkgs-fmt nixUnstable - nil + # nil vault yamllint jq - (vault-push-approle-envs self { }) - (vault-push-approles self { }) + # (vault-push-approle-envs self { }) + # (vault-push-approles self { }) fast-repl ]; }; diff --git a/flux/.gitignore b/flux/.gitignore deleted file mode 100644 index ec8d5548..00000000 --- a/flux/.gitignore +++ /dev/null @@ -1 +0,0 @@ -old_cluster diff --git a/flux/README.md b/flux/README.md deleted file mode 100644 index 252502d8..00000000 --- a/flux/README.md +++ /dev/null @@ -1,12 +0,0 @@ -# Kubernetes Cluster -This is my personal Kubernetes Cluster. [Flux] watches this git repo and reconciles and changes made to the cluster. - -## Bootstrap -```sh -flux bootstrap git --url ssh://gitea@git.0x76.dev:42/v/infrastructure.git --branch=main --path=flux/olympus/base --ssh-key-algorithm=ed25519 -``` - -## References -Heavily inspired by: [onedr0p's cluster](https://github.com/onedr0p/home-cluster) - -[Flux]: https://github.com/fluxcd/flux2 diff --git a/flux/olympus/apps/flux-system/external-secret.yaml b/flux/olympus/apps/flux-system/external-secret.yaml deleted file mode 100644 index c12fbe01..00000000 --- a/flux/olympus/apps/flux-system/external-secret.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: external-secrets.io/v1beta1 -kind: ExternalSecret -metadata: - name: weave-gitops - namespace: flux-system -spec: - refreshInterval: "5m" - secretStoreRef: - name: vault - kind: ClusterSecretStore - target: - name: oidc-auth - dataFrom: - - extract: - key: flux-system/weave-gitops diff --git a/flux/olympus/apps/flux-system/kustomization.yaml b/flux/olympus/apps/flux-system/kustomization.yaml deleted file mode 100644 index 29912dbe..00000000 --- a/flux/olympus/apps/flux-system/kustomization.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -resources: - - rbac.yaml - - external-secret.yaml - - weave-gitops-dashboard.yaml diff --git a/flux/olympus/apps/flux-system/rbac.yaml b/flux/olympus/apps/flux-system/rbac.yaml deleted file mode 100644 index a3a7d0ca..00000000 --- a/flux/olympus/apps/flux-system/rbac.yaml +++ /dev/null @@ -1,76 +0,0 @@ ---- -# Admin cluster role -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: weave-admin -rules: - # Flux Resources - - apiGroups: ["kustomize.toolkit.fluxcd.io"] - resources: ["kustomizations"] - verbs: ["get", "list", "patch"] - - apiGroups: ["helm.toolkit.fluxcd.io"] - resources: ["helmreleases"] - verbs: ["get", "list", "patch"] - - apiGroups: ["source.toolkit.fluxcd.io"] - resources: - [ - "buckets", - "helmcharts", - "gitrepositories", - "helmrepositories", - "ocirepositories", - ] - verbs: ["get", "list", "patch"] - - apiGroups: ["notification.toolkit.fluxcd.io"] - resources: ["providers", "alerts"] - verbs: ["get", "list"] - - apiGroups: ["infra.contrib.fluxcd.io"] - resources: ["terraforms"] - verbs: ["get", "list", "patch"] - # Resources managed via Flux - - apiGroups: [""] - resources: - [ - "configmaps", - "secrets", - "pods", - "services", - "namespaces", - "persistentvolumes", - "persistentvolumeclaims", - ] - verbs: ["get", "list"] - - apiGroups: ["apps"] - resources: ["deployments", "replicasets", "statefulsets"] - verbs: ["get", "list"] - - apiGroups: ["batch"] - resources: ["jobs", "cronjobs"] - verbs: ["get", "list"] - - apiGroups: ["autoscaling"] - resources: ["horizontalpodautoscalers"] - verbs: ["get", "list"] - - apiGroups: ["rbac.authorization.k8s.io"] - resources: ["roles", "clusterroles", "rolebindings", "clusterrolebindings"] - verbs: ["get", "list"] - - apiGroups: ["networking.k8s.io"] - resources: ["ingresses"] - verbs: ["get", "list"] - # Feedback - - apiGroups: [""] - resources: ["events"] - verbs: ["get", "watch", "list"] ---- -# Bind the cluster admin role to admins -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: weave-admin -subjects: - - kind: User - name: "victor@xirion.net" - apiGroup: rbac.authorization.k8s.io -roleRef: - kind: ClusterRole - name: weave-admin - apiGroup: rbac.authorization.k8s.io diff --git a/flux/olympus/apps/flux-system/weave-gitops-dashboard.yaml b/flux/olympus/apps/flux-system/weave-gitops-dashboard.yaml deleted file mode 100644 index 9a70ed7d..00000000 --- a/flux/olympus/apps/flux-system/weave-gitops-dashboard.yaml +++ /dev/null @@ -1,48 +0,0 @@ ---- -apiVersion: source.toolkit.fluxcd.io/v1 -kind: HelmRepository -metadata: - annotations: - metadata.weave.works/description: This is the source location for the Weave GitOps - Dashboard's helm chart. - labels: - app.kubernetes.io/component: ui - app.kubernetes.io/created-by: weave-gitops-cli - app.kubernetes.io/name: weave-gitops-dashboard - app.kubernetes.io/part-of: weave-gitops - name: ww-gitops - namespace: flux-system -spec: - interval: 1h0m0s - type: oci - url: oci://ghcr.io/weaveworks/charts ---- -apiVersion: helm.toolkit.fluxcd.io/v2beta1 -kind: HelmRelease -metadata: - annotations: - metadata.weave.works/description: This is the Weave GitOps Dashboard. It provides - a simple way to get insights into your GitOps workloads. - name: ww-gitops - namespace: flux-system -spec: - chart: - spec: - chart: weave-gitops - sourceRef: - kind: HelmRepository - name: ww-gitops - interval: 1h0m0s - values: - ingress: - enabled: true - hosts: - - host: flux.0x76.dev - paths: - - path: / - pathType: ImplementationSpecific - adminUser: - create: true - passwordHash: $2a$10$uIY/YYe.CcRerpVvfk04muX86hLfXRH.K6jATZaVPqp.bnUIu/bsC - username: admin - diff --git a/flux/olympus/apps/kustomization.yaml b/flux/olympus/apps/kustomization.yaml deleted file mode 100644 index 396b9e10..00000000 --- a/flux/olympus/apps/kustomization.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -resources: - - flux-system - - services - - websites diff --git a/flux/olympus/apps/services/kustomization.yaml b/flux/olympus/apps/services/kustomization.yaml deleted file mode 100644 index 4ddab702..00000000 --- a/flux/olympus/apps/services/kustomization.yaml +++ /dev/null @@ -1,4 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -resources: - - renovate diff --git a/flux/olympus/apps/services/renovate/config.yaml b/flux/olympus/apps/services/renovate/config.yaml deleted file mode 100644 index 53683839..00000000 --- a/flux/olympus/apps/services/renovate/config.yaml +++ /dev/null @@ -1,57 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: renovate - namespace: services -data: - config.js: |- - module.exports = { - "binarySource": "install", - "repositories": ["v/infrastructure"], - "flux": { - "fileMatch": ["flux/.+\\.ya?ml$"] - }, - "helm-values": { - "fileMatch": ["flux/.+\\.ya?ml$"] - }, - "kubernetes": { - "fileMatch": ["flux/.+\\.ya?ml$"] - }, - "hostRules": [ - { - "hostType": "docker", - "matchHost": "ghcr.io", - "username": "NULLx76", - "password": process.env.GITHUB_COM_TOKEN - } - ], - "packageRules": [ - { - "automerge": true, - "automergeType": "branch", - "matchUpdateTypes": ["minor", "patch", "pin", "digest"], - "matchPackageNames": [ - "renovate/renovate" - ], - "matchPackagePrefixes": [ - "git.0x76.dev" - ] - } - ], - // ignore individual fluxcd images - "ignoreDeps": [ - "ghcr.io/fluxcd/helm-controller", - "ghcr.io/fluxcd/image-automation-controller", - "ghcr.io/fluxcd/image-reflector-controller", - "ghcr.io/fluxcd/kustomize-controller", - "ghcr.io/fluxcd/notification-controller", - "ghcr.io/fluxcd/source-controller" - ], - "regexManagers": [ - { - "fileMatch": [".+\\.nix"], - "matchStrings": ["image\\s*=\\s*\"(?.*?):(?.*?)\"\\s*;\\s*"], - "datasourceTemplate": "docker" - } - ] - }; diff --git a/flux/olympus/apps/services/renovate/cronjob.yaml b/flux/olympus/apps/services/renovate/cronjob.yaml deleted file mode 100644 index 2861a3f8..00000000 --- a/flux/olympus/apps/services/renovate/cronjob.yaml +++ /dev/null @@ -1,46 +0,0 @@ -apiVersion: batch/v1 -kind: CronJob -metadata: - name: renovate - namespace: services -spec: - # Run every 8 hours - schedule: "0 */8 * * *" - concurrencyPolicy: Forbid - jobTemplate: - spec: - template: - spec: - volumes: - - name: config-volume - configMap: - name: renovate - - name: work-volume - emptyDir: {} - containers: - - name: renovate - image: renovate/renovate:37.67.3 - volumeMounts: - - name: config-volume - mountPath: /opt/renovate/ - - name: work-volume - mountPath: /tmp/renovate/ - env: - - name: LOG_LEVEL - value: debug - - name: RENOVATE_ENDPOINT - value: "https://git.0x76.dev/api/v1/" - - name: RENOVATE_PLATFORM - value: gitea - - name: RENOVATE_AUTODISCOVER - value: "false" - - name: RENOVATE_GIT_AUTHOR - value: "Renovate Bot " - - name: RENOVATE_CONFIG_FILE - value: "/opt/renovate/config.js" - - name: RENOVATE_BASE_DIR - value: "/tmp/renovate" - envFrom: - - secretRef: - name: renovate - restartPolicy: Never diff --git a/flux/olympus/apps/services/renovate/external-secret.yaml b/flux/olympus/apps/services/renovate/external-secret.yaml deleted file mode 100644 index 40637451..00000000 --- a/flux/olympus/apps/services/renovate/external-secret.yaml +++ /dev/null @@ -1,21 +0,0 @@ -apiVersion: external-secrets.io/v1beta1 -kind: ExternalSecret -metadata: - name: renovate - namespace: services -spec: - refreshInterval: "5m" - secretStoreRef: - name: vault - kind: ClusterSecretStore - target: - name: renovate - data: - - secretKey: RENOVATE_TOKEN - remoteRef: - key: gitops/renovate - property: gitea_token - - secretKey: GITHUB_COM_TOKEN - remoteRef: - key: gitops/renovate - property: github_token diff --git a/flux/olympus/apps/services/renovate/kustomization.yaml b/flux/olympus/apps/services/renovate/kustomization.yaml deleted file mode 100644 index 74e8575d..00000000 --- a/flux/olympus/apps/services/renovate/kustomization.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -resources: - - external-secret.yaml - - config.yaml - - cronjob.yaml diff --git a/flux/olympus/apps/websites/0x76.yaml b/flux/olympus/apps/websites/0x76.yaml deleted file mode 100644 index 7b768e6c..00000000 --- a/flux/olympus/apps/websites/0x76.yaml +++ /dev/null @@ -1,52 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: x76dev - namespace: websites - labels: - app: x76dev -spec: - replicas: 1 - selector: - matchLabels: - app: x76dev - template: - metadata: - labels: - app: x76dev - spec: - containers: - - name: x76dev - image: git.0x76.dev/v/0x76.dev:5 - ports: - - containerPort: 80 ---- -apiVersion: v1 -kind: Service -metadata: - name: x76dev - namespace: websites -spec: - selector: - app: x76dev - ports: - - protocol: TCP - port: 80 ---- -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: x76dev - namespace: websites -spec: - rules: - - host: "0x76.dev" - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: x76dev - port: - number: 80 diff --git a/flux/olympus/apps/websites/blog.yaml b/flux/olympus/apps/websites/blog.yaml deleted file mode 100644 index 52e763e5..00000000 --- a/flux/olympus/apps/websites/blog.yaml +++ /dev/null @@ -1,52 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: blog - namespace: websites - labels: - app: blog -spec: - replicas: 1 - selector: - matchLabels: - app: blog - template: - metadata: - labels: - app: blog - spec: - containers: - - name: blog - image: git.0x76.dev/v/blog.xirion.net:5 - ports: - - containerPort: 8080 ---- -apiVersion: v1 -kind: Service -metadata: - name: blog - namespace: websites -spec: - selector: - app: blog - ports: - - protocol: TCP - port: 8080 ---- -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: blog - namespace: websites -spec: - rules: - - host: "blog.xirion.net" - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: blog - port: - number: 8080 diff --git a/flux/olympus/apps/websites/internal.yaml b/flux/olympus/apps/websites/internal.yaml deleted file mode 100644 index 50d2f244..00000000 --- a/flux/olympus/apps/websites/internal.yaml +++ /dev/null @@ -1,52 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: internal - namespace: websites - labels: - app: internal -spec: - replicas: 1 - selector: - matchLabels: - app: internal - template: - metadata: - labels: - app: internal - spec: - containers: - - name: internal - image: git.0x76.dev/v/internal.xirion.net:1 - ports: - - containerPort: 8080 ---- -apiVersion: v1 -kind: Service -metadata: - name: internal - namespace: websites -spec: - selector: - app: internal - ports: - - protocol: TCP - port: 8080 ---- -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: internal - namespace: websites -spec: - rules: - - host: "internal.xirion.net" - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: internal - port: - number: 8080 diff --git a/flux/olympus/apps/websites/kustomization.yaml b/flux/olympus/apps/websites/kustomization.yaml deleted file mode 100644 index d3df4526..00000000 --- a/flux/olympus/apps/websites/kustomization.yaml +++ /dev/null @@ -1,9 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -metadata: - namespace: websites -resources: - - 0x76.yaml - - internal.yaml - - blog.yaml - - xirion.yaml diff --git a/flux/olympus/apps/websites/xirion.yaml b/flux/olympus/apps/websites/xirion.yaml deleted file mode 100644 index e7e311f1..00000000 --- a/flux/olympus/apps/websites/xirion.yaml +++ /dev/null @@ -1,52 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: xirion - namespace: websites - labels: - app: xirion -spec: - replicas: 1 - selector: - matchLabels: - app: xirion - template: - metadata: - labels: - app: xirion - spec: - containers: - - name: xirion - image: git.0x76.dev/v/xirion.net:2 - ports: - - containerPort: 80 ---- -apiVersion: v1 -kind: Service -metadata: - name: xirion - namespace: websites -spec: - selector: - app: xirion - ports: - - protocol: TCP - port: 80 ---- -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: xirion - namespace: websites -spec: - rules: - - host: "xirion.net" - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: xirion - port: - number: 80 diff --git a/flux/olympus/base/apps.yaml b/flux/olympus/base/apps.yaml deleted file mode 100644 index 0059a2e9..00000000 --- a/flux/olympus/base/apps.yaml +++ /dev/null @@ -1,15 +0,0 @@ ---- -apiVersion: kustomize.toolkit.fluxcd.io/v1 -kind: Kustomization -metadata: - name: apps - namespace: flux-system -spec: - interval: 10m0s - dependsOn: - - name: core - path: ./flux/olympus/apps - prune: true - sourceRef: - kind: GitRepository - name: flux-system diff --git a/flux/olympus/base/core.yaml b/flux/olympus/base/core.yaml deleted file mode 100644 index f61c58c8..00000000 --- a/flux/olympus/base/core.yaml +++ /dev/null @@ -1,13 +0,0 @@ ---- -apiVersion: kustomize.toolkit.fluxcd.io/v1 -kind: Kustomization -metadata: - name: core - namespace: flux-system -spec: - interval: 10m0s - path: ./flux/olympus/core - prune: true - sourceRef: - kind: GitRepository - name: flux-system diff --git a/flux/olympus/base/flux-system/gotk-components.yaml b/flux/olympus/base/flux-system/gotk-components.yaml deleted file mode 100644 index d8d8bed8..00000000 --- a/flux/olympus/base/flux-system/gotk-components.yaml +++ /dev/null @@ -1,8029 +0,0 @@ ---- -# This manifest was generated by flux. DO NOT EDIT. -# Flux Version: v2.1.2 -# Components: source-controller,kustomize-controller,helm-controller,notification-controller -apiVersion: v1 -kind: Namespace -metadata: - labels: - app.kubernetes.io/instance: flux-system - app.kubernetes.io/part-of: flux - app.kubernetes.io/version: v2.1.2 - pod-security.kubernetes.io/warn: restricted - pod-security.kubernetes.io/warn-version: latest - name: flux-system ---- -apiVersion: networking.k8s.io/v1 -kind: NetworkPolicy -metadata: - labels: - app.kubernetes.io/instance: flux-system - app.kubernetes.io/part-of: flux - app.kubernetes.io/version: v2.1.2 - name: allow-egress - namespace: flux-system -spec: - egress: - - {} - ingress: - - from: - - podSelector: {} - podSelector: {} - policyTypes: - - Ingress - - Egress ---- -apiVersion: networking.k8s.io/v1 -kind: NetworkPolicy -metadata: - labels: - app.kubernetes.io/instance: flux-system - app.kubernetes.io/part-of: flux - app.kubernetes.io/version: v2.1.2 - name: allow-scraping - namespace: flux-system -spec: - ingress: - - from: - - namespaceSelector: {} - ports: - - port: 8080 - protocol: TCP - podSelector: {} - policyTypes: - - Ingress ---- -apiVersion: networking.k8s.io/v1 -kind: NetworkPolicy -metadata: - labels: - app.kubernetes.io/instance: flux-system - app.kubernetes.io/part-of: flux - app.kubernetes.io/version: v2.1.2 - name: allow-webhooks - namespace: flux-system -spec: - ingress: - - from: - - namespaceSelector: {} - podSelector: - matchLabels: - app: notification-controller - policyTypes: - - Ingress ---- -apiVersion: v1 -kind: ResourceQuota -metadata: - labels: - app.kubernetes.io/instance: flux-system - app.kubernetes.io/part-of: flux - app.kubernetes.io/version: v2.1.2 - name: critical-pods-flux-system - namespace: flux-system -spec: - hard: - pods: "1000" - scopeSelector: - matchExpressions: - - operator: In - scopeName: PriorityClass - values: - - system-node-critical - - system-cluster-critical ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - labels: - app.kubernetes.io/instance: flux-system - app.kubernetes.io/part-of: flux - app.kubernetes.io/version: v2.1.2 - name: crd-controller-flux-system -rules: -- apiGroups: - - source.toolkit.fluxcd.io - resources: - - '*' - verbs: - - '*' -- apiGroups: - - kustomize.toolkit.fluxcd.io - resources: - - '*' - verbs: - - '*' -- apiGroups: - - helm.toolkit.fluxcd.io - resources: - - '*' - verbs: - - '*' -- apiGroups: - - notification.toolkit.fluxcd.io - resources: - - '*' - verbs: - - '*' -- apiGroups: - - image.toolkit.fluxcd.io - resources: - - '*' - verbs: - - '*' -- apiGroups: - - "" - resources: - - namespaces - - secrets - - configmaps - - serviceaccounts - verbs: - - get - - list - - watch -- apiGroups: - - "" - resources: - - events - verbs: - - create - - patch -- apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - "" - resources: - - configmaps/status - verbs: - - get - - update - - patch -- apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: - - get - - list - - watch - - create - - update - - patch - - delete ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - labels: - app.kubernetes.io/instance: flux-system - app.kubernetes.io/part-of: flux - app.kubernetes.io/version: v2.1.2 - rbac.authorization.k8s.io/aggregate-to-admin: "true" - rbac.authorization.k8s.io/aggregate-to-edit: "true" - name: flux-edit-flux-system -rules: -- apiGroups: - - notification.toolkit.fluxcd.io - - source.toolkit.fluxcd.io - - helm.toolkit.fluxcd.io - - image.toolkit.fluxcd.io - - kustomize.toolkit.fluxcd.io - resources: - - '*' - verbs: - - create - - delete - - deletecollection - - patch - - update ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - labels: - app.kubernetes.io/instance: flux-system - app.kubernetes.io/part-of: flux - app.kubernetes.io/version: v2.1.2 - rbac.authorization.k8s.io/aggregate-to-admin: "true" - rbac.authorization.k8s.io/aggregate-to-edit: "true" - rbac.authorization.k8s.io/aggregate-to-view: "true" - name: flux-view-flux-system -rules: -- apiGroups: - - notification.toolkit.fluxcd.io - - source.toolkit.fluxcd.io - - helm.toolkit.fluxcd.io - - image.toolkit.fluxcd.io - - kustomize.toolkit.fluxcd.io - resources: - - '*' - verbs: - - get - - list - - watch ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - labels: - app.kubernetes.io/instance: flux-system - app.kubernetes.io/part-of: flux - app.kubernetes.io/version: v2.1.2 - name: cluster-reconciler-flux-system -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: cluster-admin -subjects: -- kind: ServiceAccount - name: kustomize-controller - namespace: flux-system -- kind: ServiceAccount - name: helm-controller - namespace: flux-system ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - labels: - app.kubernetes.io/instance: flux-system - app.kubernetes.io/part-of: flux - app.kubernetes.io/version: v2.1.2 - name: crd-controller-flux-system -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: crd-controller-flux-system -subjects: -- kind: ServiceAccount - name: kustomize-controller - namespace: flux-system -- kind: ServiceAccount - name: helm-controller - namespace: flux-system -- kind: ServiceAccount - name: source-controller - namespace: flux-system -- kind: ServiceAccount - name: notification-controller - namespace: flux-system -- kind: ServiceAccount - name: image-reflector-controller - namespace: flux-system -- kind: ServiceAccount - name: image-automation-controller - namespace: flux-system ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.12.0 - labels: - app.kubernetes.io/component: source-controller - app.kubernetes.io/instance: flux-system - app.kubernetes.io/part-of: flux - app.kubernetes.io/version: v2.1.2 - name: buckets.source.toolkit.fluxcd.io -spec: - group: source.toolkit.fluxcd.io - names: - kind: Bucket - listKind: BucketList - plural: buckets - singular: bucket - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .spec.endpoint - name: Endpoint - type: string - - jsonPath: .status.conditions[?(@.type=="Ready")].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=="Ready")].message - name: Status - type: string - - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1beta1 - schema: - openAPIV3Schema: - description: Bucket is the Schema for the buckets API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: BucketSpec defines the desired state of an S3 compatible - bucket - properties: - accessFrom: - description: AccessFrom defines an Access Control List for allowing - cross-namespace references to this object. - properties: - namespaceSelectors: - description: NamespaceSelectors is the list of namespace selectors - to which this ACL applies. Items in this list are evaluated - using a logical OR operation. - items: - description: NamespaceSelector selects the namespaces to which - this ACL applies. An empty map of MatchLabels matches all - namespaces in a cluster. - properties: - matchLabels: - additionalProperties: - type: string - description: MatchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field is - "key", the operator is "In", and the values array contains - only "value". The requirements are ANDed. - type: object - type: object - type: array - required: - - namespaceSelectors - type: object - bucketName: - description: The bucket name. - type: string - endpoint: - description: The bucket endpoint address. - type: string - ignore: - description: Ignore overrides the set of excluded patterns in the - .sourceignore format (which is the same as .gitignore). If not provided, - a default will be used, consult the documentation for your version - to find out what those are. - type: string - insecure: - description: Insecure allows connecting to a non-TLS S3 HTTP endpoint. - type: boolean - interval: - description: The interval at which to check for bucket updates. - type: string - provider: - default: generic - description: The S3 compatible storage provider name, default ('generic'). - enum: - - generic - - aws - - gcp - type: string - region: - description: The bucket region. - type: string - secretRef: - description: The name of the secret containing authentication credentials - for the Bucket. - properties: - name: - description: Name of the referent. - type: string - required: - - name - type: object - suspend: - description: This flag tells the controller to suspend the reconciliation - of this source. - type: boolean - timeout: - default: 60s - description: The timeout for download operations, defaults to 60s. - type: string - required: - - bucketName - - endpoint - - interval - type: object - status: - default: - observedGeneration: -1 - description: BucketStatus defines the observed state of a bucket - properties: - artifact: - description: Artifact represents the output of the last successful - Bucket sync. - properties: - checksum: - description: Checksum is the SHA256 checksum of the artifact. - type: string - lastUpdateTime: - description: LastUpdateTime is the timestamp corresponding to - the last update of this artifact. - format: date-time - type: string - path: - description: Path is the relative file path of this artifact. - type: string - revision: - description: Revision is a human readable identifier traceable - in the origin source system. It can be a Git commit SHA, Git - tag, a Helm index timestamp, a Helm chart version, etc. - type: string - url: - description: URL is the HTTP address of this artifact. - type: string - required: - - path - - url - type: object - conditions: - description: Conditions holds the conditions for the Bucket. - items: - description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - \n type FooStatus struct{ // Represents the observations of a - foo's current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" - properties: - lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should be when - the underlying condition changed. If that is not known, then - using the time when the API field changed is acceptable. - format: date-time - type: string - message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. - This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - description: status of the condition, one of True, False, Unknown. - enum: - - "True" - - "False" - - Unknown - type: string - type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - type: array - lastHandledReconcileAt: - description: LastHandledReconcileAt holds the value of the most recent - reconcile request value, so a change of the annotation value can - be detected. - type: string - observedGeneration: - description: ObservedGeneration is the last observed generation. - format: int64 - type: integer - url: - description: URL is the download link for the artifact output of the - last Bucket sync. - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .spec.endpoint - name: Endpoint - type: string - - jsonPath: .metadata.creationTimestamp - name: Age - type: date - - jsonPath: .status.conditions[?(@.type=="Ready")].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=="Ready")].message - name: Status - type: string - name: v1beta2 - schema: - openAPIV3Schema: - description: Bucket is the Schema for the buckets API. - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: BucketSpec specifies the required configuration to produce - an Artifact for an object storage bucket. - properties: - accessFrom: - description: 'AccessFrom specifies an Access Control List for allowing - cross-namespace references to this object. NOTE: Not implemented, - provisional as of https://github.com/fluxcd/flux2/pull/2092' - properties: - namespaceSelectors: - description: NamespaceSelectors is the list of namespace selectors - to which this ACL applies. Items in this list are evaluated - using a logical OR operation. - items: - description: NamespaceSelector selects the namespaces to which - this ACL applies. An empty map of MatchLabels matches all - namespaces in a cluster. - properties: - matchLabels: - additionalProperties: - type: string - description: MatchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field is - "key", the operator is "In", and the values array contains - only "value". The requirements are ANDed. - type: object - type: object - type: array - required: - - namespaceSelectors - type: object - bucketName: - description: BucketName is the name of the object storage bucket. - type: string - endpoint: - description: Endpoint is the object storage address the BucketName - is located at. - type: string - ignore: - description: Ignore overrides the set of excluded patterns in the - .sourceignore format (which is the same as .gitignore). If not provided, - a default will be used, consult the documentation for your version - to find out what those are. - type: string - insecure: - description: Insecure allows connecting to a non-TLS HTTP Endpoint. - type: boolean - interval: - description: Interval at which the Bucket Endpoint is checked for - updates. This interval is approximate and may be subject to jitter - to ensure efficient use of resources. - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ - type: string - provider: - default: generic - description: Provider of the object storage bucket. Defaults to 'generic', - which expects an S3 (API) compatible object storage. - enum: - - generic - - aws - - gcp - - azure - type: string - region: - description: Region of the Endpoint where the BucketName is located - in. - type: string - secretRef: - description: SecretRef specifies the Secret containing authentication - credentials for the Bucket. - properties: - name: - description: Name of the referent. - type: string - required: - - name - type: object - suspend: - description: Suspend tells the controller to suspend the reconciliation - of this Bucket. - type: boolean - timeout: - default: 60s - description: Timeout for fetch operations, defaults to 60s. - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$ - type: string - required: - - bucketName - - endpoint - - interval - type: object - status: - default: - observedGeneration: -1 - description: BucketStatus records the observed state of a Bucket. - properties: - artifact: - description: Artifact represents the last successful Bucket reconciliation. - properties: - digest: - description: Digest is the digest of the file in the form of ':'. - pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$ - type: string - lastUpdateTime: - description: LastUpdateTime is the timestamp corresponding to - the last update of the Artifact. - format: date-time - type: string - metadata: - additionalProperties: - type: string - description: Metadata holds upstream information such as OCI annotations. - type: object - path: - description: Path is the relative file path of the Artifact. It - can be used to locate the file in the root of the Artifact storage - on the local file system of the controller managing the Source. - type: string - revision: - description: Revision is a human-readable identifier traceable - in the origin source system. It can be a Git commit SHA, Git - tag, a Helm chart version, etc. - type: string - size: - description: Size is the number of bytes in the file. - format: int64 - type: integer - url: - description: URL is the HTTP address of the Artifact as exposed - by the controller managing the Source. It can be used to retrieve - the Artifact for consumption, e.g. by another controller applying - the Artifact contents. - type: string - required: - - lastUpdateTime - - path - - revision - - url - type: object - conditions: - description: Conditions holds the conditions for the Bucket. - items: - description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - \n type FooStatus struct{ // Represents the observations of a - foo's current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" - properties: - lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should be when - the underlying condition changed. If that is not known, then - using the time when the API field changed is acceptable. - format: date-time - type: string - message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. - This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - description: status of the condition, one of True, False, Unknown. - enum: - - "True" - - "False" - - Unknown - type: string - type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - type: array - lastHandledReconcileAt: - description: LastHandledReconcileAt holds the value of the most recent - reconcile request value, so a change of the annotation value can - be detected. - type: string - observedGeneration: - description: ObservedGeneration is the last observed generation of - the Bucket object. - format: int64 - type: integer - observedIgnore: - description: ObservedIgnore is the observed exclusion patterns used - for constructing the source artifact. - type: string - url: - description: URL is the dynamic fetch link for the latest Artifact. - It is provided on a "best effort" basis, and using the precise BucketStatus.Artifact - data is recommended. - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.12.0 - labels: - app.kubernetes.io/component: source-controller - app.kubernetes.io/instance: flux-system - app.kubernetes.io/part-of: flux - app.kubernetes.io/version: v2.1.2 - name: gitrepositories.source.toolkit.fluxcd.io -spec: - group: source.toolkit.fluxcd.io - names: - kind: GitRepository - listKind: GitRepositoryList - plural: gitrepositories - shortNames: - - gitrepo - singular: gitrepository - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .spec.url - name: URL - type: string - - jsonPath: .metadata.creationTimestamp - name: Age - type: date - - jsonPath: .status.conditions[?(@.type=="Ready")].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=="Ready")].message - name: Status - type: string - name: v1 - schema: - openAPIV3Schema: - description: GitRepository is the Schema for the gitrepositories API. - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: GitRepositorySpec specifies the required configuration to - produce an Artifact for a Git repository. - properties: - ignore: - description: Ignore overrides the set of excluded patterns in the - .sourceignore format (which is the same as .gitignore). If not provided, - a default will be used, consult the documentation for your version - to find out what those are. - type: string - include: - description: Include specifies a list of GitRepository resources which - Artifacts should be included in the Artifact produced for this GitRepository. - items: - description: GitRepositoryInclude specifies a local reference to - a GitRepository which Artifact (sub-)contents must be included, - and where they should be placed. - properties: - fromPath: - description: FromPath specifies the path to copy contents from, - defaults to the root of the Artifact. - type: string - repository: - description: GitRepositoryRef specifies the GitRepository which - Artifact contents must be included. - properties: - name: - description: Name of the referent. - type: string - required: - - name - type: object - toPath: - description: ToPath specifies the path to copy contents to, - defaults to the name of the GitRepositoryRef. - type: string - required: - - repository - type: object - type: array - interval: - description: Interval at which the GitRepository URL is checked for - updates. This interval is approximate and may be subject to jitter - to ensure efficient use of resources. - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ - type: string - proxySecretRef: - description: ProxySecretRef specifies the Secret containing the proxy - configuration to use while communicating with the Git server. - properties: - name: - description: Name of the referent. - type: string - required: - - name - type: object - recurseSubmodules: - description: RecurseSubmodules enables the initialization of all submodules - within the GitRepository as cloned from the URL, using their default - settings. - type: boolean - ref: - description: Reference specifies the Git reference to resolve and - monitor for changes, defaults to the 'master' branch. - properties: - branch: - description: Branch to check out, defaults to 'master' if no other - field is defined. - type: string - commit: - description: "Commit SHA to check out, takes precedence over all - reference fields. \n This can be combined with Branch to shallow - clone the branch, in which the commit is expected to exist." - type: string - name: - description: "Name of the reference to check out; takes precedence - over Branch, Tag and SemVer. \n It must be a valid Git reference: - https://git-scm.com/docs/git-check-ref-format#_description Examples: - \"refs/heads/main\", \"refs/tags/v0.1.0\", \"refs/pull/420/head\", - \"refs/merge-requests/1/head\"" - type: string - semver: - description: SemVer tag expression to check out, takes precedence - over Tag. - type: string - tag: - description: Tag to check out, takes precedence over Branch. - type: string - type: object - secretRef: - description: SecretRef specifies the Secret containing authentication - credentials for the GitRepository. For HTTPS repositories the Secret - must contain 'username' and 'password' fields for basic auth or - 'bearerToken' field for token auth. For SSH repositories the Secret - must contain 'identity' and 'known_hosts' fields. - properties: - name: - description: Name of the referent. - type: string - required: - - name - type: object - suspend: - description: Suspend tells the controller to suspend the reconciliation - of this GitRepository. - type: boolean - timeout: - default: 60s - description: Timeout for Git operations like cloning, defaults to - 60s. - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$ - type: string - url: - description: URL specifies the Git repository URL, it can be an HTTP/S - or SSH address. - pattern: ^(http|https|ssh)://.*$ - type: string - verify: - description: Verification specifies the configuration to verify the - Git commit signature(s). - properties: - mode: - default: HEAD - description: "Mode specifies which Git object(s) should be verified. - \n The variants \"head\" and \"HEAD\" both imply the same thing, - i.e. verify the commit that the HEAD of the Git repository points - to. The variant \"head\" solely exists to ensure backwards compatibility." - enum: - - head - - HEAD - - Tag - - TagAndHEAD - type: string - secretRef: - description: SecretRef specifies the Secret containing the public - keys of trusted Git authors. - properties: - name: - description: Name of the referent. - type: string - required: - - name - type: object - required: - - secretRef - type: object - required: - - interval - - url - type: object - status: - default: - observedGeneration: -1 - description: GitRepositoryStatus records the observed state of a Git repository. - properties: - artifact: - description: Artifact represents the last successful GitRepository - reconciliation. - properties: - digest: - description: Digest is the digest of the file in the form of ':'. - pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$ - type: string - lastUpdateTime: - description: LastUpdateTime is the timestamp corresponding to - the last update of the Artifact. - format: date-time - type: string - metadata: - additionalProperties: - type: string - description: Metadata holds upstream information such as OCI annotations. - type: object - path: - description: Path is the relative file path of the Artifact. It - can be used to locate the file in the root of the Artifact storage - on the local file system of the controller managing the Source. - type: string - revision: - description: Revision is a human-readable identifier traceable - in the origin source system. It can be a Git commit SHA, Git - tag, a Helm chart version, etc. - type: string - size: - description: Size is the number of bytes in the file. - format: int64 - type: integer - url: - description: URL is the HTTP address of the Artifact as exposed - by the controller managing the Source. It can be used to retrieve - the Artifact for consumption, e.g. by another controller applying - the Artifact contents. - type: string - required: - - lastUpdateTime - - path - - revision - - url - type: object - conditions: - description: Conditions holds the conditions for the GitRepository. - items: - description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - \n type FooStatus struct{ // Represents the observations of a - foo's current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" - properties: - lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should be when - the underlying condition changed. If that is not known, then - using the time when the API field changed is acceptable. - format: date-time - type: string - message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. - This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - description: status of the condition, one of True, False, Unknown. - enum: - - "True" - - "False" - - Unknown - type: string - type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - type: array - includedArtifacts: - description: IncludedArtifacts contains a list of the last successfully - included Artifacts as instructed by GitRepositorySpec.Include. - items: - description: Artifact represents the output of a Source reconciliation. - properties: - digest: - description: Digest is the digest of the file in the form of - ':'. - pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$ - type: string - lastUpdateTime: - description: LastUpdateTime is the timestamp corresponding to - the last update of the Artifact. - format: date-time - type: string - metadata: - additionalProperties: - type: string - description: Metadata holds upstream information such as OCI - annotations. - type: object - path: - description: Path is the relative file path of the Artifact. - It can be used to locate the file in the root of the Artifact - storage on the local file system of the controller managing - the Source. - type: string - revision: - description: Revision is a human-readable identifier traceable - in the origin source system. It can be a Git commit SHA, Git - tag, a Helm chart version, etc. - type: string - size: - description: Size is the number of bytes in the file. - format: int64 - type: integer - url: - description: URL is the HTTP address of the Artifact as exposed - by the controller managing the Source. It can be used to retrieve - the Artifact for consumption, e.g. by another controller applying - the Artifact contents. - type: string - required: - - lastUpdateTime - - path - - revision - - url - type: object - type: array - lastHandledReconcileAt: - description: LastHandledReconcileAt holds the value of the most recent - reconcile request value, so a change of the annotation value can - be detected. - type: string - observedGeneration: - description: ObservedGeneration is the last observed generation of - the GitRepository object. - format: int64 - type: integer - observedIgnore: - description: ObservedIgnore is the observed exclusion patterns used - for constructing the source artifact. - type: string - observedInclude: - description: ObservedInclude is the observed list of GitRepository - resources used to produce the current Artifact. - items: - description: GitRepositoryInclude specifies a local reference to - a GitRepository which Artifact (sub-)contents must be included, - and where they should be placed. - properties: - fromPath: - description: FromPath specifies the path to copy contents from, - defaults to the root of the Artifact. - type: string - repository: - description: GitRepositoryRef specifies the GitRepository which - Artifact contents must be included. - properties: - name: - description: Name of the referent. - type: string - required: - - name - type: object - toPath: - description: ToPath specifies the path to copy contents to, - defaults to the name of the GitRepositoryRef. - type: string - required: - - repository - type: object - type: array - observedRecurseSubmodules: - description: ObservedRecurseSubmodules is the observed resource submodules - configuration used to produce the current Artifact. - type: boolean - sourceVerificationMode: - description: SourceVerificationMode is the last used verification - mode indicating which Git object(s) have been verified. - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .spec.url - name: URL - type: string - - jsonPath: .status.conditions[?(@.type=="Ready")].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=="Ready")].message - name: Status - type: string - - jsonPath: .metadata.creationTimestamp - name: Age - type: date - deprecated: true - deprecationWarning: v1beta1 GitRepository is deprecated, upgrade to v1 - name: v1beta1 - schema: - openAPIV3Schema: - description: GitRepository is the Schema for the gitrepositories API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: GitRepositorySpec defines the desired state of a Git repository. - properties: - accessFrom: - description: AccessFrom defines an Access Control List for allowing - cross-namespace references to this object. - properties: - namespaceSelectors: - description: NamespaceSelectors is the list of namespace selectors - to which this ACL applies. Items in this list are evaluated - using a logical OR operation. - items: - description: NamespaceSelector selects the namespaces to which - this ACL applies. An empty map of MatchLabels matches all - namespaces in a cluster. - properties: - matchLabels: - additionalProperties: - type: string - description: MatchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field is - "key", the operator is "In", and the values array contains - only "value". The requirements are ANDed. - type: object - type: object - type: array - required: - - namespaceSelectors - type: object - gitImplementation: - default: go-git - description: Determines which git client library to use. Defaults - to go-git, valid values are ('go-git', 'libgit2'). - enum: - - go-git - - libgit2 - type: string - ignore: - description: Ignore overrides the set of excluded patterns in the - .sourceignore format (which is the same as .gitignore). If not provided, - a default will be used, consult the documentation for your version - to find out what those are. - type: string - include: - description: Extra git repositories to map into the repository - items: - description: GitRepositoryInclude defines a source with a from and - to path. - properties: - fromPath: - description: The path to copy contents from, defaults to the - root directory. - type: string - repository: - description: Reference to a GitRepository to include. - properties: - name: - description: Name of the referent. - type: string - required: - - name - type: object - toPath: - description: The path to copy contents to, defaults to the name - of the source ref. - type: string - required: - - repository - type: object - type: array - interval: - description: The interval at which to check for repository updates. - type: string - recurseSubmodules: - description: When enabled, after the clone is created, initializes - all submodules within, using their default settings. This option - is available only when using the 'go-git' GitImplementation. - type: boolean - ref: - description: The Git reference to checkout and monitor for changes, - defaults to master branch. - properties: - branch: - description: The Git branch to checkout, defaults to master. - type: string - commit: - description: The Git commit SHA to checkout, if specified Tag - filters will be ignored. - type: string - semver: - description: The Git tag semver expression, takes precedence over - Tag. - type: string - tag: - description: The Git tag to checkout, takes precedence over Branch. - type: string - type: object - secretRef: - description: The secret name containing the Git credentials. For HTTPS - repositories the secret must contain username and password fields. - For SSH repositories the secret must contain identity and known_hosts - fields. - properties: - name: - description: Name of the referent. - type: string - required: - - name - type: object - suspend: - description: This flag tells the controller to suspend the reconciliation - of this source. - type: boolean - timeout: - default: 60s - description: The timeout for remote Git operations like cloning, defaults - to 60s. - type: string - url: - description: The repository URL, can be a HTTP/S or SSH address. - pattern: ^(http|https|ssh)://.*$ - type: string - verify: - description: Verify OpenPGP signature for the Git commit HEAD points - to. - properties: - mode: - description: Mode describes what git object should be verified, - currently ('head'). - enum: - - head - type: string - secretRef: - description: The secret name containing the public keys of all - trusted Git authors. - properties: - name: - description: Name of the referent. - type: string - required: - - name - type: object - required: - - mode - type: object - required: - - interval - - url - type: object - status: - default: - observedGeneration: -1 - description: GitRepositoryStatus defines the observed state of a Git repository. - properties: - artifact: - description: Artifact represents the output of the last successful - repository sync. - properties: - checksum: - description: Checksum is the SHA256 checksum of the artifact. - type: string - lastUpdateTime: - description: LastUpdateTime is the timestamp corresponding to - the last update of this artifact. - format: date-time - type: string - path: - description: Path is the relative file path of this artifact. - type: string - revision: - description: Revision is a human readable identifier traceable - in the origin source system. It can be a Git commit SHA, Git - tag, a Helm index timestamp, a Helm chart version, etc. - type: string - url: - description: URL is the HTTP address of this artifact. - type: string - required: - - path - - url - type: object - conditions: - description: Conditions holds the conditions for the GitRepository. - items: - description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - \n type FooStatus struct{ // Represents the observations of a - foo's current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" - properties: - lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should be when - the underlying condition changed. If that is not known, then - using the time when the API field changed is acceptable. - format: date-time - type: string - message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. - This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - description: status of the condition, one of True, False, Unknown. - enum: - - "True" - - "False" - - Unknown - type: string - type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - type: array - includedArtifacts: - description: IncludedArtifacts represents the included artifacts from - the last successful repository sync. - items: - description: Artifact represents the output of a source synchronisation. - properties: - checksum: - description: Checksum is the SHA256 checksum of the artifact. - type: string - lastUpdateTime: - description: LastUpdateTime is the timestamp corresponding to - the last update of this artifact. - format: date-time - type: string - path: - description: Path is the relative file path of this artifact. - type: string - revision: - description: Revision is a human readable identifier traceable - in the origin source system. It can be a Git commit SHA, Git - tag, a Helm index timestamp, a Helm chart version, etc. - type: string - url: - description: URL is the HTTP address of this artifact. - type: string - required: - - path - - url - type: object - type: array - lastHandledReconcileAt: - description: LastHandledReconcileAt holds the value of the most recent - reconcile request value, so a change of the annotation value can - be detected. - type: string - observedGeneration: - description: ObservedGeneration is the last observed generation. - format: int64 - type: integer - url: - description: URL is the download link for the artifact output of the - last repository sync. - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .spec.url - name: URL - type: string - - jsonPath: .metadata.creationTimestamp - name: Age - type: date - - jsonPath: .status.conditions[?(@.type=="Ready")].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=="Ready")].message - name: Status - type: string - deprecated: true - deprecationWarning: v1beta2 GitRepository is deprecated, upgrade to v1 - name: v1beta2 - schema: - openAPIV3Schema: - description: GitRepository is the Schema for the gitrepositories API. - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: GitRepositorySpec specifies the required configuration to - produce an Artifact for a Git repository. - properties: - accessFrom: - description: 'AccessFrom specifies an Access Control List for allowing - cross-namespace references to this object. NOTE: Not implemented, - provisional as of https://github.com/fluxcd/flux2/pull/2092' - properties: - namespaceSelectors: - description: NamespaceSelectors is the list of namespace selectors - to which this ACL applies. Items in this list are evaluated - using a logical OR operation. - items: - description: NamespaceSelector selects the namespaces to which - this ACL applies. An empty map of MatchLabels matches all - namespaces in a cluster. - properties: - matchLabels: - additionalProperties: - type: string - description: MatchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field is - "key", the operator is "In", and the values array contains - only "value". The requirements are ANDed. - type: object - type: object - type: array - required: - - namespaceSelectors - type: object - gitImplementation: - default: go-git - description: 'GitImplementation specifies which Git client library - implementation to use. Defaults to ''go-git'', valid values are - (''go-git'', ''libgit2''). Deprecated: gitImplementation is deprecated - now that ''go-git'' is the only supported implementation.' - enum: - - go-git - - libgit2 - type: string - ignore: - description: Ignore overrides the set of excluded patterns in the - .sourceignore format (which is the same as .gitignore). If not provided, - a default will be used, consult the documentation for your version - to find out what those are. - type: string - include: - description: Include specifies a list of GitRepository resources which - Artifacts should be included in the Artifact produced for this GitRepository. - items: - description: GitRepositoryInclude specifies a local reference to - a GitRepository which Artifact (sub-)contents must be included, - and where they should be placed. - properties: - fromPath: - description: FromPath specifies the path to copy contents from, - defaults to the root of the Artifact. - type: string - repository: - description: GitRepositoryRef specifies the GitRepository which - Artifact contents must be included. - properties: - name: - description: Name of the referent. - type: string - required: - - name - type: object - toPath: - description: ToPath specifies the path to copy contents to, - defaults to the name of the GitRepositoryRef. - type: string - required: - - repository - type: object - type: array - interval: - description: Interval at which to check the GitRepository for updates. - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ - type: string - recurseSubmodules: - description: RecurseSubmodules enables the initialization of all submodules - within the GitRepository as cloned from the URL, using their default - settings. - type: boolean - ref: - description: Reference specifies the Git reference to resolve and - monitor for changes, defaults to the 'master' branch. - properties: - branch: - description: Branch to check out, defaults to 'master' if no other - field is defined. - type: string - commit: - description: "Commit SHA to check out, takes precedence over all - reference fields. \n This can be combined with Branch to shallow - clone the branch, in which the commit is expected to exist." - type: string - name: - description: "Name of the reference to check out; takes precedence - over Branch, Tag and SemVer. \n It must be a valid Git reference: - https://git-scm.com/docs/git-check-ref-format#_description Examples: - \"refs/heads/main\", \"refs/tags/v0.1.0\", \"refs/pull/420/head\", - \"refs/merge-requests/1/head\"" - type: string - semver: - description: SemVer tag expression to check out, takes precedence - over Tag. - type: string - tag: - description: Tag to check out, takes precedence over Branch. - type: string - type: object - secretRef: - description: SecretRef specifies the Secret containing authentication - credentials for the GitRepository. For HTTPS repositories the Secret - must contain 'username' and 'password' fields for basic auth or - 'bearerToken' field for token auth. For SSH repositories the Secret - must contain 'identity' and 'known_hosts' fields. - properties: - name: - description: Name of the referent. - type: string - required: - - name - type: object - suspend: - description: Suspend tells the controller to suspend the reconciliation - of this GitRepository. - type: boolean - timeout: - default: 60s - description: Timeout for Git operations like cloning, defaults to - 60s. - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$ - type: string - url: - description: URL specifies the Git repository URL, it can be an HTTP/S - or SSH address. - pattern: ^(http|https|ssh)://.*$ - type: string - verify: - description: Verification specifies the configuration to verify the - Git commit signature(s). - properties: - mode: - description: Mode specifies what Git object should be verified, - currently ('head'). - enum: - - head - type: string - secretRef: - description: SecretRef specifies the Secret containing the public - keys of trusted Git authors. - properties: - name: - description: Name of the referent. - type: string - required: - - name - type: object - required: - - mode - - secretRef - type: object - required: - - interval - - url - type: object - status: - default: - observedGeneration: -1 - description: GitRepositoryStatus records the observed state of a Git repository. - properties: - artifact: - description: Artifact represents the last successful GitRepository - reconciliation. - properties: - digest: - description: Digest is the digest of the file in the form of ':'. - pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$ - type: string - lastUpdateTime: - description: LastUpdateTime is the timestamp corresponding to - the last update of the Artifact. - format: date-time - type: string - metadata: - additionalProperties: - type: string - description: Metadata holds upstream information such as OCI annotations. - type: object - path: - description: Path is the relative file path of the Artifact. It - can be used to locate the file in the root of the Artifact storage - on the local file system of the controller managing the Source. - type: string - revision: - description: Revision is a human-readable identifier traceable - in the origin source system. It can be a Git commit SHA, Git - tag, a Helm chart version, etc. - type: string - size: - description: Size is the number of bytes in the file. - format: int64 - type: integer - url: - description: URL is the HTTP address of the Artifact as exposed - by the controller managing the Source. It can be used to retrieve - the Artifact for consumption, e.g. by another controller applying - the Artifact contents. - type: string - required: - - lastUpdateTime - - path - - revision - - url - type: object - conditions: - description: Conditions holds the conditions for the GitRepository. - items: - description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - \n type FooStatus struct{ // Represents the observations of a - foo's current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" - properties: - lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should be when - the underlying condition changed. If that is not known, then - using the time when the API field changed is acceptable. - format: date-time - type: string - message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. - This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - description: status of the condition, one of True, False, Unknown. - enum: - - "True" - - "False" - - Unknown - type: string - type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - type: array - contentConfigChecksum: - description: "ContentConfigChecksum is a checksum of all the configurations - related to the content of the source artifact: - .spec.ignore - - .spec.recurseSubmodules - .spec.included and the checksum of the - included artifacts observed in .status.observedGeneration version - of the object. This can be used to determine if the content of the - included repository has changed. It has the format of `:`, - for example: `sha256:`. \n Deprecated: Replaced with explicit - fields for observed artifact content config in the status." - type: string - includedArtifacts: - description: IncludedArtifacts contains a list of the last successfully - included Artifacts as instructed by GitRepositorySpec.Include. - items: - description: Artifact represents the output of a Source reconciliation. - properties: - digest: - description: Digest is the digest of the file in the form of - ':'. - pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$ - type: string - lastUpdateTime: - description: LastUpdateTime is the timestamp corresponding to - the last update of the Artifact. - format: date-time - type: string - metadata: - additionalProperties: - type: string - description: Metadata holds upstream information such as OCI - annotations. - type: object - path: - description: Path is the relative file path of the Artifact. - It can be used to locate the file in the root of the Artifact - storage on the local file system of the controller managing - the Source. - type: string - revision: - description: Revision is a human-readable identifier traceable - in the origin source system. It can be a Git commit SHA, Git - tag, a Helm chart version, etc. - type: string - size: - description: Size is the number of bytes in the file. - format: int64 - type: integer - url: - description: URL is the HTTP address of the Artifact as exposed - by the controller managing the Source. It can be used to retrieve - the Artifact for consumption, e.g. by another controller applying - the Artifact contents. - type: string - required: - - lastUpdateTime - - path - - revision - - url - type: object - type: array - lastHandledReconcileAt: - description: LastHandledReconcileAt holds the value of the most recent - reconcile request value, so a change of the annotation value can - be detected. - type: string - observedGeneration: - description: ObservedGeneration is the last observed generation of - the GitRepository object. - format: int64 - type: integer - observedIgnore: - description: ObservedIgnore is the observed exclusion patterns used - for constructing the source artifact. - type: string - observedInclude: - description: ObservedInclude is the observed list of GitRepository - resources used to to produce the current Artifact. - items: - description: GitRepositoryInclude specifies a local reference to - a GitRepository which Artifact (sub-)contents must be included, - and where they should be placed. - properties: - fromPath: - description: FromPath specifies the path to copy contents from, - defaults to the root of the Artifact. - type: string - repository: - description: GitRepositoryRef specifies the GitRepository which - Artifact contents must be included. - properties: - name: - description: Name of the referent. - type: string - required: - - name - type: object - toPath: - description: ToPath specifies the path to copy contents to, - defaults to the name of the GitRepositoryRef. - type: string - required: - - repository - type: object - type: array - observedRecurseSubmodules: - description: ObservedRecurseSubmodules is the observed resource submodules - configuration used to produce the current Artifact. - type: boolean - url: - description: URL is the dynamic fetch link for the latest Artifact. - It is provided on a "best effort" basis, and using the precise GitRepositoryStatus.Artifact - data is recommended. - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.12.0 - labels: - app.kubernetes.io/component: source-controller - app.kubernetes.io/instance: flux-system - app.kubernetes.io/part-of: flux - app.kubernetes.io/version: v2.1.2 - name: helmcharts.source.toolkit.fluxcd.io -spec: - group: source.toolkit.fluxcd.io - names: - kind: HelmChart - listKind: HelmChartList - plural: helmcharts - shortNames: - - hc - singular: helmchart - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .spec.chart - name: Chart - type: string - - jsonPath: .spec.version - name: Version - type: string - - jsonPath: .spec.sourceRef.kind - name: Source Kind - type: string - - jsonPath: .spec.sourceRef.name - name: Source Name - type: string - - jsonPath: .status.conditions[?(@.type=="Ready")].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=="Ready")].message - name: Status - type: string - - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1beta1 - schema: - openAPIV3Schema: - description: HelmChart is the Schema for the helmcharts API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: HelmChartSpec defines the desired state of a Helm chart. - properties: - accessFrom: - description: AccessFrom defines an Access Control List for allowing - cross-namespace references to this object. - properties: - namespaceSelectors: - description: NamespaceSelectors is the list of namespace selectors - to which this ACL applies. Items in this list are evaluated - using a logical OR operation. - items: - description: NamespaceSelector selects the namespaces to which - this ACL applies. An empty map of MatchLabels matches all - namespaces in a cluster. - properties: - matchLabels: - additionalProperties: - type: string - description: MatchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field is - "key", the operator is "In", and the values array contains - only "value". The requirements are ANDed. - type: object - type: object - type: array - required: - - namespaceSelectors - type: object - chart: - description: The name or path the Helm chart is available at in the - SourceRef. - type: string - interval: - description: The interval at which to check the Source for updates. - type: string - reconcileStrategy: - default: ChartVersion - description: Determines what enables the creation of a new artifact. - Valid values are ('ChartVersion', 'Revision'). See the documentation - of the values for an explanation on their behavior. Defaults to - ChartVersion when omitted. - enum: - - ChartVersion - - Revision - type: string - sourceRef: - description: The reference to the Source the chart is available at. - properties: - apiVersion: - description: APIVersion of the referent. - type: string - kind: - description: Kind of the referent, valid values are ('HelmRepository', - 'GitRepository', 'Bucket'). - enum: - - HelmRepository - - GitRepository - - Bucket - type: string - name: - description: Name of the referent. - type: string - required: - - kind - - name - type: object - suspend: - description: This flag tells the controller to suspend the reconciliation - of this source. - type: boolean - valuesFile: - description: Alternative values file to use as the default chart values, - expected to be a relative path in the SourceRef. Deprecated in favor - of ValuesFiles, for backwards compatibility the file defined here - is merged before the ValuesFiles items. Ignored when omitted. - type: string - valuesFiles: - description: Alternative list of values files to use as the chart - values (values.yaml is not included by default), expected to be - a relative path in the SourceRef. Values files are merged in the - order of this list with the last file overriding the first. Ignored - when omitted. - items: - type: string - type: array - version: - default: '*' - description: The chart version semver expression, ignored for charts - from GitRepository and Bucket sources. Defaults to latest when omitted. - type: string - required: - - chart - - interval - - sourceRef - type: object - status: - default: - observedGeneration: -1 - description: HelmChartStatus defines the observed state of the HelmChart. - properties: - artifact: - description: Artifact represents the output of the last successful - chart sync. - properties: - checksum: - description: Checksum is the SHA256 checksum of the artifact. - type: string - lastUpdateTime: - description: LastUpdateTime is the timestamp corresponding to - the last update of this artifact. - format: date-time - type: string - path: - description: Path is the relative file path of this artifact. - type: string - revision: - description: Revision is a human readable identifier traceable - in the origin source system. It can be a Git commit SHA, Git - tag, a Helm index timestamp, a Helm chart version, etc. - type: string - url: - description: URL is the HTTP address of this artifact. - type: string - required: - - path - - url - type: object - conditions: - description: Conditions holds the conditions for the HelmChart. - items: - description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - \n type FooStatus struct{ // Represents the observations of a - foo's current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" - properties: - lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should be when - the underlying condition changed. If that is not known, then - using the time when the API field changed is acceptable. - format: date-time - type: string - message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. - This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - description: status of the condition, one of True, False, Unknown. - enum: - - "True" - - "False" - - Unknown - type: string - type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - type: array - lastHandledReconcileAt: - description: LastHandledReconcileAt holds the value of the most recent - reconcile request value, so a change of the annotation value can - be detected. - type: string - observedGeneration: - description: ObservedGeneration is the last observed generation. - format: int64 - type: integer - url: - description: URL is the download link for the last chart pulled. - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .spec.chart - name: Chart - type: string - - jsonPath: .spec.version - name: Version - type: string - - jsonPath: .spec.sourceRef.kind - name: Source Kind - type: string - - jsonPath: .spec.sourceRef.name - name: Source Name - type: string - - jsonPath: .metadata.creationTimestamp - name: Age - type: date - - jsonPath: .status.conditions[?(@.type=="Ready")].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=="Ready")].message - name: Status - type: string - name: v1beta2 - schema: - openAPIV3Schema: - description: HelmChart is the Schema for the helmcharts API. - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: HelmChartSpec specifies the desired state of a Helm chart. - properties: - accessFrom: - description: 'AccessFrom specifies an Access Control List for allowing - cross-namespace references to this object. NOTE: Not implemented, - provisional as of https://github.com/fluxcd/flux2/pull/2092' - properties: - namespaceSelectors: - description: NamespaceSelectors is the list of namespace selectors - to which this ACL applies. Items in this list are evaluated - using a logical OR operation. - items: - description: NamespaceSelector selects the namespaces to which - this ACL applies. An empty map of MatchLabels matches all - namespaces in a cluster. - properties: - matchLabels: - additionalProperties: - type: string - description: MatchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field is - "key", the operator is "In", and the values array contains - only "value". The requirements are ANDed. - type: object - type: object - type: array - required: - - namespaceSelectors - type: object - chart: - description: Chart is the name or path the Helm chart is available - at in the SourceRef. - type: string - interval: - description: Interval at which the HelmChart SourceRef is checked - for updates. This interval is approximate and may be subject to - jitter to ensure efficient use of resources. - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ - type: string - reconcileStrategy: - default: ChartVersion - description: ReconcileStrategy determines what enables the creation - of a new artifact. Valid values are ('ChartVersion', 'Revision'). - See the documentation of the values for an explanation on their - behavior. Defaults to ChartVersion when omitted. - enum: - - ChartVersion - - Revision - type: string - sourceRef: - description: SourceRef is the reference to the Source the chart is - available at. - properties: - apiVersion: - description: APIVersion of the referent. - type: string - kind: - description: Kind of the referent, valid values are ('HelmRepository', - 'GitRepository', 'Bucket'). - enum: - - HelmRepository - - GitRepository - - Bucket - type: string - name: - description: Name of the referent. - type: string - required: - - kind - - name - type: object - suspend: - description: Suspend tells the controller to suspend the reconciliation - of this source. - type: boolean - valuesFile: - description: ValuesFile is an alternative values file to use as the - default chart values, expected to be a relative path in the SourceRef. - Deprecated in favor of ValuesFiles, for backwards compatibility - the file specified here is merged before the ValuesFiles items. - Ignored when omitted. - type: string - valuesFiles: - description: ValuesFiles is an alternative list of values files to - use as the chart values (values.yaml is not included by default), - expected to be a relative path in the SourceRef. Values files are - merged in the order of this list with the last file overriding the - first. Ignored when omitted. - items: - type: string - type: array - verify: - description: Verify contains the secret name containing the trusted - public keys used to verify the signature and specifies which provider - to use to check whether OCI image is authentic. This field is only - supported when using HelmRepository source with spec.type 'oci'. - Chart dependencies, which are not bundled in the umbrella chart - artifact, are not verified. - properties: - provider: - default: cosign - description: Provider specifies the technology used to sign the - OCI Artifact. - enum: - - cosign - type: string - secretRef: - description: SecretRef specifies the Kubernetes Secret containing - the trusted public keys. - properties: - name: - description: Name of the referent. - type: string - required: - - name - type: object - required: - - provider - type: object - version: - default: '*' - description: Version is the chart version semver expression, ignored - for charts from GitRepository and Bucket sources. Defaults to latest - when omitted. - type: string - required: - - chart - - interval - - sourceRef - type: object - status: - default: - observedGeneration: -1 - description: HelmChartStatus records the observed state of the HelmChart. - properties: - artifact: - description: Artifact represents the output of the last successful - reconciliation. - properties: - digest: - description: Digest is the digest of the file in the form of ':'. - pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$ - type: string - lastUpdateTime: - description: LastUpdateTime is the timestamp corresponding to - the last update of the Artifact. - format: date-time - type: string - metadata: - additionalProperties: - type: string - description: Metadata holds upstream information such as OCI annotations. - type: object - path: - description: Path is the relative file path of the Artifact. It - can be used to locate the file in the root of the Artifact storage - on the local file system of the controller managing the Source. - type: string - revision: - description: Revision is a human-readable identifier traceable - in the origin source system. It can be a Git commit SHA, Git - tag, a Helm chart version, etc. - type: string - size: - description: Size is the number of bytes in the file. - format: int64 - type: integer - url: - description: URL is the HTTP address of the Artifact as exposed - by the controller managing the Source. It can be used to retrieve - the Artifact for consumption, e.g. by another controller applying - the Artifact contents. - type: string - required: - - lastUpdateTime - - path - - revision - - url - type: object - conditions: - description: Conditions holds the conditions for the HelmChart. - items: - description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - \n type FooStatus struct{ // Represents the observations of a - foo's current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" - properties: - lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should be when - the underlying condition changed. If that is not known, then - using the time when the API field changed is acceptable. - format: date-time - type: string - message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. - This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - description: status of the condition, one of True, False, Unknown. - enum: - - "True" - - "False" - - Unknown - type: string - type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - type: array - lastHandledReconcileAt: - description: LastHandledReconcileAt holds the value of the most recent - reconcile request value, so a change of the annotation value can - be detected. - type: string - observedChartName: - description: ObservedChartName is the last observed chart name as - specified by the resolved chart reference. - type: string - observedGeneration: - description: ObservedGeneration is the last observed generation of - the HelmChart object. - format: int64 - type: integer - observedSourceArtifactRevision: - description: ObservedSourceArtifactRevision is the last observed Artifact.Revision - of the HelmChartSpec.SourceRef. - type: string - url: - description: URL is the dynamic fetch link for the latest Artifact. - It is provided on a "best effort" basis, and using the precise BucketStatus.Artifact - data is recommended. - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.12.0 - labels: - app.kubernetes.io/component: source-controller - app.kubernetes.io/instance: flux-system - app.kubernetes.io/part-of: flux - app.kubernetes.io/version: v2.1.2 - name: helmrepositories.source.toolkit.fluxcd.io -spec: - group: source.toolkit.fluxcd.io - names: - kind: HelmRepository - listKind: HelmRepositoryList - plural: helmrepositories - shortNames: - - helmrepo - singular: helmrepository - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .spec.url - name: URL - type: string - - jsonPath: .status.conditions[?(@.type=="Ready")].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=="Ready")].message - name: Status - type: string - - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1beta1 - schema: - openAPIV3Schema: - description: HelmRepository is the Schema for the helmrepositories API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: HelmRepositorySpec defines the reference to a Helm repository. - properties: - accessFrom: - description: AccessFrom defines an Access Control List for allowing - cross-namespace references to this object. - properties: - namespaceSelectors: - description: NamespaceSelectors is the list of namespace selectors - to which this ACL applies. Items in this list are evaluated - using a logical OR operation. - items: - description: NamespaceSelector selects the namespaces to which - this ACL applies. An empty map of MatchLabels matches all - namespaces in a cluster. - properties: - matchLabels: - additionalProperties: - type: string - description: MatchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field is - "key", the operator is "In", and the values array contains - only "value". The requirements are ANDed. - type: object - type: object - type: array - required: - - namespaceSelectors - type: object - interval: - description: The interval at which to check the upstream for updates. - type: string - passCredentials: - description: PassCredentials allows the credentials from the SecretRef - to be passed on to a host that does not match the host as defined - in URL. This may be required if the host of the advertised chart - URLs in the index differ from the defined URL. Enabling this should - be done with caution, as it can potentially result in credentials - getting stolen in a MITM-attack. - type: boolean - secretRef: - description: The name of the secret containing authentication credentials - for the Helm repository. For HTTP/S basic auth the secret must contain - username and password fields. For TLS the secret must contain a - certFile and keyFile, and/or caFile fields. - properties: - name: - description: Name of the referent. - type: string - required: - - name - type: object - suspend: - description: This flag tells the controller to suspend the reconciliation - of this source. - type: boolean - timeout: - default: 60s - description: The timeout of index downloading, defaults to 60s. - type: string - url: - description: The Helm repository URL, a valid URL contains at least - a protocol and host. - type: string - required: - - interval - - url - type: object - status: - default: - observedGeneration: -1 - description: HelmRepositoryStatus defines the observed state of the HelmRepository. - properties: - artifact: - description: Artifact represents the output of the last successful - repository sync. - properties: - checksum: - description: Checksum is the SHA256 checksum of the artifact. - type: string - lastUpdateTime: - description: LastUpdateTime is the timestamp corresponding to - the last update of this artifact. - format: date-time - type: string - path: - description: Path is the relative file path of this artifact. - type: string - revision: - description: Revision is a human readable identifier traceable - in the origin source system. It can be a Git commit SHA, Git - tag, a Helm index timestamp, a Helm chart version, etc. - type: string - url: - description: URL is the HTTP address of this artifact. - type: string - required: - - path - - url - type: object - conditions: - description: Conditions holds the conditions for the HelmRepository. - items: - description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - \n type FooStatus struct{ // Represents the observations of a - foo's current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" - properties: - lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should be when - the underlying condition changed. If that is not known, then - using the time when the API field changed is acceptable. - format: date-time - type: string - message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. - This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - description: status of the condition, one of True, False, Unknown. - enum: - - "True" - - "False" - - Unknown - type: string - type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - type: array - lastHandledReconcileAt: - description: LastHandledReconcileAt holds the value of the most recent - reconcile request value, so a change of the annotation value can - be detected. - type: string - observedGeneration: - description: ObservedGeneration is the last observed generation. - format: int64 - type: integer - url: - description: URL is the download link for the last index fetched. - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .spec.url - name: URL - type: string - - jsonPath: .metadata.creationTimestamp - name: Age - type: date - - jsonPath: .status.conditions[?(@.type=="Ready")].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=="Ready")].message - name: Status - type: string - name: v1beta2 - schema: - openAPIV3Schema: - description: HelmRepository is the Schema for the helmrepositories API. - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: HelmRepositorySpec specifies the required configuration to - produce an Artifact for a Helm repository index YAML. - properties: - accessFrom: - description: 'AccessFrom specifies an Access Control List for allowing - cross-namespace references to this object. NOTE: Not implemented, - provisional as of https://github.com/fluxcd/flux2/pull/2092' - properties: - namespaceSelectors: - description: NamespaceSelectors is the list of namespace selectors - to which this ACL applies. Items in this list are evaluated - using a logical OR operation. - items: - description: NamespaceSelector selects the namespaces to which - this ACL applies. An empty map of MatchLabels matches all - namespaces in a cluster. - properties: - matchLabels: - additionalProperties: - type: string - description: MatchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field is - "key", the operator is "In", and the values array contains - only "value". The requirements are ANDed. - type: object - type: object - type: array - required: - - namespaceSelectors - type: object - certSecretRef: - description: "CertSecretRef can be given the name of a Secret containing - either or both of \n - a PEM-encoded client certificate (`tls.crt`) - and private key (`tls.key`); - a PEM-encoded CA certificate (`ca.crt`) - \n and whichever are supplied, will be used for connecting to the - registry. The client cert and key are useful if you are authenticating - with a certificate; the CA cert is useful if you are using a self-signed - server certificate. The Secret must be of type `Opaque` or `kubernetes.io/tls`. - \n It takes precedence over the values specified in the Secret referred - to by `.spec.secretRef`." - properties: - name: - description: Name of the referent. - type: string - required: - - name - type: object - interval: - description: Interval at which the HelmRepository URL is checked for - updates. This interval is approximate and may be subject to jitter - to ensure efficient use of resources. - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ - type: string - passCredentials: - description: PassCredentials allows the credentials from the SecretRef - to be passed on to a host that does not match the host as defined - in URL. This may be required if the host of the advertised chart - URLs in the index differ from the defined URL. Enabling this should - be done with caution, as it can potentially result in credentials - getting stolen in a MITM-attack. - type: boolean - provider: - default: generic - description: Provider used for authentication, can be 'aws', 'azure', - 'gcp' or 'generic'. This field is optional, and only taken into - account if the .spec.type field is set to 'oci'. When not specified, - defaults to 'generic'. - enum: - - generic - - aws - - azure - - gcp - type: string - secretRef: - description: SecretRef specifies the Secret containing authentication - credentials for the HelmRepository. For HTTP/S basic auth the secret - must contain 'username' and 'password' fields. Support for TLS auth - using the 'certFile' and 'keyFile', and/or 'caFile' keys is deprecated. - Please use `.spec.certSecretRef` instead. - properties: - name: - description: Name of the referent. - type: string - required: - - name - type: object - suspend: - description: Suspend tells the controller to suspend the reconciliation - of this HelmRepository. - type: boolean - timeout: - default: 60s - description: Timeout is used for the index fetch operation for an - HTTPS helm repository, and for remote OCI Repository operations - like pulling for an OCI helm repository. Its default value is 60s. - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$ - type: string - type: - description: Type of the HelmRepository. When this field is set to "oci", - the URL field value must be prefixed with "oci://". - enum: - - default - - oci - type: string - url: - description: URL of the Helm repository, a valid URL contains at least - a protocol and host. - type: string - required: - - interval - - url - type: object - status: - default: - observedGeneration: -1 - description: HelmRepositoryStatus records the observed state of the HelmRepository. - properties: - artifact: - description: Artifact represents the last successful HelmRepository - reconciliation. - properties: - digest: - description: Digest is the digest of the file in the form of ':'. - pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$ - type: string - lastUpdateTime: - description: LastUpdateTime is the timestamp corresponding to - the last update of the Artifact. - format: date-time - type: string - metadata: - additionalProperties: - type: string - description: Metadata holds upstream information such as OCI annotations. - type: object - path: - description: Path is the relative file path of the Artifact. It - can be used to locate the file in the root of the Artifact storage - on the local file system of the controller managing the Source. - type: string - revision: - description: Revision is a human-readable identifier traceable - in the origin source system. It can be a Git commit SHA, Git - tag, a Helm chart version, etc. - type: string - size: - description: Size is the number of bytes in the file. - format: int64 - type: integer - url: - description: URL is the HTTP address of the Artifact as exposed - by the controller managing the Source. It can be used to retrieve - the Artifact for consumption, e.g. by another controller applying - the Artifact contents. - type: string - required: - - lastUpdateTime - - path - - revision - - url - type: object - conditions: - description: Conditions holds the conditions for the HelmRepository. - items: - description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - \n type FooStatus struct{ // Represents the observations of a - foo's current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" - properties: - lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should be when - the underlying condition changed. If that is not known, then - using the time when the API field changed is acceptable. - format: date-time - type: string - message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. - This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - description: status of the condition, one of True, False, Unknown. - enum: - - "True" - - "False" - - Unknown - type: string - type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - type: array - lastHandledReconcileAt: - description: LastHandledReconcileAt holds the value of the most recent - reconcile request value, so a change of the annotation value can - be detected. - type: string - observedGeneration: - description: ObservedGeneration is the last observed generation of - the HelmRepository object. - format: int64 - type: integer - url: - description: URL is the dynamic fetch link for the latest Artifact. - It is provided on a "best effort" basis, and using the precise HelmRepositoryStatus.Artifact - data is recommended. - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.12.0 - labels: - app.kubernetes.io/component: source-controller - app.kubernetes.io/instance: flux-system - app.kubernetes.io/part-of: flux - app.kubernetes.io/version: v2.1.2 - name: ocirepositories.source.toolkit.fluxcd.io -spec: - group: source.toolkit.fluxcd.io - names: - kind: OCIRepository - listKind: OCIRepositoryList - plural: ocirepositories - shortNames: - - ocirepo - singular: ocirepository - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .spec.url - name: URL - type: string - - jsonPath: .status.conditions[?(@.type=="Ready")].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=="Ready")].message - name: Status - type: string - - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1beta2 - schema: - openAPIV3Schema: - description: OCIRepository is the Schema for the ocirepositories API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: OCIRepositorySpec defines the desired state of OCIRepository - properties: - certSecretRef: - description: "CertSecretRef can be given the name of a Secret containing - either or both of \n - a PEM-encoded client certificate (`tls.crt`) - and private key (`tls.key`); - a PEM-encoded CA certificate (`ca.crt`) - \n and whichever are supplied, will be used for connecting to the - registry. The client cert and key are useful if you are authenticating - with a certificate; the CA cert is useful if you are using a self-signed - server certificate. The Secret must be of type `Opaque` or `kubernetes.io/tls`. - \n Note: Support for the `caFile`, `certFile` and `keyFile` keys - have been deprecated." - properties: - name: - description: Name of the referent. - type: string - required: - - name - type: object - ignore: - description: Ignore overrides the set of excluded patterns in the - .sourceignore format (which is the same as .gitignore). If not provided, - a default will be used, consult the documentation for your version - to find out what those are. - type: string - insecure: - description: Insecure allows connecting to a non-TLS HTTP container - registry. - type: boolean - interval: - description: Interval at which the OCIRepository URL is checked for - updates. This interval is approximate and may be subject to jitter - to ensure efficient use of resources. - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ - type: string - layerSelector: - description: LayerSelector specifies which layer should be extracted - from the OCI artifact. When not specified, the first layer found - in the artifact is selected. - properties: - mediaType: - description: MediaType specifies the OCI media type of the layer - which should be extracted from the OCI Artifact. The first layer - matching this type is selected. - type: string - operation: - description: Operation specifies how the selected layer should - be processed. By default, the layer compressed content is extracted - to storage. When the operation is set to 'copy', the layer compressed - content is persisted to storage as it is. - enum: - - extract - - copy - type: string - type: object - provider: - default: generic - description: The provider used for authentication, can be 'aws', 'azure', - 'gcp' or 'generic'. When not specified, defaults to 'generic'. - enum: - - generic - - aws - - azure - - gcp - type: string - ref: - description: The OCI reference to pull and monitor for changes, defaults - to the latest tag. - properties: - digest: - description: Digest is the image digest to pull, takes precedence - over SemVer. The value should be in the format 'sha256:'. - type: string - semver: - description: SemVer is the range of tags to pull selecting the - latest within the range, takes precedence over Tag. - type: string - tag: - description: Tag is the image tag to pull, defaults to latest. - type: string - type: object - secretRef: - description: SecretRef contains the secret name containing the registry - login credentials to resolve image metadata. The secret must be - of type kubernetes.io/dockerconfigjson. - properties: - name: - description: Name of the referent. - type: string - required: - - name - type: object - serviceAccountName: - description: 'ServiceAccountName is the name of the Kubernetes ServiceAccount - used to authenticate the image pull if the service account has attached - pull secrets. For more information: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#add-imagepullsecrets-to-a-service-account' - type: string - suspend: - description: This flag tells the controller to suspend the reconciliation - of this source. - type: boolean - timeout: - default: 60s - description: The timeout for remote OCI Repository operations like - pulling, defaults to 60s. - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$ - type: string - url: - description: URL is a reference to an OCI artifact repository hosted - on a remote container registry. - pattern: ^oci://.*$ - type: string - verify: - description: Verify contains the secret name containing the trusted - public keys used to verify the signature and specifies which provider - to use to check whether OCI image is authentic. - properties: - provider: - default: cosign - description: Provider specifies the technology used to sign the - OCI Artifact. - enum: - - cosign - type: string - secretRef: - description: SecretRef specifies the Kubernetes Secret containing - the trusted public keys. - properties: - name: - description: Name of the referent. - type: string - required: - - name - type: object - required: - - provider - type: object - required: - - interval - - url - type: object - status: - default: - observedGeneration: -1 - description: OCIRepositoryStatus defines the observed state of OCIRepository - properties: - artifact: - description: Artifact represents the output of the last successful - OCI Repository sync. - properties: - digest: - description: Digest is the digest of the file in the form of ':'. - pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$ - type: string - lastUpdateTime: - description: LastUpdateTime is the timestamp corresponding to - the last update of the Artifact. - format: date-time - type: string - metadata: - additionalProperties: - type: string - description: Metadata holds upstream information such as OCI annotations. - type: object - path: - description: Path is the relative file path of the Artifact. It - can be used to locate the file in the root of the Artifact storage - on the local file system of the controller managing the Source. - type: string - revision: - description: Revision is a human-readable identifier traceable - in the origin source system. It can be a Git commit SHA, Git - tag, a Helm chart version, etc. - type: string - size: - description: Size is the number of bytes in the file. - format: int64 - type: integer - url: - description: URL is the HTTP address of the Artifact as exposed - by the controller managing the Source. It can be used to retrieve - the Artifact for consumption, e.g. by another controller applying - the Artifact contents. - type: string - required: - - lastUpdateTime - - path - - revision - - url - type: object - conditions: - description: Conditions holds the conditions for the OCIRepository. - items: - description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - \n type FooStatus struct{ // Represents the observations of a - foo's current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" - properties: - lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should be when - the underlying condition changed. If that is not known, then - using the time when the API field changed is acceptable. - format: date-time - type: string - message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. - This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - description: status of the condition, one of True, False, Unknown. - enum: - - "True" - - "False" - - Unknown - type: string - type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - type: array - contentConfigChecksum: - description: "ContentConfigChecksum is a checksum of all the configurations - related to the content of the source artifact: - .spec.ignore - - .spec.layerSelector observed in .status.observedGeneration version - of the object. This can be used to determine if the content configuration - has changed and the artifact needs to be rebuilt. It has the format - of `:`, for example: `sha256:`. \n Deprecated: - Replaced with explicit fields for observed artifact content config - in the status." - type: string - lastHandledReconcileAt: - description: LastHandledReconcileAt holds the value of the most recent - reconcile request value, so a change of the annotation value can - be detected. - type: string - observedGeneration: - description: ObservedGeneration is the last observed generation. - format: int64 - type: integer - observedIgnore: - description: ObservedIgnore is the observed exclusion patterns used - for constructing the source artifact. - type: string - observedLayerSelector: - description: ObservedLayerSelector is the observed layer selector - used for constructing the source artifact. - properties: - mediaType: - description: MediaType specifies the OCI media type of the layer - which should be extracted from the OCI Artifact. The first layer - matching this type is selected. - type: string - operation: - description: Operation specifies how the selected layer should - be processed. By default, the layer compressed content is extracted - to storage. When the operation is set to 'copy', the layer compressed - content is persisted to storage as it is. - enum: - - extract - - copy - type: string - type: object - url: - description: URL is the download link for the artifact output of the - last OCI Repository sync. - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - labels: - app.kubernetes.io/component: source-controller - app.kubernetes.io/instance: flux-system - app.kubernetes.io/part-of: flux - app.kubernetes.io/version: v2.1.2 - name: source-controller - namespace: flux-system ---- -apiVersion: v1 -kind: Service -metadata: - labels: - app.kubernetes.io/component: source-controller - app.kubernetes.io/instance: flux-system - app.kubernetes.io/part-of: flux - app.kubernetes.io/version: v2.1.2 - control-plane: controller - name: source-controller - namespace: flux-system -spec: - ports: - - name: http - port: 80 - protocol: TCP - targetPort: http - selector: - app: source-controller - type: ClusterIP ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - labels: - app.kubernetes.io/component: source-controller - app.kubernetes.io/instance: flux-system - app.kubernetes.io/part-of: flux - app.kubernetes.io/version: v2.1.2 - control-plane: controller - name: source-controller - namespace: flux-system -spec: - replicas: 1 - selector: - matchLabels: - app: source-controller - strategy: - type: Recreate - template: - metadata: - annotations: - prometheus.io/port: "8080" - prometheus.io/scrape: "true" - labels: - app: source-controller - spec: - containers: - - args: - - --events-addr=http://notification-controller.flux-system.svc.cluster.local./ - - --watch-all-namespaces=true - - --log-level=info - - --log-encoding=json - - --enable-leader-election - - --storage-path=/data - - --storage-adv-addr=source-controller.$(RUNTIME_NAMESPACE).svc.cluster.local. - env: - - name: RUNTIME_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: TUF_ROOT - value: /tmp/.sigstore - image: ghcr.io/fluxcd/source-controller:v1.1.2 - imagePullPolicy: IfNotPresent - livenessProbe: - httpGet: - path: /healthz - port: healthz - name: manager - ports: - - containerPort: 9090 - name: http - protocol: TCP - - containerPort: 8080 - name: http-prom - protocol: TCP - - containerPort: 9440 - name: healthz - protocol: TCP - readinessProbe: - httpGet: - path: / - port: http - resources: - limits: - cpu: 1000m - memory: 1Gi - requests: - cpu: 50m - memory: 64Mi - securityContext: - allowPrivilegeEscalation: false - capabilities: - drop: - - ALL - readOnlyRootFilesystem: true - runAsNonRoot: true - seccompProfile: - type: RuntimeDefault - volumeMounts: - - mountPath: /data - name: data - - mountPath: /tmp - name: tmp - nodeSelector: - kubernetes.io/os: linux - priorityClassName: system-cluster-critical - securityContext: - fsGroup: 1337 - serviceAccountName: source-controller - terminationGracePeriodSeconds: 10 - volumes: - - emptyDir: {} - name: data - - emptyDir: {} - name: tmp ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.12.0 - labels: - app.kubernetes.io/component: kustomize-controller - app.kubernetes.io/instance: flux-system - app.kubernetes.io/part-of: flux - app.kubernetes.io/version: v2.1.2 - name: kustomizations.kustomize.toolkit.fluxcd.io -spec: - group: kustomize.toolkit.fluxcd.io - names: - kind: Kustomization - listKind: KustomizationList - plural: kustomizations - shortNames: - - ks - singular: kustomization - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .metadata.creationTimestamp - name: Age - type: date - - jsonPath: .status.conditions[?(@.type=="Ready")].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=="Ready")].message - name: Status - type: string - name: v1 - schema: - openAPIV3Schema: - description: Kustomization is the Schema for the kustomizations API. - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: KustomizationSpec defines the configuration to calculate - the desired state from a Source using Kustomize. - properties: - commonMetadata: - description: CommonMetadata specifies the common labels and annotations - that are applied to all resources. Any existing label or annotation - will be overridden if its key matches a common one. - properties: - annotations: - additionalProperties: - type: string - description: Annotations to be added to the object's metadata. - type: object - labels: - additionalProperties: - type: string - description: Labels to be added to the object's metadata. - type: object - type: object - components: - description: Components specifies relative paths to specifications - of other Components. - items: - type: string - type: array - decryption: - description: Decrypt Kubernetes secrets before applying them on the - cluster. - properties: - provider: - description: Provider is the name of the decryption engine. - enum: - - sops - type: string - secretRef: - description: The secret name containing the private OpenPGP keys - used for decryption. - properties: - name: - description: Name of the referent. - type: string - required: - - name - type: object - required: - - provider - type: object - dependsOn: - description: DependsOn may contain a meta.NamespacedObjectReference - slice with references to Kustomization resources that must be ready - before this Kustomization can be reconciled. - items: - description: NamespacedObjectReference contains enough information - to locate the referenced Kubernetes resource object in any namespace. - properties: - name: - description: Name of the referent. - type: string - namespace: - description: Namespace of the referent, when not specified it - acts as LocalObjectReference. - type: string - required: - - name - type: object - type: array - force: - default: false - description: Force instructs the controller to recreate resources - when patching fails due to an immutable field change. - type: boolean - healthChecks: - description: A list of resources to be included in the health assessment. - items: - description: NamespacedObjectKindReference contains enough information - to locate the typed referenced Kubernetes resource object in any - namespace. - properties: - apiVersion: - description: API version of the referent, if not specified the - Kubernetes preferred version will be used. - type: string - kind: - description: Kind of the referent. - type: string - name: - description: Name of the referent. - type: string - namespace: - description: Namespace of the referent, when not specified it - acts as LocalObjectReference. - type: string - required: - - kind - - name - type: object - type: array - images: - description: Images is a list of (image name, new name, new tag or - digest) for changing image names, tags or digests. This can also - be achieved with a patch, but this operator is simpler to specify. - items: - description: Image contains an image name, a new name, a new tag - or digest, which will replace the original name and tag. - properties: - digest: - description: Digest is the value used to replace the original - image tag. If digest is present NewTag value is ignored. - type: string - name: - description: Name is a tag-less image name. - type: string - newName: - description: NewName is the value used to replace the original - name. - type: string - newTag: - description: NewTag is the value used to replace the original - tag. - type: string - required: - - name - type: object - type: array - interval: - description: The interval at which to reconcile the Kustomization. - This interval is approximate and may be subject to jitter to ensure - efficient use of resources. - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ - type: string - kubeConfig: - description: The KubeConfig for reconciling the Kustomization on a - remote cluster. When used in combination with KustomizationSpec.ServiceAccountName, - forces the controller to act on behalf of that Service Account at - the target cluster. If the --default-service-account flag is set, - its value will be used as a controller level fallback for when KustomizationSpec.ServiceAccountName - is empty. - properties: - secretRef: - description: SecretRef holds the name of a secret that contains - a key with the kubeconfig file as the value. If no key is set, - the key will default to 'value'. It is recommended that the - kubeconfig is self-contained, and the secret is regularly updated - if credentials such as a cloud-access-token expire. Cloud specific - `cmd-path` auth helpers will not function without adding binaries - and credentials to the Pod that is responsible for reconciling - Kubernetes resources. - properties: - key: - description: Key in the Secret, when not specified an implementation-specific - default key is used. - type: string - name: - description: Name of the Secret. - type: string - required: - - name - type: object - required: - - secretRef - type: object - patches: - description: Strategic merge and JSON patches, defined as inline YAML - objects, capable of targeting objects based on kind, label and annotation - selectors. - items: - description: Patch contains an inline StrategicMerge or JSON6902 - patch, and the target the patch should be applied to. - properties: - patch: - description: Patch contains an inline StrategicMerge patch or - an inline JSON6902 patch with an array of operation objects. - type: string - target: - description: Target points to the resources that the patch document - should be applied to. - properties: - annotationSelector: - description: AnnotationSelector is a string that follows - the label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api - It matches with the resource annotations. - type: string - group: - description: Group is the API group to select resources - from. Together with Version and Kind it is capable of - unambiguously identifying and/or selecting resources. - https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md - type: string - kind: - description: Kind of the API Group to select resources from. - Together with Group and Version it is capable of unambiguously - identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md - type: string - labelSelector: - description: LabelSelector is a string that follows the - label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api - It matches with the resource labels. - type: string - name: - description: Name to match resources with. - type: string - namespace: - description: Namespace to select resources from. - type: string - version: - description: Version of the API Group to select resources - from. Together with Group and Kind it is capable of unambiguously - identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md - type: string - type: object - required: - - patch - type: object - type: array - path: - description: Path to the directory containing the kustomization.yaml - file, or the set of plain YAMLs a kustomization.yaml should be generated - for. Defaults to 'None', which translates to the root path of the - SourceRef. - type: string - postBuild: - description: PostBuild describes which actions to perform on the YAML - manifest generated by building the kustomize overlay. - properties: - substitute: - additionalProperties: - type: string - description: Substitute holds a map of key/value pairs. The variables - defined in your YAML manifests that match any of the keys defined - in the map will be substituted with the set value. Includes - support for bash string replacement functions e.g. ${var:=default}, - ${var:position} and ${var/substring/replacement}. - type: object - substituteFrom: - description: SubstituteFrom holds references to ConfigMaps and - Secrets containing the variables and their values to be substituted - in the YAML manifests. The ConfigMap and the Secret data keys - represent the var names, and they must match the vars declared - in the manifests for the substitution to happen. - items: - description: SubstituteReference contains a reference to a resource - containing the variables name and value. - properties: - kind: - description: Kind of the values referent, valid values are - ('Secret', 'ConfigMap'). - enum: - - Secret - - ConfigMap - type: string - name: - description: Name of the values referent. Should reside - in the same namespace as the referring resource. - maxLength: 253 - minLength: 1 - type: string - optional: - default: false - description: Optional indicates whether the referenced resource - must exist, or whether to tolerate its absence. If true - and the referenced resource is absent, proceed as if the - resource was present but empty, without any variables - defined. - type: boolean - required: - - kind - - name - type: object - type: array - type: object - prune: - description: Prune enables garbage collection. - type: boolean - retryInterval: - description: The interval at which to retry a previously failed reconciliation. - When not specified, the controller uses the KustomizationSpec.Interval - value to retry failures. - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ - type: string - serviceAccountName: - description: The name of the Kubernetes service account to impersonate - when reconciling this Kustomization. - type: string - sourceRef: - description: Reference of the source where the kustomization file - is. - properties: - apiVersion: - description: API version of the referent. - type: string - kind: - description: Kind of the referent. - enum: - - OCIRepository - - GitRepository - - Bucket - type: string - name: - description: Name of the referent. - type: string - namespace: - description: Namespace of the referent, defaults to the namespace - of the Kubernetes resource object that contains the reference. - type: string - required: - - kind - - name - type: object - suspend: - description: This flag tells the controller to suspend subsequent - kustomize executions, it does not apply to already started executions. - Defaults to false. - type: boolean - targetNamespace: - description: TargetNamespace sets or overrides the namespace in the - kustomization.yaml file. - maxLength: 63 - minLength: 1 - type: string - timeout: - description: Timeout for validation, apply and health checking operations. - Defaults to 'Interval' duration. - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ - type: string - wait: - description: Wait instructs the controller to check the health of - all the reconciled resources. When enabled, the HealthChecks are - ignored. Defaults to false. - type: boolean - required: - - interval - - prune - - sourceRef - type: object - status: - default: - observedGeneration: -1 - description: KustomizationStatus defines the observed state of a kustomization. - properties: - conditions: - items: - description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - \n type FooStatus struct{ // Represents the observations of a - foo's current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" - properties: - lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should be when - the underlying condition changed. If that is not known, then - using the time when the API field changed is acceptable. - format: date-time - type: string - message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. - This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - description: status of the condition, one of True, False, Unknown. - enum: - - "True" - - "False" - - Unknown - type: string - type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - type: array - inventory: - description: Inventory contains the list of Kubernetes resource object - references that have been successfully applied. - properties: - entries: - description: Entries of Kubernetes resource object references. - items: - description: ResourceRef contains the information necessary - to locate a resource within a cluster. - properties: - id: - description: ID is the string representation of the Kubernetes - resource object's metadata, in the format '___'. - type: string - v: - description: Version is the API version of the Kubernetes - resource object's kind. - type: string - required: - - id - - v - type: object - type: array - required: - - entries - type: object - lastAppliedRevision: - description: The last successfully applied revision. Equals the Revision - of the applied Artifact from the referenced Source. - type: string - lastAttemptedRevision: - description: LastAttemptedRevision is the revision of the last reconciliation - attempt. - type: string - lastHandledReconcileAt: - description: LastHandledReconcileAt holds the value of the most recent - reconcile request value, so a change of the annotation value can - be detected. - type: string - observedGeneration: - description: ObservedGeneration is the last reconciled generation. - format: int64 - type: integer - type: object - type: object - served: true - storage: true - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=="Ready")].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=="Ready")].message - name: Status - type: string - - jsonPath: .metadata.creationTimestamp - name: Age - type: date - deprecated: true - deprecationWarning: v1beta1 Kustomization is deprecated, upgrade to v1 - name: v1beta1 - schema: - openAPIV3Schema: - description: Kustomization is the Schema for the kustomizations API. - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: KustomizationSpec defines the desired state of a kustomization. - properties: - decryption: - description: Decrypt Kubernetes secrets before applying them on the - cluster. - properties: - provider: - description: Provider is the name of the decryption engine. - enum: - - sops - type: string - secretRef: - description: The secret name containing the private OpenPGP keys - used for decryption. - properties: - name: - description: Name of the referent. - type: string - required: - - name - type: object - required: - - provider - type: object - dependsOn: - description: DependsOn may contain a meta.NamespacedObjectReference - slice with references to Kustomization resources that must be ready - before this Kustomization can be reconciled. - items: - description: NamespacedObjectReference contains enough information - to locate the referenced Kubernetes resource object in any namespace. - properties: - name: - description: Name of the referent. - type: string - namespace: - description: Namespace of the referent, when not specified it - acts as LocalObjectReference. - type: string - required: - - name - type: object - type: array - force: - default: false - description: Force instructs the controller to recreate resources - when patching fails due to an immutable field change. - type: boolean - healthChecks: - description: A list of resources to be included in the health assessment. - items: - description: NamespacedObjectKindReference contains enough information - to locate the typed referenced Kubernetes resource object in any - namespace. - properties: - apiVersion: - description: API version of the referent, if not specified the - Kubernetes preferred version will be used. - type: string - kind: - description: Kind of the referent. - type: string - name: - description: Name of the referent. - type: string - namespace: - description: Namespace of the referent, when not specified it - acts as LocalObjectReference. - type: string - required: - - kind - - name - type: object - type: array - images: - description: Images is a list of (image name, new name, new tag or - digest) for changing image names, tags or digests. This can also - be achieved with a patch, but this operator is simpler to specify. - items: - description: Image contains an image name, a new name, a new tag - or digest, which will replace the original name and tag. - properties: - digest: - description: Digest is the value used to replace the original - image tag. If digest is present NewTag value is ignored. - type: string - name: - description: Name is a tag-less image name. - type: string - newName: - description: NewName is the value used to replace the original - name. - type: string - newTag: - description: NewTag is the value used to replace the original - tag. - type: string - required: - - name - type: object - type: array - interval: - description: The interval at which to reconcile the Kustomization. - type: string - kubeConfig: - description: The KubeConfig for reconciling the Kustomization on a - remote cluster. When specified, KubeConfig takes precedence over - ServiceAccountName. - properties: - secretRef: - description: SecretRef holds the name to a secret that contains - a 'value' key with the kubeconfig file as the value. It must - be in the same namespace as the Kustomization. It is recommended - that the kubeconfig is self-contained, and the secret is regularly - updated if credentials such as a cloud-access-token expire. - Cloud specific `cmd-path` auth helpers will not function without - adding binaries and credentials to the Pod that is responsible - for reconciling the Kustomization. - properties: - name: - description: Name of the referent. - type: string - required: - - name - type: object - type: object - patches: - description: Strategic merge and JSON patches, defined as inline YAML - objects, capable of targeting objects based on kind, label and annotation - selectors. - items: - description: Patch contains an inline StrategicMerge or JSON6902 - patch, and the target the patch should be applied to. - properties: - patch: - description: Patch contains an inline StrategicMerge patch or - an inline JSON6902 patch with an array of operation objects. - type: string - target: - description: Target points to the resources that the patch document - should be applied to. - properties: - annotationSelector: - description: AnnotationSelector is a string that follows - the label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api - It matches with the resource annotations. - type: string - group: - description: Group is the API group to select resources - from. Together with Version and Kind it is capable of - unambiguously identifying and/or selecting resources. - https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md - type: string - kind: - description: Kind of the API Group to select resources from. - Together with Group and Version it is capable of unambiguously - identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md - type: string - labelSelector: - description: LabelSelector is a string that follows the - label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api - It matches with the resource labels. - type: string - name: - description: Name to match resources with. - type: string - namespace: - description: Namespace to select resources from. - type: string - version: - description: Version of the API Group to select resources - from. Together with Group and Kind it is capable of unambiguously - identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md - type: string - type: object - required: - - patch - type: object - type: array - patchesJson6902: - description: JSON 6902 patches, defined as inline YAML objects. - items: - description: JSON6902Patch contains a JSON6902 patch and the target - the patch should be applied to. - properties: - patch: - description: Patch contains the JSON6902 patch document with - an array of operation objects. - items: - description: JSON6902 is a JSON6902 operation object. https://datatracker.ietf.org/doc/html/rfc6902#section-4 - properties: - from: - description: From contains a JSON-pointer value that references - a location within the target document where the operation - is performed. The meaning of the value depends on the - value of Op, and is NOT taken into account by all operations. - type: string - op: - description: Op indicates the operation to perform. Its - value MUST be one of "add", "remove", "replace", "move", - "copy", or "test". https://datatracker.ietf.org/doc/html/rfc6902#section-4 - enum: - - test - - remove - - add - - replace - - move - - copy - type: string - path: - description: Path contains the JSON-pointer value that - references a location within the target document where - the operation is performed. The meaning of the value - depends on the value of Op. - type: string - value: - description: Value contains a valid JSON structure. The - meaning of the value depends on the value of Op, and - is NOT taken into account by all operations. - x-kubernetes-preserve-unknown-fields: true - required: - - op - - path - type: object - type: array - target: - description: Target points to the resources that the patch document - should be applied to. - properties: - annotationSelector: - description: AnnotationSelector is a string that follows - the label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api - It matches with the resource annotations. - type: string - group: - description: Group is the API group to select resources - from. Together with Version and Kind it is capable of - unambiguously identifying and/or selecting resources. - https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md - type: string - kind: - description: Kind of the API Group to select resources from. - Together with Group and Version it is capable of unambiguously - identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md - type: string - labelSelector: - description: LabelSelector is a string that follows the - label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api - It matches with the resource labels. - type: string - name: - description: Name to match resources with. - type: string - namespace: - description: Namespace to select resources from. - type: string - version: - description: Version of the API Group to select resources - from. Together with Group and Kind it is capable of unambiguously - identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md - type: string - type: object - required: - - patch - - target - type: object - type: array - patchesStrategicMerge: - description: Strategic merge patches, defined as inline YAML objects. - items: - x-kubernetes-preserve-unknown-fields: true - type: array - path: - description: Path to the directory containing the kustomization.yaml - file, or the set of plain YAMLs a kustomization.yaml should be generated - for. Defaults to 'None', which translates to the root path of the - SourceRef. - type: string - postBuild: - description: PostBuild describes which actions to perform on the YAML - manifest generated by building the kustomize overlay. - properties: - substitute: - additionalProperties: - type: string - description: Substitute holds a map of key/value pairs. The variables - defined in your YAML manifests that match any of the keys defined - in the map will be substituted with the set value. Includes - support for bash string replacement functions e.g. ${var:=default}, - ${var:position} and ${var/substring/replacement}. - type: object - substituteFrom: - description: SubstituteFrom holds references to ConfigMaps and - Secrets containing the variables and their values to be substituted - in the YAML manifests. The ConfigMap and the Secret data keys - represent the var names and they must match the vars declared - in the manifests for the substitution to happen. - items: - description: SubstituteReference contains a reference to a resource - containing the variables name and value. - properties: - kind: - description: Kind of the values referent, valid values are - ('Secret', 'ConfigMap'). - enum: - - Secret - - ConfigMap - type: string - name: - description: Name of the values referent. Should reside - in the same namespace as the referring resource. - maxLength: 253 - minLength: 1 - type: string - required: - - kind - - name - type: object - type: array - type: object - prune: - description: Prune enables garbage collection. - type: boolean - retryInterval: - description: The interval at which to retry a previously failed reconciliation. - When not specified, the controller uses the KustomizationSpec.Interval - value to retry failures. - type: string - serviceAccountName: - description: The name of the Kubernetes service account to impersonate - when reconciling this Kustomization. - type: string - sourceRef: - description: Reference of the source where the kustomization file - is. - properties: - apiVersion: - description: API version of the referent - type: string - kind: - description: Kind of the referent - enum: - - GitRepository - - Bucket - type: string - name: - description: Name of the referent - type: string - namespace: - description: Namespace of the referent, defaults to the Kustomization - namespace - type: string - required: - - kind - - name - type: object - suspend: - description: This flag tells the controller to suspend subsequent - kustomize executions, it does not apply to already started executions. - Defaults to false. - type: boolean - targetNamespace: - description: TargetNamespace sets or overrides the namespace in the - kustomization.yaml file. - maxLength: 63 - minLength: 1 - type: string - timeout: - description: Timeout for validation, apply and health checking operations. - Defaults to 'Interval' duration. - type: string - validation: - description: Validate the Kubernetes objects before applying them - on the cluster. The validation strategy can be 'client' (local dry-run), - 'server' (APIServer dry-run) or 'none'. When 'Force' is 'true', - validation will fallback to 'client' if set to 'server' because - server-side validation is not supported in this scenario. - enum: - - none - - client - - server - type: string - required: - - interval - - prune - - sourceRef - type: object - status: - default: - observedGeneration: -1 - description: KustomizationStatus defines the observed state of a kustomization. - properties: - conditions: - items: - description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - \n type FooStatus struct{ // Represents the observations of a - foo's current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" - properties: - lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should be when - the underlying condition changed. If that is not known, then - using the time when the API field changed is acceptable. - format: date-time - type: string - message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. - This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - description: status of the condition, one of True, False, Unknown. - enum: - - "True" - - "False" - - Unknown - type: string - type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - type: array - lastAppliedRevision: - description: The last successfully applied revision. The revision - format for Git sources is /. - type: string - lastAttemptedRevision: - description: LastAttemptedRevision is the revision of the last reconciliation - attempt. - type: string - lastHandledReconcileAt: - description: LastHandledReconcileAt holds the value of the most recent - reconcile request value, so a change of the annotation value can - be detected. - type: string - observedGeneration: - description: ObservedGeneration is the last reconciled generation. - format: int64 - type: integer - snapshot: - description: The last successfully applied revision metadata. - properties: - checksum: - description: The manifests sha1 checksum. - type: string - entries: - description: A list of Kubernetes kinds grouped by namespace. - items: - description: Snapshot holds the metadata of namespaced Kubernetes - objects - properties: - kinds: - additionalProperties: - type: string - description: The list of Kubernetes kinds. - type: object - namespace: - description: The namespace of this entry. - type: string - required: - - kinds - type: object - type: array - required: - - checksum - - entries - type: object - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .metadata.creationTimestamp - name: Age - type: date - - jsonPath: .status.conditions[?(@.type=="Ready")].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=="Ready")].message - name: Status - type: string - deprecated: true - deprecationWarning: v1beta2 Kustomization is deprecated, upgrade to v1 - name: v1beta2 - schema: - openAPIV3Schema: - description: Kustomization is the Schema for the kustomizations API. - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: KustomizationSpec defines the configuration to calculate - the desired state from a Source using Kustomize. - properties: - commonMetadata: - description: CommonMetadata specifies the common labels and annotations - that are applied to all resources. Any existing label or annotation - will be overridden if its key matches a common one. - properties: - annotations: - additionalProperties: - type: string - description: Annotations to be added to the object's metadata. - type: object - labels: - additionalProperties: - type: string - description: Labels to be added to the object's metadata. - type: object - type: object - components: - description: Components specifies relative paths to specifications - of other Components. - items: - type: string - type: array - decryption: - description: Decrypt Kubernetes secrets before applying them on the - cluster. - properties: - provider: - description: Provider is the name of the decryption engine. - enum: - - sops - type: string - secretRef: - description: The secret name containing the private OpenPGP keys - used for decryption. - properties: - name: - description: Name of the referent. - type: string - required: - - name - type: object - required: - - provider - type: object - dependsOn: - description: DependsOn may contain a meta.NamespacedObjectReference - slice with references to Kustomization resources that must be ready - before this Kustomization can be reconciled. - items: - description: NamespacedObjectReference contains enough information - to locate the referenced Kubernetes resource object in any namespace. - properties: - name: - description: Name of the referent. - type: string - namespace: - description: Namespace of the referent, when not specified it - acts as LocalObjectReference. - type: string - required: - - name - type: object - type: array - force: - default: false - description: Force instructs the controller to recreate resources - when patching fails due to an immutable field change. - type: boolean - healthChecks: - description: A list of resources to be included in the health assessment. - items: - description: NamespacedObjectKindReference contains enough information - to locate the typed referenced Kubernetes resource object in any - namespace. - properties: - apiVersion: - description: API version of the referent, if not specified the - Kubernetes preferred version will be used. - type: string - kind: - description: Kind of the referent. - type: string - name: - description: Name of the referent. - type: string - namespace: - description: Namespace of the referent, when not specified it - acts as LocalObjectReference. - type: string - required: - - kind - - name - type: object - type: array - images: - description: Images is a list of (image name, new name, new tag or - digest) for changing image names, tags or digests. This can also - be achieved with a patch, but this operator is simpler to specify. - items: - description: Image contains an image name, a new name, a new tag - or digest, which will replace the original name and tag. - properties: - digest: - description: Digest is the value used to replace the original - image tag. If digest is present NewTag value is ignored. - type: string - name: - description: Name is a tag-less image name. - type: string - newName: - description: NewName is the value used to replace the original - name. - type: string - newTag: - description: NewTag is the value used to replace the original - tag. - type: string - required: - - name - type: object - type: array - interval: - description: The interval at which to reconcile the Kustomization. - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ - type: string - kubeConfig: - description: The KubeConfig for reconciling the Kustomization on a - remote cluster. When used in combination with KustomizationSpec.ServiceAccountName, - forces the controller to act on behalf of that Service Account at - the target cluster. If the --default-service-account flag is set, - its value will be used as a controller level fallback for when KustomizationSpec.ServiceAccountName - is empty. - properties: - secretRef: - description: SecretRef holds the name of a secret that contains - a key with the kubeconfig file as the value. If no key is set, - the key will default to 'value'. It is recommended that the - kubeconfig is self-contained, and the secret is regularly updated - if credentials such as a cloud-access-token expire. Cloud specific - `cmd-path` auth helpers will not function without adding binaries - and credentials to the Pod that is responsible for reconciling - Kubernetes resources. - properties: - key: - description: Key in the Secret, when not specified an implementation-specific - default key is used. - type: string - name: - description: Name of the Secret. - type: string - required: - - name - type: object - required: - - secretRef - type: object - patches: - description: Strategic merge and JSON patches, defined as inline YAML - objects, capable of targeting objects based on kind, label and annotation - selectors. - items: - description: Patch contains an inline StrategicMerge or JSON6902 - patch, and the target the patch should be applied to. - properties: - patch: - description: Patch contains an inline StrategicMerge patch or - an inline JSON6902 patch with an array of operation objects. - type: string - target: - description: Target points to the resources that the patch document - should be applied to. - properties: - annotationSelector: - description: AnnotationSelector is a string that follows - the label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api - It matches with the resource annotations. - type: string - group: - description: Group is the API group to select resources - from. Together with Version and Kind it is capable of - unambiguously identifying and/or selecting resources. - https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md - type: string - kind: - description: Kind of the API Group to select resources from. - Together with Group and Version it is capable of unambiguously - identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md - type: string - labelSelector: - description: LabelSelector is a string that follows the - label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api - It matches with the resource labels. - type: string - name: - description: Name to match resources with. - type: string - namespace: - description: Namespace to select resources from. - type: string - version: - description: Version of the API Group to select resources - from. Together with Group and Kind it is capable of unambiguously - identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md - type: string - type: object - required: - - patch - type: object - type: array - patchesJson6902: - description: 'JSON 6902 patches, defined as inline YAML objects. Deprecated: - Use Patches instead.' - items: - description: JSON6902Patch contains a JSON6902 patch and the target - the patch should be applied to. - properties: - patch: - description: Patch contains the JSON6902 patch document with - an array of operation objects. - items: - description: JSON6902 is a JSON6902 operation object. https://datatracker.ietf.org/doc/html/rfc6902#section-4 - properties: - from: - description: From contains a JSON-pointer value that references - a location within the target document where the operation - is performed. The meaning of the value depends on the - value of Op, and is NOT taken into account by all operations. - type: string - op: - description: Op indicates the operation to perform. Its - value MUST be one of "add", "remove", "replace", "move", - "copy", or "test". https://datatracker.ietf.org/doc/html/rfc6902#section-4 - enum: - - test - - remove - - add - - replace - - move - - copy - type: string - path: - description: Path contains the JSON-pointer value that - references a location within the target document where - the operation is performed. The meaning of the value - depends on the value of Op. - type: string - value: - description: Value contains a valid JSON structure. The - meaning of the value depends on the value of Op, and - is NOT taken into account by all operations. - x-kubernetes-preserve-unknown-fields: true - required: - - op - - path - type: object - type: array - target: - description: Target points to the resources that the patch document - should be applied to. - properties: - annotationSelector: - description: AnnotationSelector is a string that follows - the label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api - It matches with the resource annotations. - type: string - group: - description: Group is the API group to select resources - from. Together with Version and Kind it is capable of - unambiguously identifying and/or selecting resources. - https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md - type: string - kind: - description: Kind of the API Group to select resources from. - Together with Group and Version it is capable of unambiguously - identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md - type: string - labelSelector: - description: LabelSelector is a string that follows the - label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api - It matches with the resource labels. - type: string - name: - description: Name to match resources with. - type: string - namespace: - description: Namespace to select resources from. - type: string - version: - description: Version of the API Group to select resources - from. Together with Group and Kind it is capable of unambiguously - identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md - type: string - type: object - required: - - patch - - target - type: object - type: array - patchesStrategicMerge: - description: 'Strategic merge patches, defined as inline YAML objects. - Deprecated: Use Patches instead.' - items: - x-kubernetes-preserve-unknown-fields: true - type: array - path: - description: Path to the directory containing the kustomization.yaml - file, or the set of plain YAMLs a kustomization.yaml should be generated - for. Defaults to 'None', which translates to the root path of the - SourceRef. - type: string - postBuild: - description: PostBuild describes which actions to perform on the YAML - manifest generated by building the kustomize overlay. - properties: - substitute: - additionalProperties: - type: string - description: Substitute holds a map of key/value pairs. The variables - defined in your YAML manifests that match any of the keys defined - in the map will be substituted with the set value. Includes - support for bash string replacement functions e.g. ${var:=default}, - ${var:position} and ${var/substring/replacement}. - type: object - substituteFrom: - description: SubstituteFrom holds references to ConfigMaps and - Secrets containing the variables and their values to be substituted - in the YAML manifests. The ConfigMap and the Secret data keys - represent the var names and they must match the vars declared - in the manifests for the substitution to happen. - items: - description: SubstituteReference contains a reference to a resource - containing the variables name and value. - properties: - kind: - description: Kind of the values referent, valid values are - ('Secret', 'ConfigMap'). - enum: - - Secret - - ConfigMap - type: string - name: - description: Name of the values referent. Should reside - in the same namespace as the referring resource. - maxLength: 253 - minLength: 1 - type: string - optional: - default: false - description: Optional indicates whether the referenced resource - must exist, or whether to tolerate its absence. If true - and the referenced resource is absent, proceed as if the - resource was present but empty, without any variables - defined. - type: boolean - required: - - kind - - name - type: object - type: array - type: object - prune: - description: Prune enables garbage collection. - type: boolean - retryInterval: - description: The interval at which to retry a previously failed reconciliation. - When not specified, the controller uses the KustomizationSpec.Interval - value to retry failures. - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ - type: string - serviceAccountName: - description: The name of the Kubernetes service account to impersonate - when reconciling this Kustomization. - type: string - sourceRef: - description: Reference of the source where the kustomization file - is. - properties: - apiVersion: - description: API version of the referent. - type: string - kind: - description: Kind of the referent. - enum: - - OCIRepository - - GitRepository - - Bucket - type: string - name: - description: Name of the referent. - type: string - namespace: - description: Namespace of the referent, defaults to the namespace - of the Kubernetes resource object that contains the reference. - type: string - required: - - kind - - name - type: object - suspend: - description: This flag tells the controller to suspend subsequent - kustomize executions, it does not apply to already started executions. - Defaults to false. - type: boolean - targetNamespace: - description: TargetNamespace sets or overrides the namespace in the - kustomization.yaml file. - maxLength: 63 - minLength: 1 - type: string - timeout: - description: Timeout for validation, apply and health checking operations. - Defaults to 'Interval' duration. - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ - type: string - validation: - description: 'Deprecated: Not used in v1beta2.' - enum: - - none - - client - - server - type: string - wait: - description: Wait instructs the controller to check the health of - all the reconciled resources. When enabled, the HealthChecks are - ignored. Defaults to false. - type: boolean - required: - - interval - - prune - - sourceRef - type: object - status: - default: - observedGeneration: -1 - description: KustomizationStatus defines the observed state of a kustomization. - properties: - conditions: - items: - description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - \n type FooStatus struct{ // Represents the observations of a - foo's current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" - properties: - lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should be when - the underlying condition changed. If that is not known, then - using the time when the API field changed is acceptable. - format: date-time - type: string - message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. - This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - description: status of the condition, one of True, False, Unknown. - enum: - - "True" - - "False" - - Unknown - type: string - type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - type: array - inventory: - description: Inventory contains the list of Kubernetes resource object - references that have been successfully applied. - properties: - entries: - description: Entries of Kubernetes resource object references. - items: - description: ResourceRef contains the information necessary - to locate a resource within a cluster. - properties: - id: - description: ID is the string representation of the Kubernetes - resource object's metadata, in the format '___'. - type: string - v: - description: Version is the API version of the Kubernetes - resource object's kind. - type: string - required: - - id - - v - type: object - type: array - required: - - entries - type: object - lastAppliedRevision: - description: The last successfully applied revision. Equals the Revision - of the applied Artifact from the referenced Source. - type: string - lastAttemptedRevision: - description: LastAttemptedRevision is the revision of the last reconciliation - attempt. - type: string - lastHandledReconcileAt: - description: LastHandledReconcileAt holds the value of the most recent - reconcile request value, so a change of the annotation value can - be detected. - type: string - observedGeneration: - description: ObservedGeneration is the last reconciled generation. - format: int64 - type: integer - type: object - type: object - served: true - storage: false - subresources: - status: {} ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - labels: - app.kubernetes.io/component: kustomize-controller - app.kubernetes.io/instance: flux-system - app.kubernetes.io/part-of: flux - app.kubernetes.io/version: v2.1.2 - name: kustomize-controller - namespace: flux-system ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - labels: - app.kubernetes.io/component: kustomize-controller - app.kubernetes.io/instance: flux-system - app.kubernetes.io/part-of: flux - app.kubernetes.io/version: v2.1.2 - control-plane: controller - name: kustomize-controller - namespace: flux-system -spec: - replicas: 1 - selector: - matchLabels: - app: kustomize-controller - template: - metadata: - annotations: - prometheus.io/port: "8080" - prometheus.io/scrape: "true" - labels: - app: kustomize-controller - spec: - containers: - - args: - - --events-addr=http://notification-controller.flux-system.svc.cluster.local./ - - --watch-all-namespaces=true - - --log-level=info - - --log-encoding=json - - --enable-leader-election - env: - - name: RUNTIME_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - image: ghcr.io/fluxcd/kustomize-controller:v1.1.1 - imagePullPolicy: IfNotPresent - livenessProbe: - httpGet: - path: /healthz - port: healthz - name: manager - ports: - - containerPort: 8080 - name: http-prom - protocol: TCP - - containerPort: 9440 - name: healthz - protocol: TCP - readinessProbe: - httpGet: - path: /readyz - port: healthz - resources: - limits: - cpu: 1000m - memory: 1Gi - requests: - cpu: 100m - memory: 64Mi - securityContext: - allowPrivilegeEscalation: false - capabilities: - drop: - - ALL - readOnlyRootFilesystem: true - runAsNonRoot: true - seccompProfile: - type: RuntimeDefault - volumeMounts: - - mountPath: /tmp - name: temp - nodeSelector: - kubernetes.io/os: linux - priorityClassName: system-cluster-critical - securityContext: - fsGroup: 1337 - serviceAccountName: kustomize-controller - terminationGracePeriodSeconds: 60 - volumes: - - emptyDir: {} - name: temp ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.12.0 - labels: - app.kubernetes.io/component: helm-controller - app.kubernetes.io/instance: flux-system - app.kubernetes.io/part-of: flux - app.kubernetes.io/version: v2.1.2 - name: helmreleases.helm.toolkit.fluxcd.io -spec: - group: helm.toolkit.fluxcd.io - names: - kind: HelmRelease - listKind: HelmReleaseList - plural: helmreleases - shortNames: - - hr - singular: helmrelease - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .metadata.creationTimestamp - name: Age - type: date - - jsonPath: .status.conditions[?(@.type=="Ready")].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=="Ready")].message - name: Status - type: string - name: v2beta1 - schema: - openAPIV3Schema: - description: HelmRelease is the Schema for the helmreleases API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: HelmReleaseSpec defines the desired state of a Helm release. - properties: - chart: - description: Chart defines the template of the v1beta2.HelmChart that - should be created for this HelmRelease. - properties: - metadata: - description: ObjectMeta holds the template for metadata like labels - and annotations. - properties: - annotations: - additionalProperties: - type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/' - type: object - labels: - additionalProperties: - type: string - description: 'Map of string keys and values that can be used - to organize and categorize (scope and select) objects. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/' - type: object - type: object - spec: - description: Spec holds the template for the v1beta2.HelmChartSpec - for this HelmRelease. - properties: - chart: - description: The name or path the Helm chart is available - at in the SourceRef. - type: string - interval: - description: Interval at which to check the v1beta2.Source - for updates. Defaults to 'HelmReleaseSpec.Interval'. - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ - type: string - reconcileStrategy: - default: ChartVersion - description: Determines what enables the creation of a new - artifact. Valid values are ('ChartVersion', 'Revision'). - See the documentation of the values for an explanation on - their behavior. Defaults to ChartVersion when omitted. - enum: - - ChartVersion - - Revision - type: string - sourceRef: - description: The name and namespace of the v1beta2.Source - the chart is available at. - properties: - apiVersion: - description: APIVersion of the referent. - type: string - kind: - description: Kind of the referent. - enum: - - HelmRepository - - GitRepository - - Bucket - type: string - name: - description: Name of the referent. - maxLength: 253 - minLength: 1 - type: string - namespace: - description: Namespace of the referent. - maxLength: 63 - minLength: 1 - type: string - required: - - name - type: object - valuesFile: - description: Alternative values file to use as the default - chart values, expected to be a relative path in the SourceRef. - Deprecated in favor of ValuesFiles, for backwards compatibility - the file defined here is merged before the ValuesFiles items. - Ignored when omitted. - type: string - valuesFiles: - description: Alternative list of values files to use as the - chart values (values.yaml is not included by default), expected - to be a relative path in the SourceRef. Values files are - merged in the order of this list with the last file overriding - the first. Ignored when omitted. - items: - type: string - type: array - verify: - description: Verify contains the secret name containing the - trusted public keys used to verify the signature and specifies - which provider to use to check whether OCI image is authentic. - This field is only supported for OCI sources. Chart dependencies, - which are not bundled in the umbrella chart artifact, are - not verified. - properties: - provider: - default: cosign - description: Provider specifies the technology used to - sign the OCI Helm chart. - enum: - - cosign - type: string - secretRef: - description: SecretRef specifies the Kubernetes Secret - containing the trusted public keys. - properties: - name: - description: Name of the referent. - type: string - required: - - name - type: object - required: - - provider - type: object - version: - default: '*' - description: Version semver expression, ignored for charts - from v1beta2.GitRepository and v1beta2.Bucket sources. Defaults - to latest when omitted. - type: string - required: - - chart - - sourceRef - type: object - required: - - spec - type: object - dependsOn: - description: DependsOn may contain a meta.NamespacedObjectReference - slice with references to HelmRelease resources that must be ready - before this HelmRelease can be reconciled. - items: - description: NamespacedObjectReference contains enough information - to locate the referenced Kubernetes resource object in any namespace. - properties: - name: - description: Name of the referent. - type: string - namespace: - description: Namespace of the referent, when not specified it - acts as LocalObjectReference. - type: string - required: - - name - type: object - type: array - install: - description: Install holds the configuration for Helm install actions - for this HelmRelease. - properties: - crds: - description: "CRDs upgrade CRDs from the Helm Chart's crds directory - according to the CRD upgrade policy provided here. Valid values - are `Skip`, `Create` or `CreateReplace`. Default is `Create` - and if omitted CRDs are installed but not updated. \n Skip: - do neither install nor replace (update) any CRDs. \n Create: - new CRDs are created, existing CRDs are neither updated nor - deleted. \n CreateReplace: new CRDs are created, existing CRDs - are updated (replaced) but not deleted. \n By default, CRDs - are applied (installed) during Helm install action. With this - option users can opt-in to CRD replace existing CRDs on Helm - install actions, which is not (yet) natively supported by Helm. - https://helm.sh/docs/chart_best_practices/custom_resource_definitions." - enum: - - Skip - - Create - - CreateReplace - type: string - createNamespace: - description: CreateNamespace tells the Helm install action to - create the HelmReleaseSpec.TargetNamespace if it does not exist - yet. On uninstall, the namespace will not be garbage collected. - type: boolean - disableHooks: - description: DisableHooks prevents hooks from running during the - Helm install action. - type: boolean - disableOpenAPIValidation: - description: DisableOpenAPIValidation prevents the Helm install - action from validating rendered templates against the Kubernetes - OpenAPI Schema. - type: boolean - disableWait: - description: DisableWait disables the waiting for resources to - be ready after a Helm install has been performed. - type: boolean - disableWaitForJobs: - description: DisableWaitForJobs disables waiting for jobs to complete - after a Helm install has been performed. - type: boolean - remediation: - description: Remediation holds the remediation configuration for - when the Helm install action for the HelmRelease fails. The - default is to not perform any action. - properties: - ignoreTestFailures: - description: IgnoreTestFailures tells the controller to skip - remediation when the Helm tests are run after an install - action but fail. Defaults to 'Test.IgnoreFailures'. - type: boolean - remediateLastFailure: - description: RemediateLastFailure tells the controller to - remediate the last failure, when no retries remain. Defaults - to 'false'. - type: boolean - retries: - description: Retries is the number of retries that should - be attempted on failures before bailing. Remediation, using - an uninstall, is performed between each attempt. Defaults - to '0', a negative integer equals to unlimited retries. - type: integer - type: object - replace: - description: Replace tells the Helm install action to re-use the - 'ReleaseName', but only if that name is a deleted release which - remains in the history. - type: boolean - skipCRDs: - description: "SkipCRDs tells the Helm install action to not install - any CRDs. By default, CRDs are installed if not already present. - \n Deprecated use CRD policy (`crds`) attribute with value `Skip` - instead." - type: boolean - timeout: - description: Timeout is the time to wait for any individual Kubernetes - operation (like Jobs for hooks) during the performance of a - Helm install action. Defaults to 'HelmReleaseSpec.Timeout'. - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ - type: string - type: object - interval: - description: Interval at which to reconcile the Helm release. This - interval is approximate and may be subject to jitter to ensure efficient - use of resources. - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ - type: string - kubeConfig: - description: KubeConfig for reconciling the HelmRelease on a remote - cluster. When used in combination with HelmReleaseSpec.ServiceAccountName, - forces the controller to act on behalf of that Service Account at - the target cluster. If the --default-service-account flag is set, - its value will be used as a controller level fallback for when HelmReleaseSpec.ServiceAccountName - is empty. - properties: - secretRef: - description: SecretRef holds the name of a secret that contains - a key with the kubeconfig file as the value. If no key is set, - the key will default to 'value'. It is recommended that the - kubeconfig is self-contained, and the secret is regularly updated - if credentials such as a cloud-access-token expire. Cloud specific - `cmd-path` auth helpers will not function without adding binaries - and credentials to the Pod that is responsible for reconciling - Kubernetes resources. - properties: - key: - description: Key in the Secret, when not specified an implementation-specific - default key is used. - type: string - name: - description: Name of the Secret. - type: string - required: - - name - type: object - required: - - secretRef - type: object - maxHistory: - description: MaxHistory is the number of revisions saved by Helm for - this HelmRelease. Use '0' for an unlimited number of revisions; - defaults to '10'. - type: integer - persistentClient: - description: "PersistentClient tells the controller to use a persistent - Kubernetes client for this release. When enabled, the client will - be reused for the duration of the reconciliation, instead of being - created and destroyed for each (step of a) Helm action. \n This - can improve performance, but may cause issues with some Helm charts - that for example do create Custom Resource Definitions during installation - outside Helm's CRD lifecycle hooks, which are then not observed - to be available by e.g. post-install hooks. \n If not set, it defaults - to true." - type: boolean - postRenderers: - description: PostRenderers holds an array of Helm PostRenderers, which - will be applied in order of their definition. - items: - description: PostRenderer contains a Helm PostRenderer specification. - properties: - kustomize: - description: Kustomization to apply as PostRenderer. - properties: - images: - description: Images is a list of (image name, new name, - new tag or digest) for changing image names, tags or digests. - This can also be achieved with a patch, but this operator - is simpler to specify. - items: - description: Image contains an image name, a new name, - a new tag or digest, which will replace the original - name and tag. - properties: - digest: - description: Digest is the value used to replace the - original image tag. If digest is present NewTag - value is ignored. - type: string - name: - description: Name is a tag-less image name. - type: string - newName: - description: NewName is the value used to replace - the original name. - type: string - newTag: - description: NewTag is the value used to replace the - original tag. - type: string - required: - - name - type: object - type: array - patches: - description: Strategic merge and JSON patches, defined as - inline YAML objects, capable of targeting objects based - on kind, label and annotation selectors. - items: - description: Patch contains an inline StrategicMerge or - JSON6902 patch, and the target the patch should be applied - to. - properties: - patch: - description: Patch contains an inline StrategicMerge - patch or an inline JSON6902 patch with an array - of operation objects. - type: string - target: - description: Target points to the resources that the - patch document should be applied to. - properties: - annotationSelector: - description: AnnotationSelector is a string that - follows the label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api - It matches with the resource annotations. - type: string - group: - description: Group is the API group to select - resources from. Together with Version and Kind - it is capable of unambiguously identifying and/or - selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md - type: string - kind: - description: Kind of the API Group to select resources - from. Together with Group and Version it is - capable of unambiguously identifying and/or - selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md - type: string - labelSelector: - description: LabelSelector is a string that follows - the label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api - It matches with the resource labels. - type: string - name: - description: Name to match resources with. - type: string - namespace: - description: Namespace to select resources from. - type: string - version: - description: Version of the API Group to select - resources from. Together with Group and Kind - it is capable of unambiguously identifying and/or - selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md - type: string - type: object - required: - - patch - type: object - type: array - patchesJson6902: - description: JSON 6902 patches, defined as inline YAML objects. - items: - description: JSON6902Patch contains a JSON6902 patch and - the target the patch should be applied to. - properties: - patch: - description: Patch contains the JSON6902 patch document - with an array of operation objects. - items: - description: JSON6902 is a JSON6902 operation object. - https://datatracker.ietf.org/doc/html/rfc6902#section-4 - properties: - from: - description: From contains a JSON-pointer value - that references a location within the target - document where the operation is performed. - The meaning of the value depends on the value - of Op, and is NOT taken into account by all - operations. - type: string - op: - description: Op indicates the operation to perform. - Its value MUST be one of "add", "remove", - "replace", "move", "copy", or "test". https://datatracker.ietf.org/doc/html/rfc6902#section-4 - enum: - - test - - remove - - add - - replace - - move - - copy - type: string - path: - description: Path contains the JSON-pointer - value that references a location within the - target document where the operation is performed. - The meaning of the value depends on the value - of Op. - type: string - value: - description: Value contains a valid JSON structure. - The meaning of the value depends on the value - of Op, and is NOT taken into account by all - operations. - x-kubernetes-preserve-unknown-fields: true - required: - - op - - path - type: object - type: array - target: - description: Target points to the resources that the - patch document should be applied to. - properties: - annotationSelector: - description: AnnotationSelector is a string that - follows the label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api - It matches with the resource annotations. - type: string - group: - description: Group is the API group to select - resources from. Together with Version and Kind - it is capable of unambiguously identifying and/or - selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md - type: string - kind: - description: Kind of the API Group to select resources - from. Together with Group and Version it is - capable of unambiguously identifying and/or - selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md - type: string - labelSelector: - description: LabelSelector is a string that follows - the label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api - It matches with the resource labels. - type: string - name: - description: Name to match resources with. - type: string - namespace: - description: Namespace to select resources from. - type: string - version: - description: Version of the API Group to select - resources from. Together with Group and Kind - it is capable of unambiguously identifying and/or - selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md - type: string - type: object - required: - - patch - - target - type: object - type: array - patchesStrategicMerge: - description: Strategic merge patches, defined as inline - YAML objects. - items: - x-kubernetes-preserve-unknown-fields: true - type: array - type: object - type: object - type: array - releaseName: - description: ReleaseName used for the Helm release. Defaults to a - composition of '[TargetNamespace-]Name'. - maxLength: 53 - minLength: 1 - type: string - rollback: - description: Rollback holds the configuration for Helm rollback actions - for this HelmRelease. - properties: - cleanupOnFail: - description: CleanupOnFail allows deletion of new resources created - during the Helm rollback action when it fails. - type: boolean - disableHooks: - description: DisableHooks prevents hooks from running during the - Helm rollback action. - type: boolean - disableWait: - description: DisableWait disables the waiting for resources to - be ready after a Helm rollback has been performed. - type: boolean - disableWaitForJobs: - description: DisableWaitForJobs disables waiting for jobs to complete - after a Helm rollback has been performed. - type: boolean - force: - description: Force forces resource updates through a replacement - strategy. - type: boolean - recreate: - description: Recreate performs pod restarts for the resource if - applicable. - type: boolean - timeout: - description: Timeout is the time to wait for any individual Kubernetes - operation (like Jobs for hooks) during the performance of a - Helm rollback action. Defaults to 'HelmReleaseSpec.Timeout'. - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ - type: string - type: object - serviceAccountName: - description: The name of the Kubernetes service account to impersonate - when reconciling this HelmRelease. - type: string - storageNamespace: - description: StorageNamespace used for the Helm storage. Defaults - to the namespace of the HelmRelease. - maxLength: 63 - minLength: 1 - type: string - suspend: - description: Suspend tells the controller to suspend reconciliation - for this HelmRelease, it does not apply to already started reconciliations. - Defaults to false. - type: boolean - targetNamespace: - description: TargetNamespace to target when performing operations - for the HelmRelease. Defaults to the namespace of the HelmRelease. - maxLength: 63 - minLength: 1 - type: string - test: - description: Test holds the configuration for Helm test actions for - this HelmRelease. - properties: - enable: - description: Enable enables Helm test actions for this HelmRelease - after an Helm install or upgrade action has been performed. - type: boolean - ignoreFailures: - description: IgnoreFailures tells the controller to skip remediation - when the Helm tests are run but fail. Can be overwritten for - tests run after install or upgrade actions in 'Install.IgnoreTestFailures' - and 'Upgrade.IgnoreTestFailures'. - type: boolean - timeout: - description: Timeout is the time to wait for any individual Kubernetes - operation during the performance of a Helm test action. Defaults - to 'HelmReleaseSpec.Timeout'. - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ - type: string - type: object - timeout: - description: Timeout is the time to wait for any individual Kubernetes - operation (like Jobs for hooks) during the performance of a Helm - action. Defaults to '5m0s'. - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ - type: string - uninstall: - description: Uninstall holds the configuration for Helm uninstall - actions for this HelmRelease. - properties: - deletionPropagation: - default: background - description: DeletionPropagation specifies the deletion propagation - policy when a Helm uninstall is performed. - enum: - - background - - foreground - - orphan - type: string - disableHooks: - description: DisableHooks prevents hooks from running during the - Helm rollback action. - type: boolean - disableWait: - description: DisableWait disables waiting for all the resources - to be deleted after a Helm uninstall is performed. - type: boolean - keepHistory: - description: KeepHistory tells Helm to remove all associated resources - and mark the release as deleted, but retain the release history. - type: boolean - timeout: - description: Timeout is the time to wait for any individual Kubernetes - operation (like Jobs for hooks) during the performance of a - Helm uninstall action. Defaults to 'HelmReleaseSpec.Timeout'. - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ - type: string - type: object - upgrade: - description: Upgrade holds the configuration for Helm upgrade actions - for this HelmRelease. - properties: - cleanupOnFail: - description: CleanupOnFail allows deletion of new resources created - during the Helm upgrade action when it fails. - type: boolean - crds: - description: "CRDs upgrade CRDs from the Helm Chart's crds directory - according to the CRD upgrade policy provided here. Valid values - are `Skip`, `Create` or `CreateReplace`. Default is `Skip` and - if omitted CRDs are neither installed nor upgraded. \n Skip: - do neither install nor replace (update) any CRDs. \n Create: - new CRDs are created, existing CRDs are neither updated nor - deleted. \n CreateReplace: new CRDs are created, existing CRDs - are updated (replaced) but not deleted. \n By default, CRDs - are not applied during Helm upgrade action. With this option - users can opt-in to CRD upgrade, which is not (yet) natively - supported by Helm. https://helm.sh/docs/chart_best_practices/custom_resource_definitions." - enum: - - Skip - - Create - - CreateReplace - type: string - disableHooks: - description: DisableHooks prevents hooks from running during the - Helm upgrade action. - type: boolean - disableOpenAPIValidation: - description: DisableOpenAPIValidation prevents the Helm upgrade - action from validating rendered templates against the Kubernetes - OpenAPI Schema. - type: boolean - disableWait: - description: DisableWait disables the waiting for resources to - be ready after a Helm upgrade has been performed. - type: boolean - disableWaitForJobs: - description: DisableWaitForJobs disables waiting for jobs to complete - after a Helm upgrade has been performed. - type: boolean - force: - description: Force forces resource updates through a replacement - strategy. - type: boolean - preserveValues: - description: PreserveValues will make Helm reuse the last release's - values and merge in overrides from 'Values'. Setting this flag - makes the HelmRelease non-declarative. - type: boolean - remediation: - description: Remediation holds the remediation configuration for - when the Helm upgrade action for the HelmRelease fails. The - default is to not perform any action. - properties: - ignoreTestFailures: - description: IgnoreTestFailures tells the controller to skip - remediation when the Helm tests are run after an upgrade - action but fail. Defaults to 'Test.IgnoreFailures'. - type: boolean - remediateLastFailure: - description: RemediateLastFailure tells the controller to - remediate the last failure, when no retries remain. Defaults - to 'false' unless 'Retries' is greater than 0. - type: boolean - retries: - description: Retries is the number of retries that should - be attempted on failures before bailing. Remediation, using - 'Strategy', is performed between each attempt. Defaults - to '0', a negative integer equals to unlimited retries. - type: integer - strategy: - description: Strategy to use for failure remediation. Defaults - to 'rollback'. - enum: - - rollback - - uninstall - type: string - type: object - timeout: - description: Timeout is the time to wait for any individual Kubernetes - operation (like Jobs for hooks) during the performance of a - Helm upgrade action. Defaults to 'HelmReleaseSpec.Timeout'. - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ - type: string - type: object - values: - description: Values holds the values for this Helm release. - x-kubernetes-preserve-unknown-fields: true - valuesFrom: - description: ValuesFrom holds references to resources containing Helm - values for this HelmRelease, and information about how they should - be merged. - items: - description: ValuesReference contains a reference to a resource - containing Helm values, and optionally the key they can be found - at. - properties: - kind: - description: Kind of the values referent, valid values are ('Secret', - 'ConfigMap'). - enum: - - Secret - - ConfigMap - type: string - name: - description: Name of the values referent. Should reside in the - same namespace as the referring resource. - maxLength: 253 - minLength: 1 - type: string - optional: - description: Optional marks this ValuesReference as optional. - When set, a not found error for the values reference is ignored, - but any ValuesKey, TargetPath or transient error will still - result in a reconciliation failure. - type: boolean - targetPath: - description: TargetPath is the YAML dot notation path the value - should be merged at. When set, the ValuesKey is expected to - be a single flat value. Defaults to 'None', which results - in the values getting merged at the root. - maxLength: 250 - pattern: ^([a-zA-Z0-9_\-.\\\/]|\[[0-9]{1,5}\])+$ - type: string - valuesKey: - description: ValuesKey is the data key where the values.yaml - or a specific value can be found at. Defaults to 'values.yaml'. - When set, must be a valid Data Key, consisting of alphanumeric - characters, '-', '_' or '.'. - maxLength: 253 - pattern: ^[\-._a-zA-Z0-9]+$ - type: string - required: - - kind - - name - type: object - type: array - required: - - chart - - interval - type: object - status: - default: - observedGeneration: -1 - description: HelmReleaseStatus defines the observed state of a HelmRelease. - properties: - conditions: - description: Conditions holds the conditions for the HelmRelease. - items: - description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - \n type FooStatus struct{ // Represents the observations of a - foo's current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" - properties: - lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should be when - the underlying condition changed. If that is not known, then - using the time when the API field changed is acceptable. - format: date-time - type: string - message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. - This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - description: status of the condition, one of True, False, Unknown. - enum: - - "True" - - "False" - - Unknown - type: string - type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - type: array - failures: - description: Failures is the reconciliation failure count against - the latest desired state. It is reset after a successful reconciliation. - format: int64 - type: integer - helmChart: - description: HelmChart is the namespaced name of the HelmChart resource - created by the controller for the HelmRelease. - type: string - installFailures: - description: InstallFailures is the install failure count against - the latest desired state. It is reset after a successful reconciliation. - format: int64 - type: integer - lastAppliedRevision: - description: LastAppliedRevision is the revision of the last successfully - applied source. - type: string - lastAttemptedRevision: - description: LastAttemptedRevision is the revision of the last reconciliation - attempt. - type: string - lastAttemptedValuesChecksum: - description: LastAttemptedValuesChecksum is the SHA1 checksum of the - values of the last reconciliation attempt. - type: string - lastHandledReconcileAt: - description: LastHandledReconcileAt holds the value of the most recent - reconcile request value, so a change of the annotation value can - be detected. - type: string - lastReleaseRevision: - description: LastReleaseRevision is the revision of the last successful - Helm release. - type: integer - observedGeneration: - description: ObservedGeneration is the last observed generation. - format: int64 - type: integer - upgradeFailures: - description: UpgradeFailures is the upgrade failure count against - the latest desired state. It is reset after a successful reconciliation. - format: int64 - type: integer - type: object - type: object - served: true - storage: true - subresources: - status: {} ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - labels: - app.kubernetes.io/component: helm-controller - app.kubernetes.io/instance: flux-system - app.kubernetes.io/part-of: flux - app.kubernetes.io/version: v2.1.2 - name: helm-controller - namespace: flux-system ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - labels: - app.kubernetes.io/component: helm-controller - app.kubernetes.io/instance: flux-system - app.kubernetes.io/part-of: flux - app.kubernetes.io/version: v2.1.2 - control-plane: controller - name: helm-controller - namespace: flux-system -spec: - replicas: 1 - selector: - matchLabels: - app: helm-controller - template: - metadata: - annotations: - prometheus.io/port: "8080" - prometheus.io/scrape: "true" - labels: - app: helm-controller - spec: - containers: - - args: - - --events-addr=http://notification-controller.flux-system.svc.cluster.local./ - - --watch-all-namespaces=true - - --log-level=info - - --log-encoding=json - - --enable-leader-election - env: - - name: RUNTIME_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - image: ghcr.io/fluxcd/helm-controller:v0.36.2 - imagePullPolicy: IfNotPresent - livenessProbe: - httpGet: - path: /healthz - port: healthz - name: manager - ports: - - containerPort: 8080 - name: http-prom - protocol: TCP - - containerPort: 9440 - name: healthz - protocol: TCP - readinessProbe: - httpGet: - path: /readyz - port: healthz - resources: - limits: - cpu: 1000m - memory: 1Gi - requests: - cpu: 100m - memory: 64Mi - securityContext: - allowPrivilegeEscalation: false - capabilities: - drop: - - ALL - readOnlyRootFilesystem: true - runAsNonRoot: true - seccompProfile: - type: RuntimeDefault - volumeMounts: - - mountPath: /tmp - name: temp - nodeSelector: - kubernetes.io/os: linux - priorityClassName: system-cluster-critical - securityContext: - fsGroup: 1337 - serviceAccountName: helm-controller - terminationGracePeriodSeconds: 600 - volumes: - - emptyDir: {} - name: temp ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.12.0 - labels: - app.kubernetes.io/component: notification-controller - app.kubernetes.io/instance: flux-system - app.kubernetes.io/part-of: flux - app.kubernetes.io/version: v2.1.2 - name: alerts.notification.toolkit.fluxcd.io -spec: - group: notification.toolkit.fluxcd.io - names: - kind: Alert - listKind: AlertList - plural: alerts - singular: alert - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .metadata.creationTimestamp - name: Age - type: date - - jsonPath: .status.conditions[?(@.type=="Ready")].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=="Ready")].message - name: Status - type: string - name: v1beta1 - schema: - openAPIV3Schema: - description: Alert is the Schema for the alerts API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: AlertSpec defines an alerting rule for events involving a - list of objects - properties: - eventSeverity: - default: info - description: Filter events based on severity, defaults to ('info'). - If set to 'info' no events will be filtered. - enum: - - info - - error - type: string - eventSources: - description: Filter events based on the involved objects. - items: - description: CrossNamespaceObjectReference contains enough information - to let you locate the typed referenced object at cluster level - properties: - apiVersion: - description: API version of the referent - type: string - kind: - description: Kind of the referent - enum: - - Bucket - - GitRepository - - Kustomization - - HelmRelease - - HelmChart - - HelmRepository - - ImageRepository - - ImagePolicy - - ImageUpdateAutomation - - OCIRepository - type: string - matchLabels: - additionalProperties: - type: string - description: MatchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. - type: object - name: - description: Name of the referent - maxLength: 53 - minLength: 1 - type: string - namespace: - description: Namespace of the referent - maxLength: 53 - minLength: 1 - type: string - required: - - name - type: object - type: array - exclusionList: - description: A list of Golang regular expressions to be used for excluding - messages. - items: - type: string - type: array - providerRef: - description: Send events using this provider. - properties: - name: - description: Name of the referent. - type: string - required: - - name - type: object - summary: - description: Short description of the impact and affected cluster. - type: string - suspend: - description: This flag tells the controller to suspend subsequent - events dispatching. Defaults to false. - type: boolean - required: - - eventSources - - providerRef - type: object - status: - default: - observedGeneration: -1 - description: AlertStatus defines the observed state of Alert - properties: - conditions: - items: - description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - \n type FooStatus struct{ // Represents the observations of a - foo's current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" - properties: - lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should be when - the underlying condition changed. If that is not known, then - using the time when the API field changed is acceptable. - format: date-time - type: string - message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. - This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - description: status of the condition, one of True, False, Unknown. - enum: - - "True" - - "False" - - Unknown - type: string - type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - type: array - observedGeneration: - description: ObservedGeneration is the last observed generation. - format: int64 - type: integer - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .metadata.creationTimestamp - name: Age - type: date - - jsonPath: .status.conditions[?(@.type=="Ready")].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=="Ready")].message - name: Status - type: string - name: v1beta2 - schema: - openAPIV3Schema: - description: Alert is the Schema for the alerts API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: AlertSpec defines an alerting rule for events involving a - list of objects. - properties: - eventMetadata: - additionalProperties: - type: string - description: EventMetadata is an optional field for adding metadata - to events dispatched by the controller. This can be used for enhancing - the context of the event. If a field would override one already - present on the original event as generated by the emitter, then - the override doesn't happen, i.e. the original value is preserved, - and an info log is printed. - type: object - eventSeverity: - default: info - description: EventSeverity specifies how to filter events based on - severity. If set to 'info' no events will be filtered. - enum: - - info - - error - type: string - eventSources: - description: EventSources specifies how to filter events based on - the involved object kind, name and namespace. - items: - description: CrossNamespaceObjectReference contains enough information - to let you locate the typed referenced object at cluster level - properties: - apiVersion: - description: API version of the referent - type: string - kind: - description: Kind of the referent - enum: - - Bucket - - GitRepository - - Kustomization - - HelmRelease - - HelmChart - - HelmRepository - - ImageRepository - - ImagePolicy - - ImageUpdateAutomation - - OCIRepository - type: string - matchLabels: - additionalProperties: - type: string - description: MatchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. MatchLabels requires the name to be set to `*`. - type: object - name: - description: Name of the referent If multiple resources are - targeted `*` may be set. - maxLength: 53 - minLength: 1 - type: string - namespace: - description: Namespace of the referent - maxLength: 53 - minLength: 1 - type: string - required: - - kind - - name - type: object - type: array - exclusionList: - description: ExclusionList specifies a list of Golang regular expressions - to be used for excluding messages. - items: - type: string - type: array - inclusionList: - description: InclusionList specifies a list of Golang regular expressions - to be used for including messages. - items: - type: string - type: array - providerRef: - description: ProviderRef specifies which Provider this Alert should - use. - properties: - name: - description: Name of the referent. - type: string - required: - - name - type: object - summary: - description: Summary holds a short description of the impact and affected - cluster. - maxLength: 255 - type: string - suspend: - description: Suspend tells the controller to suspend subsequent events - handling for this Alert. - type: boolean - required: - - eventSources - - providerRef - type: object - status: - default: - observedGeneration: -1 - description: AlertStatus defines the observed state of the Alert. - properties: - conditions: - description: Conditions holds the conditions for the Alert. - items: - description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - \n type FooStatus struct{ // Represents the observations of a - foo's current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" - properties: - lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should be when - the underlying condition changed. If that is not known, then - using the time when the API field changed is acceptable. - format: date-time - type: string - message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. - This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - description: status of the condition, one of True, False, Unknown. - enum: - - "True" - - "False" - - Unknown - type: string - type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - type: array - lastHandledReconcileAt: - description: LastHandledReconcileAt holds the value of the most recent - reconcile request value, so a change of the annotation value can - be detected. - type: string - observedGeneration: - description: ObservedGeneration is the last observed generation. - format: int64 - type: integer - type: object - type: object - served: true - storage: true - subresources: - status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.12.0 - labels: - app.kubernetes.io/component: notification-controller - app.kubernetes.io/instance: flux-system - app.kubernetes.io/part-of: flux - app.kubernetes.io/version: v2.1.2 - name: providers.notification.toolkit.fluxcd.io -spec: - group: notification.toolkit.fluxcd.io - names: - kind: Provider - listKind: ProviderList - plural: providers - singular: provider - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .metadata.creationTimestamp - name: Age - type: date - - jsonPath: .status.conditions[?(@.type=="Ready")].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=="Ready")].message - name: Status - type: string - name: v1beta1 - schema: - openAPIV3Schema: - description: Provider is the Schema for the providers API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: ProviderSpec defines the desired state of Provider - properties: - address: - description: HTTP/S webhook address of this provider - pattern: ^(http|https):// - type: string - certSecretRef: - description: CertSecretRef can be given the name of a secret containing - a PEM-encoded CA certificate (`caFile`) - properties: - name: - description: Name of the referent. - type: string - required: - - name - type: object - channel: - description: Alert channel for this provider - type: string - proxy: - description: HTTP/S address of the proxy - pattern: ^(http|https):// - type: string - secretRef: - description: Secret reference containing the provider webhook URL - using "address" as data key - properties: - name: - description: Name of the referent. - type: string - required: - - name - type: object - suspend: - description: This flag tells the controller to suspend subsequent - events handling. Defaults to false. - type: boolean - timeout: - description: Timeout for sending alerts to the provider. - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$ - type: string - type: - description: Type of provider - enum: - - slack - - discord - - msteams - - rocket - - generic - - generic-hmac - - github - - gitlab - - bitbucket - - azuredevops - - googlechat - - webex - - sentry - - azureeventhub - - telegram - - lark - - matrix - - opsgenie - - alertmanager - - grafana - - githubdispatch - type: string - username: - description: Bot username for this provider - type: string - required: - - type - type: object - status: - default: - observedGeneration: -1 - description: ProviderStatus defines the observed state of Provider - properties: - conditions: - items: - description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - \n type FooStatus struct{ // Represents the observations of a - foo's current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" - properties: - lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should be when - the underlying condition changed. If that is not known, then - using the time when the API field changed is acceptable. - format: date-time - type: string - message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. - This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - description: status of the condition, one of True, False, Unknown. - enum: - - "True" - - "False" - - Unknown - type: string - type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - type: array - observedGeneration: - description: ObservedGeneration is the last reconciled generation. - format: int64 - type: integer - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .metadata.creationTimestamp - name: Age - type: date - - jsonPath: .status.conditions[?(@.type=="Ready")].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=="Ready")].message - name: Status - type: string - name: v1beta2 - schema: - openAPIV3Schema: - description: Provider is the Schema for the providers API. - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: ProviderSpec defines the desired state of the Provider. - properties: - address: - description: Address specifies the endpoint, in a generic sense, to - where alerts are sent. What kind of endpoint depends on the specific - Provider type being used. For the generic Provider, for example, - this is an HTTP/S address. For other Provider types this could be - a project ID or a namespace. - maxLength: 2048 - type: string - certSecretRef: - description: "CertSecretRef specifies the Secret containing a PEM-encoded - CA certificate (in the `ca.crt` key). \n Note: Support for the `caFile` - key has been deprecated." - properties: - name: - description: Name of the referent. - type: string - required: - - name - type: object - channel: - description: Channel specifies the destination channel where events - should be posted. - maxLength: 2048 - type: string - interval: - description: Interval at which to reconcile the Provider with its - Secret references. - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ - type: string - proxy: - description: Proxy the HTTP/S address of the proxy server. - maxLength: 2048 - pattern: ^(http|https)://.*$ - type: string - secretRef: - description: SecretRef specifies the Secret containing the authentication - credentials for this Provider. - properties: - name: - description: Name of the referent. - type: string - required: - - name - type: object - suspend: - description: Suspend tells the controller to suspend subsequent events - handling for this Provider. - type: boolean - timeout: - description: Timeout for sending alerts to the Provider. - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$ - type: string - type: - description: Type specifies which Provider implementation to use. - enum: - - slack - - discord - - msteams - - rocket - - generic - - generic-hmac - - github - - gitlab - - gitea - - bitbucket - - azuredevops - - googlechat - - googlepubsub - - webex - - sentry - - azureeventhub - - telegram - - lark - - matrix - - opsgenie - - alertmanager - - grafana - - githubdispatch - - pagerduty - - datadog - type: string - username: - description: Username specifies the name under which events are posted. - maxLength: 2048 - type: string - required: - - type - type: object - status: - default: - observedGeneration: -1 - description: ProviderStatus defines the observed state of the Provider. - properties: - conditions: - description: Conditions holds the conditions for the Provider. - items: - description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - \n type FooStatus struct{ // Represents the observations of a - foo's current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" - properties: - lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should be when - the underlying condition changed. If that is not known, then - using the time when the API field changed is acceptable. - format: date-time - type: string - message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. - This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - description: status of the condition, one of True, False, Unknown. - enum: - - "True" - - "False" - - Unknown - type: string - type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - type: array - lastHandledReconcileAt: - description: LastHandledReconcileAt holds the value of the most recent - reconcile request value, so a change of the annotation value can - be detected. - type: string - observedGeneration: - description: ObservedGeneration is the last reconciled generation. - format: int64 - type: integer - type: object - type: object - served: true - storage: true - subresources: - status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.12.0 - labels: - app.kubernetes.io/component: notification-controller - app.kubernetes.io/instance: flux-system - app.kubernetes.io/part-of: flux - app.kubernetes.io/version: v2.1.2 - name: receivers.notification.toolkit.fluxcd.io -spec: - group: notification.toolkit.fluxcd.io - names: - kind: Receiver - listKind: ReceiverList - plural: receivers - singular: receiver - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .metadata.creationTimestamp - name: Age - type: date - - jsonPath: .status.conditions[?(@.type=="Ready")].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=="Ready")].message - name: Status - type: string - name: v1 - schema: - openAPIV3Schema: - description: Receiver is the Schema for the receivers API. - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: ReceiverSpec defines the desired state of the Receiver. - properties: - events: - description: Events specifies the list of event types to handle, e.g. - 'push' for GitHub or 'Push Hook' for GitLab. - items: - type: string - type: array - interval: - default: 10m - description: Interval at which to reconcile the Receiver with its - Secret references. - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ - type: string - resources: - description: A list of resources to be notified about changes. - items: - description: CrossNamespaceObjectReference contains enough information - to let you locate the typed referenced object at cluster level - properties: - apiVersion: - description: API version of the referent - type: string - kind: - description: Kind of the referent - enum: - - Bucket - - GitRepository - - Kustomization - - HelmRelease - - HelmChart - - HelmRepository - - ImageRepository - - ImagePolicy - - ImageUpdateAutomation - - OCIRepository - type: string - matchLabels: - additionalProperties: - type: string - description: MatchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. MatchLabels requires the name to be set to `*`. - type: object - name: - description: Name of the referent If multiple resources are - targeted `*` may be set. - maxLength: 53 - minLength: 1 - type: string - namespace: - description: Namespace of the referent - maxLength: 53 - minLength: 1 - type: string - required: - - kind - - name - type: object - type: array - secretRef: - description: SecretRef specifies the Secret containing the token used - to validate the payload authenticity. - properties: - name: - description: Name of the referent. - type: string - required: - - name - type: object - suspend: - description: Suspend tells the controller to suspend subsequent events - handling for this receiver. - type: boolean - type: - description: Type of webhook sender, used to determine the validation - procedure and payload deserialization. - enum: - - generic - - generic-hmac - - github - - gitlab - - bitbucket - - harbor - - dockerhub - - quay - - gcr - - nexus - - acr - type: string - required: - - resources - - secretRef - - type - type: object - status: - default: - observedGeneration: -1 - description: ReceiverStatus defines the observed state of the Receiver. - properties: - conditions: - description: Conditions holds the conditions for the Receiver. - items: - description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - \n type FooStatus struct{ // Represents the observations of a - foo's current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" - properties: - lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should be when - the underlying condition changed. If that is not known, then - using the time when the API field changed is acceptable. - format: date-time - type: string - message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. - This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - description: status of the condition, one of True, False, Unknown. - enum: - - "True" - - "False" - - Unknown - type: string - type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - type: array - lastHandledReconcileAt: - description: LastHandledReconcileAt holds the value of the most recent - reconcile request value, so a change of the annotation value can - be detected. - type: string - observedGeneration: - description: ObservedGeneration is the last observed generation of - the Receiver object. - format: int64 - type: integer - webhookPath: - description: WebhookPath is the generated incoming webhook address - in the format of '/hook/sha256sum(token+name+namespace)'. - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .metadata.creationTimestamp - name: Age - type: date - - jsonPath: .status.conditions[?(@.type=="Ready")].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=="Ready")].message - name: Status - type: string - deprecated: true - deprecationWarning: v1beta1 Receiver is deprecated, upgrade to v1 - name: v1beta1 - schema: - openAPIV3Schema: - description: Receiver is the Schema for the receivers API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: ReceiverSpec defines the desired state of Receiver - properties: - events: - description: A list of events to handle, e.g. 'push' for GitHub or - 'Push Hook' for GitLab. - items: - type: string - type: array - resources: - description: A list of resources to be notified about changes. - items: - description: CrossNamespaceObjectReference contains enough information - to let you locate the typed referenced object at cluster level - properties: - apiVersion: - description: API version of the referent - type: string - kind: - description: Kind of the referent - enum: - - Bucket - - GitRepository - - Kustomization - - HelmRelease - - HelmChart - - HelmRepository - - ImageRepository - - ImagePolicy - - ImageUpdateAutomation - - OCIRepository - type: string - matchLabels: - additionalProperties: - type: string - description: MatchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. - type: object - name: - description: Name of the referent - maxLength: 53 - minLength: 1 - type: string - namespace: - description: Namespace of the referent - maxLength: 53 - minLength: 1 - type: string - required: - - name - type: object - type: array - secretRef: - description: Secret reference containing the token used to validate - the payload authenticity - properties: - name: - description: Name of the referent. - type: string - required: - - name - type: object - suspend: - description: This flag tells the controller to suspend subsequent - events handling. Defaults to false. - type: boolean - type: - description: Type of webhook sender, used to determine the validation - procedure and payload deserialization. - enum: - - generic - - generic-hmac - - github - - gitlab - - bitbucket - - harbor - - dockerhub - - quay - - gcr - - nexus - - acr - type: string - required: - - resources - - type - type: object - status: - default: - observedGeneration: -1 - description: ReceiverStatus defines the observed state of Receiver - properties: - conditions: - items: - description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - \n type FooStatus struct{ // Represents the observations of a - foo's current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" - properties: - lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should be when - the underlying condition changed. If that is not known, then - using the time when the API field changed is acceptable. - format: date-time - type: string - message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. - This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - description: status of the condition, one of True, False, Unknown. - enum: - - "True" - - "False" - - Unknown - type: string - type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - type: array - observedGeneration: - description: ObservedGeneration is the last observed generation. - format: int64 - type: integer - url: - description: Generated webhook URL in the format of '/hook/sha256sum(token+name+namespace)'. - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .metadata.creationTimestamp - name: Age - type: date - - jsonPath: .status.conditions[?(@.type=="Ready")].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=="Ready")].message - name: Status - type: string - deprecated: true - deprecationWarning: v1beta2 Receiver is deprecated, upgrade to v1 - name: v1beta2 - schema: - openAPIV3Schema: - description: Receiver is the Schema for the receivers API. - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: ReceiverSpec defines the desired state of the Receiver. - properties: - events: - description: Events specifies the list of event types to handle, e.g. - 'push' for GitHub or 'Push Hook' for GitLab. - items: - type: string - type: array - interval: - description: Interval at which to reconcile the Receiver with its - Secret references. - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ - type: string - resources: - description: A list of resources to be notified about changes. - items: - description: CrossNamespaceObjectReference contains enough information - to let you locate the typed referenced object at cluster level - properties: - apiVersion: - description: API version of the referent - type: string - kind: - description: Kind of the referent - enum: - - Bucket - - GitRepository - - Kustomization - - HelmRelease - - HelmChart - - HelmRepository - - ImageRepository - - ImagePolicy - - ImageUpdateAutomation - - OCIRepository - type: string - matchLabels: - additionalProperties: - type: string - description: MatchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. MatchLabels requires the name to be set to `*`. - type: object - name: - description: Name of the referent If multiple resources are - targeted `*` may be set. - maxLength: 53 - minLength: 1 - type: string - namespace: - description: Namespace of the referent - maxLength: 53 - minLength: 1 - type: string - required: - - kind - - name - type: object - type: array - secretRef: - description: SecretRef specifies the Secret containing the token used - to validate the payload authenticity. - properties: - name: - description: Name of the referent. - type: string - required: - - name - type: object - suspend: - description: Suspend tells the controller to suspend subsequent events - handling for this receiver. - type: boolean - type: - description: Type of webhook sender, used to determine the validation - procedure and payload deserialization. - enum: - - generic - - generic-hmac - - github - - gitlab - - bitbucket - - harbor - - dockerhub - - quay - - gcr - - nexus - - acr - type: string - required: - - resources - - type - type: object - status: - default: - observedGeneration: -1 - description: ReceiverStatus defines the observed state of the Receiver. - properties: - conditions: - description: Conditions holds the conditions for the Receiver. - items: - description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - \n type FooStatus struct{ // Represents the observations of a - foo's current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" - properties: - lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should be when - the underlying condition changed. If that is not known, then - using the time when the API field changed is acceptable. - format: date-time - type: string - message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. - This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - description: status of the condition, one of True, False, Unknown. - enum: - - "True" - - "False" - - Unknown - type: string - type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - type: array - lastHandledReconcileAt: - description: LastHandledReconcileAt holds the value of the most recent - reconcile request value, so a change of the annotation value can - be detected. - type: string - observedGeneration: - description: ObservedGeneration is the last observed generation of - the Receiver object. - format: int64 - type: integer - url: - description: 'URL is the generated incoming webhook address in the - format of ''/hook/sha256sum(token+name+namespace)''. Deprecated: - Replaced by WebhookPath.' - type: string - webhookPath: - description: WebhookPath is the generated incoming webhook address - in the format of '/hook/sha256sum(token+name+namespace)'. - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - labels: - app.kubernetes.io/component: notification-controller - app.kubernetes.io/instance: flux-system - app.kubernetes.io/part-of: flux - app.kubernetes.io/version: v2.1.2 - name: notification-controller - namespace: flux-system ---- -apiVersion: v1 -kind: Service -metadata: - labels: - app.kubernetes.io/component: notification-controller - app.kubernetes.io/instance: flux-system - app.kubernetes.io/part-of: flux - app.kubernetes.io/version: v2.1.2 - control-plane: controller - name: notification-controller - namespace: flux-system -spec: - ports: - - name: http - port: 80 - protocol: TCP - targetPort: http - selector: - app: notification-controller - type: ClusterIP ---- -apiVersion: v1 -kind: Service -metadata: - labels: - app.kubernetes.io/component: notification-controller - app.kubernetes.io/instance: flux-system - app.kubernetes.io/part-of: flux - app.kubernetes.io/version: v2.1.2 - control-plane: controller - name: webhook-receiver - namespace: flux-system -spec: - ports: - - name: http - port: 80 - protocol: TCP - targetPort: http-webhook - selector: - app: notification-controller - type: ClusterIP ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - labels: - app.kubernetes.io/component: notification-controller - app.kubernetes.io/instance: flux-system - app.kubernetes.io/part-of: flux - app.kubernetes.io/version: v2.1.2 - control-plane: controller - name: notification-controller - namespace: flux-system -spec: - replicas: 1 - selector: - matchLabels: - app: notification-controller - template: - metadata: - annotations: - prometheus.io/port: "8080" - prometheus.io/scrape: "true" - labels: - app: notification-controller - spec: - containers: - - args: - - --watch-all-namespaces=true - - --log-level=info - - --log-encoding=json - - --enable-leader-election - env: - - name: RUNTIME_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - image: ghcr.io/fluxcd/notification-controller:v1.1.0 - imagePullPolicy: IfNotPresent - livenessProbe: - httpGet: - path: /healthz - port: healthz - name: manager - ports: - - containerPort: 9090 - name: http - protocol: TCP - - containerPort: 9292 - name: http-webhook - protocol: TCP - - containerPort: 8080 - name: http-prom - protocol: TCP - - containerPort: 9440 - name: healthz - protocol: TCP - readinessProbe: - httpGet: - path: /readyz - port: healthz - resources: - limits: - cpu: 1000m - memory: 1Gi - requests: - cpu: 100m - memory: 64Mi - securityContext: - allowPrivilegeEscalation: false - capabilities: - drop: - - ALL - readOnlyRootFilesystem: true - runAsNonRoot: true - seccompProfile: - type: RuntimeDefault - volumeMounts: - - mountPath: /tmp - name: temp - nodeSelector: - kubernetes.io/os: linux - securityContext: - fsGroup: 1337 - serviceAccountName: notification-controller - terminationGracePeriodSeconds: 10 - volumes: - - emptyDir: {} - name: temp diff --git a/flux/olympus/base/flux-system/gotk-sync.yaml b/flux/olympus/base/flux-system/gotk-sync.yaml deleted file mode 100644 index 094efe16..00000000 --- a/flux/olympus/base/flux-system/gotk-sync.yaml +++ /dev/null @@ -1,27 +0,0 @@ -# This manifest was generated by flux. DO NOT EDIT. ---- -apiVersion: source.toolkit.fluxcd.io/v1 -kind: GitRepository -metadata: - name: flux-system - namespace: flux-system -spec: - interval: 1m0s - ref: - branch: main - secretRef: - name: flux-system - url: ssh://gitea@git.0x76.dev:42/v/infrastructure.git ---- -apiVersion: kustomize.toolkit.fluxcd.io/v1 -kind: Kustomization -metadata: - name: flux-system - namespace: flux-system -spec: - interval: 10m0s - path: ./flux/olympus/base - prune: true - sourceRef: - kind: GitRepository - name: flux-system diff --git a/flux/olympus/base/flux-system/kustomization.yaml b/flux/olympus/base/flux-system/kustomization.yaml deleted file mode 100644 index 42cac648..00000000 --- a/flux/olympus/base/flux-system/kustomization.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -resources: - - gotk-components.yaml - - gotk-sync.yaml - - repositories diff --git a/flux/olympus/base/flux-system/repositories/helm/external-secrets.yaml b/flux/olympus/base/flux-system/repositories/helm/external-secrets.yaml deleted file mode 100644 index a68409ba..00000000 --- a/flux/olympus/base/flux-system/repositories/helm/external-secrets.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: source.toolkit.fluxcd.io/v1beta2 -kind: HelmRepository -metadata: - name: external-secrets - namespace: flux-system -spec: - interval: 1h - url: https://charts.external-secrets.io diff --git a/flux/olympus/base/flux-system/repositories/helm/kustomization.yaml b/flux/olympus/base/flux-system/repositories/helm/kustomization.yaml deleted file mode 100644 index 9e58514b..00000000 --- a/flux/olympus/base/flux-system/repositories/helm/kustomization.yaml +++ /dev/null @@ -1,5 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -resources: - - external-secrets.yaml - diff --git a/flux/olympus/base/flux-system/repositories/kustomization.yaml b/flux/olympus/base/flux-system/repositories/kustomization.yaml deleted file mode 100644 index dadf6d60..00000000 --- a/flux/olympus/base/flux-system/repositories/kustomization.yaml +++ /dev/null @@ -1,5 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -resources: - - helm - diff --git a/flux/olympus/core/external-secrets/.gitignore b/flux/olympus/core/external-secrets/.gitignore deleted file mode 100644 index 5eec00f7..00000000 --- a/flux/olympus/core/external-secrets/.gitignore +++ /dev/null @@ -1 +0,0 @@ -vault-secret-id.yaml \ No newline at end of file diff --git a/flux/olympus/core/external-secrets/helm-release.yaml b/flux/olympus/core/external-secrets/helm-release.yaml deleted file mode 100644 index 7ca3ee27..00000000 --- a/flux/olympus/core/external-secrets/helm-release.yaml +++ /dev/null @@ -1,29 +0,0 @@ ---- -apiVersion: helm.toolkit.fluxcd.io/v2beta1 -kind: HelmRelease -metadata: - name: external-secrets - namespace: security -spec: - interval: 30m - chart: - spec: - chart: external-secrets - version: 0.9.9 - interval: 30m - sourceRef: - kind: HelmRepository - name: external-secrets - namespace: flux-system - values: - installCRDs: true - replicaCount: 1 - leaderElect: true - # serviceMonitor: - # enabled: true - # webhook: - # serviceMonitor: - # enabled: true - # certController: - # serviceMonitor: - # enabled: true diff --git a/flux/olympus/core/external-secrets/kustomization.yaml b/flux/olympus/core/external-secrets/kustomization.yaml deleted file mode 100644 index 04c4cf13..00000000 --- a/flux/olympus/core/external-secrets/kustomization.yaml +++ /dev/null @@ -1,5 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -resources: - - helm-release.yaml - - vault-secret-store.yaml diff --git a/flux/olympus/core/external-secrets/vault-secret-id.example.yaml b/flux/olympus/core/external-secrets/vault-secret-id.example.yaml deleted file mode 100644 index e9c57519..00000000 --- a/flux/olympus/core/external-secrets/vault-secret-id.example.yaml +++ /dev/null @@ -1,7 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: vault-secret-id - namespace: security -data: - secret-id: XXXXXX # Obtain by `vault write -f auth/approle/role/external-secrets/secret-id` diff --git a/flux/olympus/core/external-secrets/vault-secret-store.yaml b/flux/olympus/core/external-secrets/vault-secret-store.yaml deleted file mode 100644 index f09f88f0..00000000 --- a/flux/olympus/core/external-secrets/vault-secret-store.yaml +++ /dev/null @@ -1,27 +0,0 @@ -apiVersion: external-secrets.io/v1beta1 -kind: ClusterSecretStore -metadata: - name: vault - namespace: security -spec: - provider: - vault: - server: "http://vault.olympus:8200" - path: "k8s" - version: "v2" - auth: - # VaultAppRole authenticates with Vault using the - # App Role auth mechanism - # https://www.vaultproject.io/docs/auth/approle - appRole: - # Path where the App Role authentication backend is mounted - path: "approle" - # RoleID configured in the App Role authentication backend - # `vault read auth/approle/role/external-secrets/role-id` - roleId: "bb841a0e-45c1-9dab-36f0-f72647d6aff0" - # Reference to a key in a K8 Secret that contains the App Role SecretId - # (not commited in git) - secretRef: - name: "vault-secret-id" - namespace: "security" - key: "secret-id" diff --git a/flux/olympus/core/kustomization.yaml b/flux/olympus/core/kustomization.yaml deleted file mode 100644 index 1611c859..00000000 --- a/flux/olympus/core/kustomization.yaml +++ /dev/null @@ -1,5 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -resources: - - namespaces - - external-secrets diff --git a/flux/olympus/core/namespaces/kustomization.yaml b/flux/olympus/core/namespaces/kustomization.yaml deleted file mode 100644 index be604cf1..00000000 --- a/flux/olympus/core/namespaces/kustomization.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -resources: - - websites.yaml - - security.yaml - - services.yaml diff --git a/flux/olympus/core/namespaces/security.yaml b/flux/olympus/core/namespaces/security.yaml deleted file mode 100644 index 65f1a838..00000000 --- a/flux/olympus/core/namespaces/security.yaml +++ /dev/null @@ -1,4 +0,0 @@ -apiVersion: v1 -kind: Namespace -metadata: - name: security diff --git a/flux/olympus/core/namespaces/services.yaml b/flux/olympus/core/namespaces/services.yaml deleted file mode 100644 index da390d0d..00000000 --- a/flux/olympus/core/namespaces/services.yaml +++ /dev/null @@ -1,4 +0,0 @@ -apiVersion: v1 -kind: Namespace -metadata: - name: services diff --git a/flux/olympus/core/namespaces/websites.yaml b/flux/olympus/core/namespaces/websites.yaml deleted file mode 100644 index 9b4e8bc3..00000000 --- a/flux/olympus/core/namespaces/websites.yaml +++ /dev/null @@ -1,4 +0,0 @@ -apiVersion: v1 -kind: Namespace -metadata: - name: websites diff --git a/hosts/olympus/bastion/containers/common.nix b/hosts/olympus/bastion/containers/common.nix new file mode 100644 index 00000000..56ccdd5e --- /dev/null +++ b/hosts/olympus/bastion/containers/common.nix @@ -0,0 +1,6 @@ +# common container config +{ lib, ... }: { + # Workaround for bug https://github.com/NixOS/nixpkgs/issues/162686 + networking.useHostResolvConf = lib.mkForce false; + services.resolved.enable = true; +} diff --git a/hosts/olympus/bastion/containers/default.nix b/hosts/olympus/bastion/containers/default.nix new file mode 100644 index 00000000..d2e8299d --- /dev/null +++ b/hosts/olympus/bastion/containers/default.nix @@ -0,0 +1,26 @@ +{ config, lib, ... }: +let + hostAddress = "10.42.99.1"; + hostAddress6 = "fc00::1"; +in { + # TODO: Loop over subdirs, create nixos container for each + networking.nat = { + enable = true; + internalInterfaces = [ "ve-+" ]; + externalInterface = "ens18"; + # Lazy IPv6 connectivity for the container + enableIPv6 = true; + + forwardPorts = [ + + ]; + }; + + # Containers network is + # * 10.42.99.0/24 + # * fc00:x + + containers = { + + }; +} diff --git a/hosts/olympus/bastion/default.nix b/hosts/olympus/bastion/default.nix new file mode 100644 index 00000000..a6b2908a --- /dev/null +++ b/hosts/olympus/bastion/default.nix @@ -0,0 +1,38 @@ +# Edit this configuration file to define what should be installed on +# your system. Help is available in the configuration.nix(5) man page +# and in the NixOS manual (accessible by running ‘nixos-help’). + +{ pkgs, ... }: { + imports = [ + # Include the results of the hardware scan. + ./hardware-configuration.nix + ./containers + # ./vms.nix + ]; + + programs.nix-ld.enable = true; + + # Use the GRUB 2 boot loader. + boot.loader.grub.enable = true; + boot.loader.grub.device = "/dev/sda"; + + # 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 + # 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 = "22.11"; # Did you read the comment? + + virtualisation.podman.enable = true; + + # Additional packages + environment.systemPackages = with pkgs; [ vault ]; + + networking.useNetworkd = true; + + programs.gnupg.agent = { + enable = true; + pinentryFlavor = "curses"; + }; +} diff --git a/hosts/olympus/bastion/hardware-configuration.nix b/hosts/olympus/bastion/hardware-configuration.nix new file mode 100644 index 00000000..be7d9923 --- /dev/null +++ b/hosts/olympus/bastion/hardware-configuration.nix @@ -0,0 +1,25 @@ +# 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. +{ modulesPath, ... }: + +{ + imports = [ (modulesPath + "/profiles/qemu-guest.nix") ]; + boot = { + + initrd.availableKernelModules = + [ "ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ]; + initrd.kernelModules = [ ]; + kernelModules = [ ]; + extraModulePackages = [ ]; + }; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/e8427097-8545-4924-b033-2659fcf9adca"; + fsType = "ext4"; + }; + + swapDevices = + [{ device = "/dev/disk/by-uuid/63d90b92-cdde-4795-a3ab-9566ae88f43d"; }]; + +} diff --git a/hosts/olympus/bastion/vms.nix b/hosts/olympus/bastion/vms.nix new file mode 100644 index 00000000..6f8a57fc --- /dev/null +++ b/hosts/olympus/bastion/vms.nix @@ -0,0 +1,32 @@ +{ config, pkgs, inputs, ... }: { + imports = [ + inputs.microvm.nixosModules.host + ]; + + microvm.vms = { + test-vm = { + inherit pkgs; + + # (Optional) A set of special arguments to be passed to the MicroVM's NixOS modules. + #specialArgs = {}; + + # The configuration for the MicroVM. + # Multiple definitions will be merged as expected. + config = { + # It is highly recommended to share the host's nix-store + # with the VMs to prevent building huge images. + microvm.hypervisor = "crosvm"; + microvm.shares = [{ + source = "/nix/store"; + mountPoint = "/nix/.ro-store"; + tag = "ro-store"; + proto = "virtiofs"; + }]; + + # Any other configuration for your MicroVM + # [...] + }; + + }; + }; +} From e913bd96d5b9fd04fa8b73c85f14c66dc05b1d4e Mon Sep 17 00:00:00 2001 From: Vivian Date: Wed, 3 Jan 2024 11:36:37 +0100 Subject: [PATCH 02/88] add hm --- common/default.nix | 12 ++ common/hm-modules/catppuccin.nix | 40 +++++ common/hm-modules/default.nix | 3 + common/hm-modules/git.nix | 31 ++++ common/hm-modules/nvim.nix | 190 ++++++++++++++++++++ common/hm-modules/riff.nix | 28 +++ common/hm-modules/rust.nix | 26 +++ common/hm-modules/vscode.nix | 79 ++++++++ {nixos/common => common}/users/default.nix | 0 {nixos/common => common}/users/jonathan.nix | 0 {nixos/common => common}/users/laura.nix | 0 {nixos/common => common}/users/vivian.nix | 1 - 12 files changed, 409 insertions(+), 1 deletion(-) create mode 100644 common/hm-modules/catppuccin.nix create mode 100644 common/hm-modules/default.nix create mode 100644 common/hm-modules/git.nix create mode 100644 common/hm-modules/nvim.nix create mode 100644 common/hm-modules/riff.nix create mode 100644 common/hm-modules/rust.nix create mode 100644 common/hm-modules/vscode.nix rename {nixos/common => common}/users/default.nix (100%) rename {nixos/common => common}/users/jonathan.nix (100%) rename {nixos/common => common}/users/laura.nix (100%) rename {nixos/common => common}/users/vivian.nix (99%) diff --git a/common/default.nix b/common/default.nix index cc9e7ed6..fadb2491 100644 --- a/common/default.nix +++ b/common/default.nix @@ -1,4 +1,16 @@ { lib, inputs, pkgs, ... }: { + imports = [ + inputs.home-manager.nixosModules.home-manager + ./users + ]; + + home-manager = { + useGlobalPkgs = true; + useUserPackages = true; + extraSpecialArgs = { inherit inputs; }; + sharedModules = [ ./hm-modules inputs.nixvim.homeManagerModules.nixvim ]; + }; + virtualisation.oci-containers.backend = lib.mkDefault "podman"; # Set your time zone. diff --git a/common/hm-modules/catppuccin.nix b/common/hm-modules/catppuccin.nix new file mode 100644 index 00000000..68c7191e --- /dev/null +++ b/common/hm-modules/catppuccin.nix @@ -0,0 +1,40 @@ +{ config, pkgs, lib, ... }: +with lib; +let cfg = config.themes.v.catppuccin; +in { + options.themes.v.catppuccin = { enable = mkEnableOption "catppuccin"; }; + config = + let + theme = "Catppuccin-Pink-Dark"; + cursorTheme = config.home.pointerCursor.name; + in + mkIf cfg.enable { + home.pointerCursor = { + name = "Bibata_Ghost"; + size = 24; + package = pkgs.bibata-cursors-translucent; + }; + + gtk = { + enable = true; + theme = { + name = theme; + package = pkgs.catppuccin-gtk; + }; + iconTheme = { + name = "Papirus-Dark"; + package = pkgs.papirus-icon-theme.override { color = "violet"; }; + }; + cursorTheme = { + name = cursorTheme; + inherit (config.home.pointerCursor) package size; + }; + }; + + programs.vscode = { + userSettings."workbench.colorTheme" = "Catppuccin Frappé"; + extensions = [ pkgs.vscode-extensions.catppuccin.catppuccin-vsc ]; + }; + }; +} + diff --git a/common/hm-modules/default.nix b/common/hm-modules/default.nix new file mode 100644 index 00000000..2dbbe8f1 --- /dev/null +++ b/common/hm-modules/default.nix @@ -0,0 +1,3 @@ +{ ... }: { + imports = [ ./catppuccin.nix ./nvim.nix ./riff.nix ./vscode.nix ./git.nix ./rust.nix ]; +} diff --git a/common/hm-modules/git.nix b/common/hm-modules/git.nix new file mode 100644 index 00000000..febbd3b1 --- /dev/null +++ b/common/hm-modules/git.nix @@ -0,0 +1,31 @@ +{ config, pkgs, lib, ... }: +with lib; +let cfg = config.programs.v.git; +in { + options.programs.v.git = { enable = mkEnableOption "git"; }; + config = mkIf cfg.enable { + programs.git = { + enable = true; + package = pkgs.gitAndTools.gitFull; + userName = "Vivian"; + userEmail = "vivian@0x76.dev"; + lfs.enable = true; + extraConfig = { + push.autoSetupRemote = true; + init.defaultBranch = "main"; + # Git merge driver that always grabs upstream changes + # Useful for e.g. lock files + merge.ours = { + name = "Overwrite Upstream Changes"; + driver = "cp -f '%A' '%B'"; + }; + }; + + difftastic.enable = true; + }; + + home.file.".config/git/attributes".text = '' + flake.lock merge=ours + ''; + }; +} diff --git a/common/hm-modules/nvim.nix b/common/hm-modules/nvim.nix new file mode 100644 index 00000000..71723246 --- /dev/null +++ b/common/hm-modules/nvim.nix @@ -0,0 +1,190 @@ +{ config, pkgs, lib, ... }: +let cfg = config.programs.v.nvim; +in with lib; { + options.programs.v.nvim = { enable = mkEnableOption "nvim"; }; + config = mkIf cfg.enable { + programs.nixvim = { + enable = true; + package = pkgs.neovim-unwrapped; + vimAlias = true; + luaLoader.enable = true; + + globals.mapleader = " "; + + options.number = true; + + clipboard = { providers.wl-copy.enable = true; }; + + keymaps = [ + { + mode = "n"; + key = "ff"; + action = "require('telescope.builtin').find_files"; + lua = true; + } + { + mode = "n"; + key = "fg"; + action = "require('telescope.builtin').live_grep"; + lua = true; + } + { + mode = "n"; + key = ""; + action = "require('Comment.api').toggle.linewise.current"; + lua = true; + } + { + mode = "x"; + key = ""; + action = '' + function() + local esc = vim.api.nvim_replace_termcodes( + '', true, false, true + ) + vim.api.nvim_feedkeys(esc, 'nx', false) + require('Comment.api').toggle.linewise(vim.fn.visualmode()) + end + ''; + lua = true; + } + { + mode = "n"; + key = "g="; + action = "vim.lsp.buf.format"; + lua = true; + } + { + mode = "n"; + key = "t"; + action = ":FloatermToggle myfloat"; + } + { + mode = "t"; + key = ""; + action = "function() vim.cmd(':FloatermToggle myfloat') end"; + lua = true; + } + ]; + + extraPlugins = with pkgs.vimPlugins; [ + FixCursorHold-nvim + luasnip + plenary-nvim + neotest + neotest-plenary + neotest-rust + ]; + + colorschemes.catppuccin = { + enable = true; + flavour = "frappe"; + }; + + extraConfigLua = '' + require("neotest").setup({ + adapters = { + require("neotest-plenary"), + require("neotest-rust") { + args = { "--no-capture" }, + } + }, + }) + ''; + + plugins = { + bufferline.enable = true; + none-ls = { + enable = true; + sources = { + formatting.nixpkgs_fmt.enable = true; + code_actions.shellcheck.enable = true; + code_actions.statix.enable = true; + diagnostics = { + statix.enable = true; + deadnix.enable = true; + shellcheck.enable = true; + }; + }; + }; + nix.enable = true; + treesitter = { + enable = true; + nixGrammars = true; + disabledLanguages = [ "latex" ]; + }; + surround.enable = true; + fugitive.enable = true; + gitgutter.enable = true; + lualine = { + enable = true; + theme = "catppuccin"; + }; + telescope = { + enable = true; + extensions.fzf-native.enable = true; + extensions.fzf-native.fuzzy = true; + }; + comment-nvim = { enable = true; }; + lsp = { + enable = true; + servers = { + nil_ls.enable = true; + rust-analyzer = { + installCargo = false; + installRustc = false; + }; + pyright.enable = true; + elixirls.enable = true; + clangd.enable = true; + yamlls.enable = true; + }; + }; + trouble.enable = true; + lspkind.enable = true; + + vimtex.enable = true; + + floaterm.enable = true; + + nvim-cmp = { + enable = true; + autoEnableSources = true; + sources = [ + { name = "nvim_lsp"; } + { + name = "luasnip"; + option = { show_autosnippets = true; }; + } + { name = "cmp-spell"; } + { name = "cmp-rg"; } + { name = "path"; } + { name = "buffer"; } + ]; + snippet.expand = "luasnip"; + mappingPresets = [ "insert" "cmdline" ]; + mapping = { + "" = "cmp.mapping.confirm({ select = true })"; + "" = { + modes = [ "i" "s" ]; + action = '' + function(fallback) + local luasnip = require('luasnip') + if cmp.visible() then + cmp.select_next_item() + elseif luasnip.expandable() then + luasnip.expand() + elseif luasnip.expand_or_jumpable() then + luasnip.expand_or_jump() + else + fallback() + end + end + ''; + }; + }; + }; + }; + }; + }; +} diff --git a/common/hm-modules/riff.nix b/common/hm-modules/riff.nix new file mode 100644 index 00000000..509a782d --- /dev/null +++ b/common/hm-modules/riff.nix @@ -0,0 +1,28 @@ +{ config, pkgs, lib, inputs, ... }: +with lib; +let cfg = config.programs.riff; +in { + options.programs.riff = { + enable = mkEnableOption "riff"; + direnv = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable direnv support + ''; + }; + }; + config = mkIf cfg.enable { + home.packages = [ inputs.riff.packages.${pkgs.system}.riff ]; + + xdg.configFile."direnv/lib/riff.sh" = mkIf cfg.direnv { + executable = true; + text = '' + use_riff() { + watch_file Cargo.toml watch_file Cargo.lock + eval "$(riff --offline print-dev-env)" + } + ''; + }; + }; +} diff --git a/common/hm-modules/rust.nix b/common/hm-modules/rust.nix new file mode 100644 index 00000000..f489bd31 --- /dev/null +++ b/common/hm-modules/rust.nix @@ -0,0 +1,26 @@ +{ pkgs, lib, config, ... }: +with lib; +let cfg = config.programs.v.rust; +in { + options.programs.v.rust = { enable = mkEnableOption "rust"; }; + config = mkIf cfg.enable { + home = { + packages = with pkgs; [ rustup cargo-nextest cargo-msrv cargo-dist cargo-cross]; + + file = { + ".cargo/config.toml".text = '' + [registries.crates-io] + protocol = "sparse" + + [build] + rustc-wrapper = "${pkgs.sccache}/bin/sccache" + + [profile.rust-analyzer] + inherits = "dev" + ''; + }; + + sessionPath = [ "$HOME/.cargo/bin" ]; + }; + }; +} diff --git a/common/hm-modules/vscode.nix b/common/hm-modules/vscode.nix new file mode 100644 index 00000000..1cc5dd91 --- /dev/null +++ b/common/hm-modules/vscode.nix @@ -0,0 +1,79 @@ +{ config, pkgs, lib, ... }: +with lib; +let cfg = config.programs.v.vscode; +in { + options.programs.v.vscode = { enable = mkEnableOption "vscode"; }; + config = mkIf cfg.enable { + programs.vscode = { + enable = true; + package = pkgs.vscode; + userSettings = { + "ltex.language" = "en-GB"; + "latex-workshop.linting.chktex.enabled" = true; + "latex-workshop.latex.clean.subfolder.enabled" = true; + "latex-workshop.latex.outDir" = "%TMPDIR%/%RELATIVE_DOC%"; + "editor.fontFamily" = + "'DejaVuSansMono Nerd Font', 'monospace', monospace"; + "keyboard.dispatch" = "keyCode"; + "rust-analyzer.server.path" = "${pkgs.rust-analyzer}/bin/rust-analyzer"; + "rust-analyzer.check.extraArgs" = ["--profile" "rust-analyzer"]; + "rust-analyzer.check.command" = "clippy"; + "terminal.integrated.defaultProfile.linux" = "zsh"; + "nix.enableLanguageServer" = true; # Enable LSP. + "nix.serverPath" = "${pkgs.nil}/bin/nil"; + "[nix]" = { "editor.defaultFormatter" = "brettm12345.nixfmt-vscode"; }; + "[python]" = { "editor.formatOnType" = true; }; + "debug.allowBreakpointsEverywhere" = true; + "C_Cpp.clang_format_fallbackStyle" = + "{ BasedOnStyle: Google, IndentWidth: 4, ColumnLimit: 0}"; + "crates.compatibleDecorator" = "✓"; + "crates.errorDecorator" = "✗"; + "crates.incompatibleDecorator" = "🛇"; + # Don't index unecessary things + "files.exclude" = { + "**/.vscode" = true; + "**/.git" = true; + "**/.svn" = true; + "**/.hg" = true; + "**/.deps" = true; + "**/CVS" = true; + "**/.DS_Store" = true; + "/bin" = true; + "/boot" = true; + "/cdrom" = true; + "/dev" = true; + "/proc" = true; + "/etc" = true; + "/nix" = true; + }; + }; + extensions = with pkgs.vscode-extensions; + with pkgs.v.vscode-extensions; [ + brettm12345.nixfmt-vscode + codezombiech.gitignore + editorconfig.editorconfig + foxundermoon.shell-format + james-yu.latex-workshop + jnoortheen.nix-ide + matklad.rust-analyzer + mkhl.direnv + ms-vscode-remote.remote-ssh + ms-vscode.cpptools + platformio.platformio-ide + redhat.vscode-yaml + redhat.vscode-xml + tamasfe.even-better-toml + valentjn.vscode-ltex + vscodevim.vim + vadimcn.vscode-lldb + xaver.clang-format + sumneko.lua + davidlday.languagetool-linter + serayuzgur.crates + skellock.just + ]; + }; + + }; +} + diff --git a/nixos/common/users/default.nix b/common/users/default.nix similarity index 100% rename from nixos/common/users/default.nix rename to common/users/default.nix diff --git a/nixos/common/users/jonathan.nix b/common/users/jonathan.nix similarity index 100% rename from nixos/common/users/jonathan.nix rename to common/users/jonathan.nix diff --git a/nixos/common/users/laura.nix b/common/users/laura.nix similarity index 100% rename from nixos/common/users/laura.nix rename to common/users/laura.nix diff --git a/nixos/common/users/vivian.nix b/common/users/vivian.nix similarity index 99% rename from nixos/common/users/vivian.nix rename to common/users/vivian.nix index a625a247..862ff070 100644 --- a/nixos/common/users/vivian.nix +++ b/common/users/vivian.nix @@ -41,6 +41,5 @@ homeDirectory = "/home/vivian"; stateVersion = "23.05"; }; - }; } From 23aa68d0fa76e264548b32cd1bece24f736e799b Mon Sep 17 00:00:00 2001 From: Vivian Date: Wed, 3 Jan 2024 11:40:31 +0100 Subject: [PATCH 03/88] add modules --- common/default.nix | 1 + {nixos/common => common}/generic-vm.nix | 4 ++-- {nixos/common => common}/modules/default.nix | 0 {nixos/common => common}/modules/dns.nix | 0 {nixos/common => common}/modules/flood.nix | 0 {nixos/common => common}/modules/gnome/default.nix | 0 {nixos/common => common}/modules/gnome/hm.nix | 0 {nixos/common => common}/modules/meta.nix | 0 {nixos/common => common}/modules/nginx.nix | 0 {nixos/common => common}/modules/unpackerr.nix | 0 {nixos/common => common}/modules/vault.nix | 0 flake.nix | 2 +- 12 files changed, 4 insertions(+), 3 deletions(-) rename {nixos/common => common}/generic-vm.nix (53%) rename {nixos/common => common}/modules/default.nix (100%) rename {nixos/common => common}/modules/dns.nix (100%) rename {nixos/common => common}/modules/flood.nix (100%) rename {nixos/common => common}/modules/gnome/default.nix (100%) rename {nixos/common => common}/modules/gnome/hm.nix (100%) rename {nixos/common => common}/modules/meta.nix (100%) rename {nixos/common => common}/modules/nginx.nix (100%) rename {nixos/common => common}/modules/unpackerr.nix (100%) rename {nixos/common => common}/modules/vault.nix (100%) diff --git a/common/default.nix b/common/default.nix index fadb2491..70b097b5 100644 --- a/common/default.nix +++ b/common/default.nix @@ -2,6 +2,7 @@ imports = [ inputs.home-manager.nixosModules.home-manager ./users + ./modules ]; home-manager = { diff --git a/nixos/common/generic-vm.nix b/common/generic-vm.nix similarity index 53% rename from nixos/common/generic-vm.nix rename to common/generic-vm.nix index 086bf638..739762f8 100644 --- a/nixos/common/generic-vm.nix +++ b/common/generic-vm.nix @@ -1,5 +1,5 @@ -_: { - networking.useDHCP = true; +{ lib, ... }: { + networking.useDHCP = lib.mkDefault true; # Enable qemu guest agent services.qemuGuest.enable = true; diff --git a/nixos/common/modules/default.nix b/common/modules/default.nix similarity index 100% rename from nixos/common/modules/default.nix rename to common/modules/default.nix diff --git a/nixos/common/modules/dns.nix b/common/modules/dns.nix similarity index 100% rename from nixos/common/modules/dns.nix rename to common/modules/dns.nix diff --git a/nixos/common/modules/flood.nix b/common/modules/flood.nix similarity index 100% rename from nixos/common/modules/flood.nix rename to common/modules/flood.nix diff --git a/nixos/common/modules/gnome/default.nix b/common/modules/gnome/default.nix similarity index 100% rename from nixos/common/modules/gnome/default.nix rename to common/modules/gnome/default.nix diff --git a/nixos/common/modules/gnome/hm.nix b/common/modules/gnome/hm.nix similarity index 100% rename from nixos/common/modules/gnome/hm.nix rename to common/modules/gnome/hm.nix diff --git a/nixos/common/modules/meta.nix b/common/modules/meta.nix similarity index 100% rename from nixos/common/modules/meta.nix rename to common/modules/meta.nix diff --git a/nixos/common/modules/nginx.nix b/common/modules/nginx.nix similarity index 100% rename from nixos/common/modules/nginx.nix rename to common/modules/nginx.nix diff --git a/nixos/common/modules/unpackerr.nix b/common/modules/unpackerr.nix similarity index 100% rename from nixos/common/modules/unpackerr.nix rename to common/modules/unpackerr.nix diff --git a/nixos/common/modules/vault.nix b/common/modules/vault.nix similarity index 100% rename from nixos/common/modules/vault.nix rename to common/modules/vault.nix diff --git a/flake.nix b/flake.nix index b28b77e3..386a4e6a 100644 --- a/flake.nix +++ b/flake.nix @@ -83,7 +83,7 @@ nixosConfigurations."bastion.olympus" = lib.nixosSystem { inherit system pkgs; specialArgs = { inherit inputs; }; - modules = [ ./common ./hosts/olympus/bastion ]; + modules = [ ./common ./common/generic-vm.nix ./hosts/olympus/bastion ]; }; deploy = { From 26f8150f49f8f2917196508094a9f43af72c8a76 Mon Sep 17 00:00:00 2001 From: Vivian Date: Wed, 3 Jan 2024 11:41:04 +0100 Subject: [PATCH 04/88] move common completely --- {nixos/common => common}/desktop/README.md | 0 {nixos/common => common}/desktop/default.nix | 0 {nixos/common => common}/desktop/home.nix | 0 nixos/common/default.nix | 106 ----------- nixos/common/generic-lxc.nix | 13 -- nixos/common/hm-modules/catppuccin.nix | 40 ---- nixos/common/hm-modules/default.nix | 3 - nixos/common/hm-modules/git.nix | 31 --- nixos/common/hm-modules/nvim.nix | 190 ------------------- nixos/common/hm-modules/riff.nix | 28 --- nixos/common/hm-modules/rust.nix | 26 --- nixos/common/hm-modules/vscode.nix | 79 -------- 12 files changed, 516 deletions(-) rename {nixos/common => common}/desktop/README.md (100%) rename {nixos/common => common}/desktop/default.nix (100%) rename {nixos/common => common}/desktop/home.nix (100%) delete mode 100644 nixos/common/default.nix delete mode 100644 nixos/common/generic-lxc.nix delete mode 100644 nixos/common/hm-modules/catppuccin.nix delete mode 100644 nixos/common/hm-modules/default.nix delete mode 100644 nixos/common/hm-modules/git.nix delete mode 100644 nixos/common/hm-modules/nvim.nix delete mode 100644 nixos/common/hm-modules/riff.nix delete mode 100644 nixos/common/hm-modules/rust.nix delete mode 100644 nixos/common/hm-modules/vscode.nix diff --git a/nixos/common/desktop/README.md b/common/desktop/README.md similarity index 100% rename from nixos/common/desktop/README.md rename to common/desktop/README.md diff --git a/nixos/common/desktop/default.nix b/common/desktop/default.nix similarity index 100% rename from nixos/common/desktop/default.nix rename to common/desktop/default.nix diff --git a/nixos/common/desktop/home.nix b/common/desktop/home.nix similarity index 100% rename from nixos/common/desktop/home.nix rename to common/desktop/home.nix diff --git a/nixos/common/default.nix b/nixos/common/default.nix deleted file mode 100644 index 50e28ef5..00000000 --- a/nixos/common/default.nix +++ /dev/null @@ -1,106 +0,0 @@ -{ lib, pkgs, inputs, config, ... }: { - imports = - [ ./users ./modules inputs.vault-secrets.nixosModules.vault-secrets ]; - - vault-secrets = - let - inherit (config.networking) domain hostName; - server = if domain == "olympus" then "vault" else "vault-0"; - in - lib.mkIf (domain == "olympus" || domain == "hades") { - vaultPrefix = "${domain}_secrets/nixos"; - vaultAddress = "http://${server}.${domain}:8200/"; - approlePrefix = "${domain}-${hostName}"; - }; - - home-manager = { - useGlobalPkgs = true; - useUserPackages = true; - extraSpecialArgs = { inherit inputs; }; - sharedModules = [ ./hm-modules inputs.nixvim.homeManagerModules.nixvim ]; - }; - - virtualisation.oci-containers.backend = lib.mkDefault "podman"; - - # Clean /tmp on boot. - boot.tmp.cleanOnBoot = true; - - # Set your time zone. - time.timeZone = lib.mkDefault "Europe/Amsterdam"; - - # Systemd OOMd - # Fedora enables these options by default. See the 10-oomd-* files here: - # https://src.fedoraproject.org/rpms/systemd/tree/acb90c49c42276b06375a66c73673ac3510255 - systemd.oomd = { - enableRootSlice = true; - enableUserServices = true; - }; - - # security.polkit.enable = lib.mkDefault true; - boot.tmp.useTmpfs = lib.mkDefault true; - - # Nix Settings - nix = { - registry.nixpkgs.flake = inputs.nixpkgs; - nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; - package = pkgs.nixUnstable; - settings = { - auto-optimise-store = true; - trusted-users = [ "root" "vivian" ]; - substituters = [ - "https://nix-community.cachix.org" - "https://nixpkgs-review-bot.cachix.org" - "https://colmena.cachix.org" - # "https://cache.garnix.io" - "https://cachix.cachix.org" - ]; - trusted-public-keys = [ - "cachix.cachix.org-1:eWNHQldwUO7G2VkjpnjDbWwy4KQ/HNxht7H4SSoMckM=" - "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" - "nixpkgs-review-bot.cachix.org-1:eppgiDjPk7Hkzzz7XlUesk3rcEHqNDozGOrcLc8IqwE=" - "colmena.cachix.org-1:7BzpDnjjH8ki2CT3f6GdOk7QAzPOl+1t3LvTLXqYcSg=" - # "cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g=" - ]; - }; - optimise = { - automatic = true; - dates = [ "weekly" ]; - }; - gc = { - automatic = true; - dates = "weekly"; - randomizedDelaySec = "3h"; - options = "--delete-older-than 7d"; - }; - extraOptions = '' - experimental-features = nix-command flakes - ''; - }; - - nixpkgs.config.allowUnfree = true; - - # Limit the systemd journal to 100 MB of disk or the - # last 7 days of logs, whichever happens first. - services.journald.extraConfig = '' - SystemMaxUse=100M - MaxFileSec=7day - ''; - - # Enable SSH - services.openssh = { - enable = true; - settings = { - PasswordAuthentication = lib.mkDefault false; - PermitRootLogin = lib.mkDefault "no"; - }; - }; - - # Debloat - documentation = { - enable = lib.mkForce false; - doc.enable = lib.mkForce false; - man.enable = lib.mkForce false; - info.enable = lib.mkForce false; - nixos.enable = lib.mkForce false; - }; -} diff --git a/nixos/common/generic-lxc.nix b/nixos/common/generic-lxc.nix deleted file mode 100644 index 98749442..00000000 --- a/nixos/common/generic-lxc.nix +++ /dev/null @@ -1,13 +0,0 @@ -_: { - # See also: https://blog.xirion.net/posts/nixos-proxmox-lxc/ - - # Supress systemd services that don't work (correctly) on LXC - systemd.suppressedSystemUnits = [ - "dev-mqueue.mount" - "sys-kernel-debug.mount" - "sys-fs-fuse-connections.mount" - ]; - - # https://github.com/NixOS/nixpkgs/issues/157449#issuecomment-1459299764 - boot.specialFileSystems."/run".options = [ "rshared" ]; -} diff --git a/nixos/common/hm-modules/catppuccin.nix b/nixos/common/hm-modules/catppuccin.nix deleted file mode 100644 index 68c7191e..00000000 --- a/nixos/common/hm-modules/catppuccin.nix +++ /dev/null @@ -1,40 +0,0 @@ -{ config, pkgs, lib, ... }: -with lib; -let cfg = config.themes.v.catppuccin; -in { - options.themes.v.catppuccin = { enable = mkEnableOption "catppuccin"; }; - config = - let - theme = "Catppuccin-Pink-Dark"; - cursorTheme = config.home.pointerCursor.name; - in - mkIf cfg.enable { - home.pointerCursor = { - name = "Bibata_Ghost"; - size = 24; - package = pkgs.bibata-cursors-translucent; - }; - - gtk = { - enable = true; - theme = { - name = theme; - package = pkgs.catppuccin-gtk; - }; - iconTheme = { - name = "Papirus-Dark"; - package = pkgs.papirus-icon-theme.override { color = "violet"; }; - }; - cursorTheme = { - name = cursorTheme; - inherit (config.home.pointerCursor) package size; - }; - }; - - programs.vscode = { - userSettings."workbench.colorTheme" = "Catppuccin Frappé"; - extensions = [ pkgs.vscode-extensions.catppuccin.catppuccin-vsc ]; - }; - }; -} - diff --git a/nixos/common/hm-modules/default.nix b/nixos/common/hm-modules/default.nix deleted file mode 100644 index 2dbbe8f1..00000000 --- a/nixos/common/hm-modules/default.nix +++ /dev/null @@ -1,3 +0,0 @@ -{ ... }: { - imports = [ ./catppuccin.nix ./nvim.nix ./riff.nix ./vscode.nix ./git.nix ./rust.nix ]; -} diff --git a/nixos/common/hm-modules/git.nix b/nixos/common/hm-modules/git.nix deleted file mode 100644 index febbd3b1..00000000 --- a/nixos/common/hm-modules/git.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ config, pkgs, lib, ... }: -with lib; -let cfg = config.programs.v.git; -in { - options.programs.v.git = { enable = mkEnableOption "git"; }; - config = mkIf cfg.enable { - programs.git = { - enable = true; - package = pkgs.gitAndTools.gitFull; - userName = "Vivian"; - userEmail = "vivian@0x76.dev"; - lfs.enable = true; - extraConfig = { - push.autoSetupRemote = true; - init.defaultBranch = "main"; - # Git merge driver that always grabs upstream changes - # Useful for e.g. lock files - merge.ours = { - name = "Overwrite Upstream Changes"; - driver = "cp -f '%A' '%B'"; - }; - }; - - difftastic.enable = true; - }; - - home.file.".config/git/attributes".text = '' - flake.lock merge=ours - ''; - }; -} diff --git a/nixos/common/hm-modules/nvim.nix b/nixos/common/hm-modules/nvim.nix deleted file mode 100644 index 71723246..00000000 --- a/nixos/common/hm-modules/nvim.nix +++ /dev/null @@ -1,190 +0,0 @@ -{ config, pkgs, lib, ... }: -let cfg = config.programs.v.nvim; -in with lib; { - options.programs.v.nvim = { enable = mkEnableOption "nvim"; }; - config = mkIf cfg.enable { - programs.nixvim = { - enable = true; - package = pkgs.neovim-unwrapped; - vimAlias = true; - luaLoader.enable = true; - - globals.mapleader = " "; - - options.number = true; - - clipboard = { providers.wl-copy.enable = true; }; - - keymaps = [ - { - mode = "n"; - key = "ff"; - action = "require('telescope.builtin').find_files"; - lua = true; - } - { - mode = "n"; - key = "fg"; - action = "require('telescope.builtin').live_grep"; - lua = true; - } - { - mode = "n"; - key = ""; - action = "require('Comment.api').toggle.linewise.current"; - lua = true; - } - { - mode = "x"; - key = ""; - action = '' - function() - local esc = vim.api.nvim_replace_termcodes( - '', true, false, true - ) - vim.api.nvim_feedkeys(esc, 'nx', false) - require('Comment.api').toggle.linewise(vim.fn.visualmode()) - end - ''; - lua = true; - } - { - mode = "n"; - key = "g="; - action = "vim.lsp.buf.format"; - lua = true; - } - { - mode = "n"; - key = "t"; - action = ":FloatermToggle myfloat"; - } - { - mode = "t"; - key = ""; - action = "function() vim.cmd(':FloatermToggle myfloat') end"; - lua = true; - } - ]; - - extraPlugins = with pkgs.vimPlugins; [ - FixCursorHold-nvim - luasnip - plenary-nvim - neotest - neotest-plenary - neotest-rust - ]; - - colorschemes.catppuccin = { - enable = true; - flavour = "frappe"; - }; - - extraConfigLua = '' - require("neotest").setup({ - adapters = { - require("neotest-plenary"), - require("neotest-rust") { - args = { "--no-capture" }, - } - }, - }) - ''; - - plugins = { - bufferline.enable = true; - none-ls = { - enable = true; - sources = { - formatting.nixpkgs_fmt.enable = true; - code_actions.shellcheck.enable = true; - code_actions.statix.enable = true; - diagnostics = { - statix.enable = true; - deadnix.enable = true; - shellcheck.enable = true; - }; - }; - }; - nix.enable = true; - treesitter = { - enable = true; - nixGrammars = true; - disabledLanguages = [ "latex" ]; - }; - surround.enable = true; - fugitive.enable = true; - gitgutter.enable = true; - lualine = { - enable = true; - theme = "catppuccin"; - }; - telescope = { - enable = true; - extensions.fzf-native.enable = true; - extensions.fzf-native.fuzzy = true; - }; - comment-nvim = { enable = true; }; - lsp = { - enable = true; - servers = { - nil_ls.enable = true; - rust-analyzer = { - installCargo = false; - installRustc = false; - }; - pyright.enable = true; - elixirls.enable = true; - clangd.enable = true; - yamlls.enable = true; - }; - }; - trouble.enable = true; - lspkind.enable = true; - - vimtex.enable = true; - - floaterm.enable = true; - - nvim-cmp = { - enable = true; - autoEnableSources = true; - sources = [ - { name = "nvim_lsp"; } - { - name = "luasnip"; - option = { show_autosnippets = true; }; - } - { name = "cmp-spell"; } - { name = "cmp-rg"; } - { name = "path"; } - { name = "buffer"; } - ]; - snippet.expand = "luasnip"; - mappingPresets = [ "insert" "cmdline" ]; - mapping = { - "" = "cmp.mapping.confirm({ select = true })"; - "" = { - modes = [ "i" "s" ]; - action = '' - function(fallback) - local luasnip = require('luasnip') - if cmp.visible() then - cmp.select_next_item() - elseif luasnip.expandable() then - luasnip.expand() - elseif luasnip.expand_or_jumpable() then - luasnip.expand_or_jump() - else - fallback() - end - end - ''; - }; - }; - }; - }; - }; - }; -} diff --git a/nixos/common/hm-modules/riff.nix b/nixos/common/hm-modules/riff.nix deleted file mode 100644 index 509a782d..00000000 --- a/nixos/common/hm-modules/riff.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ config, pkgs, lib, inputs, ... }: -with lib; -let cfg = config.programs.riff; -in { - options.programs.riff = { - enable = mkEnableOption "riff"; - direnv = mkOption { - type = types.bool; - default = false; - description = '' - Whether to enable direnv support - ''; - }; - }; - config = mkIf cfg.enable { - home.packages = [ inputs.riff.packages.${pkgs.system}.riff ]; - - xdg.configFile."direnv/lib/riff.sh" = mkIf cfg.direnv { - executable = true; - text = '' - use_riff() { - watch_file Cargo.toml watch_file Cargo.lock - eval "$(riff --offline print-dev-env)" - } - ''; - }; - }; -} diff --git a/nixos/common/hm-modules/rust.nix b/nixos/common/hm-modules/rust.nix deleted file mode 100644 index f489bd31..00000000 --- a/nixos/common/hm-modules/rust.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ pkgs, lib, config, ... }: -with lib; -let cfg = config.programs.v.rust; -in { - options.programs.v.rust = { enable = mkEnableOption "rust"; }; - config = mkIf cfg.enable { - home = { - packages = with pkgs; [ rustup cargo-nextest cargo-msrv cargo-dist cargo-cross]; - - file = { - ".cargo/config.toml".text = '' - [registries.crates-io] - protocol = "sparse" - - [build] - rustc-wrapper = "${pkgs.sccache}/bin/sccache" - - [profile.rust-analyzer] - inherits = "dev" - ''; - }; - - sessionPath = [ "$HOME/.cargo/bin" ]; - }; - }; -} diff --git a/nixos/common/hm-modules/vscode.nix b/nixos/common/hm-modules/vscode.nix deleted file mode 100644 index 1cc5dd91..00000000 --- a/nixos/common/hm-modules/vscode.nix +++ /dev/null @@ -1,79 +0,0 @@ -{ config, pkgs, lib, ... }: -with lib; -let cfg = config.programs.v.vscode; -in { - options.programs.v.vscode = { enable = mkEnableOption "vscode"; }; - config = mkIf cfg.enable { - programs.vscode = { - enable = true; - package = pkgs.vscode; - userSettings = { - "ltex.language" = "en-GB"; - "latex-workshop.linting.chktex.enabled" = true; - "latex-workshop.latex.clean.subfolder.enabled" = true; - "latex-workshop.latex.outDir" = "%TMPDIR%/%RELATIVE_DOC%"; - "editor.fontFamily" = - "'DejaVuSansMono Nerd Font', 'monospace', monospace"; - "keyboard.dispatch" = "keyCode"; - "rust-analyzer.server.path" = "${pkgs.rust-analyzer}/bin/rust-analyzer"; - "rust-analyzer.check.extraArgs" = ["--profile" "rust-analyzer"]; - "rust-analyzer.check.command" = "clippy"; - "terminal.integrated.defaultProfile.linux" = "zsh"; - "nix.enableLanguageServer" = true; # Enable LSP. - "nix.serverPath" = "${pkgs.nil}/bin/nil"; - "[nix]" = { "editor.defaultFormatter" = "brettm12345.nixfmt-vscode"; }; - "[python]" = { "editor.formatOnType" = true; }; - "debug.allowBreakpointsEverywhere" = true; - "C_Cpp.clang_format_fallbackStyle" = - "{ BasedOnStyle: Google, IndentWidth: 4, ColumnLimit: 0}"; - "crates.compatibleDecorator" = "✓"; - "crates.errorDecorator" = "✗"; - "crates.incompatibleDecorator" = "🛇"; - # Don't index unecessary things - "files.exclude" = { - "**/.vscode" = true; - "**/.git" = true; - "**/.svn" = true; - "**/.hg" = true; - "**/.deps" = true; - "**/CVS" = true; - "**/.DS_Store" = true; - "/bin" = true; - "/boot" = true; - "/cdrom" = true; - "/dev" = true; - "/proc" = true; - "/etc" = true; - "/nix" = true; - }; - }; - extensions = with pkgs.vscode-extensions; - with pkgs.v.vscode-extensions; [ - brettm12345.nixfmt-vscode - codezombiech.gitignore - editorconfig.editorconfig - foxundermoon.shell-format - james-yu.latex-workshop - jnoortheen.nix-ide - matklad.rust-analyzer - mkhl.direnv - ms-vscode-remote.remote-ssh - ms-vscode.cpptools - platformio.platformio-ide - redhat.vscode-yaml - redhat.vscode-xml - tamasfe.even-better-toml - valentjn.vscode-ltex - vscodevim.vim - vadimcn.vscode-lldb - xaver.clang-format - sumneko.lua - davidlday.languagetool-linter - serayuzgur.crates - skellock.just - ]; - }; - - }; -} - From 96a07f14dd529a33d34bd85703d299ae8c9679bf Mon Sep 17 00:00:00 2001 From: Vivian Date: Wed, 3 Jan 2024 12:06:11 +0100 Subject: [PATCH 05/88] switch to fup --- common/default.nix | 1 - flake.lock | 211 ++++++++++++++++++++++++++++----------------- flake.nix | 113 +++++++++++++----------- 3 files changed, 193 insertions(+), 132 deletions(-) diff --git a/common/default.nix b/common/default.nix index 70b097b5..8ead0247 100644 --- a/common/default.nix +++ b/common/default.nix @@ -1,6 +1,5 @@ { lib, inputs, pkgs, ... }: { imports = [ - inputs.home-manager.nixosModules.home-manager ./users ./modules ]; diff --git a/flake.lock b/flake.lock index 27801f6a..5041902c 100644 --- a/flake.lock +++ b/flake.lock @@ -50,11 +50,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1702969472, - "narHash": "sha256-IJP9sC+/gLUdWhm6TsnWpw6A1zQWUfn53ym63KeLXvU=", + "lastModified": 1704159259, + "narHash": "sha256-OOEFibN9JQBepVeqxSNSBr6JUmdoZiH263ogms2jk0k=", "owner": "zhaofengli", "repo": "attic", - "rev": "bdafd64910bb2b861cf90fa15f1fc93318b6fbf6", + "rev": "e6bedf1869f382cfc51b69848d6e09d51585ead6", "type": "github" }, "original": { @@ -254,11 +254,11 @@ "nixpkgs": "nixpkgs_5" }, "locked": { - "lastModified": 1704204809, - "narHash": "sha256-O76nB41RyfedpCfcO4GU5i2Ng7ZUMbZnF+Ceq0e8LIs=", + "lastModified": 1704207610, + "narHash": "sha256-goAc0arC/A0Pthz+bNsXzJcaqsNY7s5LcTp2WAtduCo=", "owner": "jdonszelmann", "repo": "essentials", - "rev": "8209683dc3c5edd747efccd187f512771d8f3a0c", + "rev": "229d7c8793968a319b6968c6fa06b20c393d1d12", "type": "github" }, "original": { @@ -495,6 +495,25 @@ "type": "github" } }, + "flake-utils-plus": { + "inputs": { + "flake-utils": "flake-utils_4" + }, + "locked": { + "lastModified": 1696281284, + "narHash": "sha256-xcmtTmoiiAOSk4abifbtqVZk0iwBcqJfg47iUbkwhcE=", + "owner": "gytis-ivaskevicius", + "repo": "flake-utils-plus", + "rev": "6cf1e312fb259693c4930d07ca3cbe1d07ef4a48", + "type": "github" + }, + "original": { + "owner": "gytis-ivaskevicius", + "ref": "v1.4.0", + "repo": "flake-utils-plus", + "type": "github" + } + }, "flake-utils-pre-commit": { "locked": { "lastModified": 1644229661, @@ -511,8 +530,22 @@ } }, "flake-utils_10": { + "locked": { + "lastModified": 1678901627, + "narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6", + "type": "github" + }, + "original": { + "id": "flake-utils", + "type": "indirect" + } + }, + "flake-utils_11": { "inputs": { - "systems": "systems_10" + "systems": "systems_11" }, "locked": { "lastModified": 1681202837, @@ -565,24 +598,6 @@ "inputs": { "systems": "systems_4" }, - "locked": { - "lastModified": 1701680307, - "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_5": { - "inputs": { - "systems": "systems_5" - }, "locked": { "lastModified": 1694529238, "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", @@ -597,9 +612,9 @@ "type": "github" } }, - "flake-utils_6": { + "flake-utils_5": { "inputs": { - "systems": "systems_6" + "systems": "systems_5" }, "locked": { "lastModified": 1701680307, @@ -615,6 +630,24 @@ "type": "github" } }, + "flake-utils_6": { + "inputs": { + "systems": "systems_6" + }, + "locked": { + "lastModified": 1694529238, + "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "flake-utils_7": { "inputs": { "systems": "systems_7" @@ -637,6 +670,24 @@ "inputs": { "systems": "systems_8" }, + "locked": { + "lastModified": 1701680307, + "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_9": { + "inputs": { + "systems": "systems_9" + }, "locked": { "lastModified": 1685518550, "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=", @@ -651,20 +702,6 @@ "type": "github" } }, - "flake-utils_9": { - "locked": { - "lastModified": 1678901627, - "narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6", - "type": "github" - }, - "original": { - "id": "flake-utils", - "type": "indirect" - } - }, "flakeCompat": { "flake": false, "locked": { @@ -743,7 +780,7 @@ }, "gnome-autounlock-keyring": { "inputs": { - "flake-utils": "flake-utils_4", + "flake-utils": "flake-utils_5", "nixpkgs": "nixpkgs_6" }, "locked": { @@ -783,11 +820,11 @@ ] }, "locked": { - "lastModified": 1703838268, - "narHash": "sha256-SRg5nXcdPnrsQR2MTAp7en0NyJnQ2wB1ivmsgEbvN+o=", + "lastModified": 1704276313, + "narHash": "sha256-4eD4RaAKHLj0ztw5pQcNFs3hGpxrsYb0e9Qir+Ute+w=", "owner": "nix-community", "repo": "home-manager", - "rev": "2aff324cf65f5f98f89d878c056b779466b17db8", + "rev": "4d8f90205c6c90be2e81d94d0e5eedf71c1ba34e", "type": "github" }, "original": { @@ -801,7 +838,7 @@ "crane": "crane_2", "flake-compat": "flake-compat_5", "flake-parts": "flake-parts", - "flake-utils": "flake-utils_5", + "flake-utils": "flake-utils_6", "nixpkgs": [ "nixpkgs" ], @@ -809,11 +846,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1703712542, - "narHash": "sha256-317EoHaQ5OwRLEjwjQUY57FpLDl75kEBbrohH7zbfRQ=", + "lastModified": 1704230057, + "narHash": "sha256-YTkPHIM/RF1WtWqRAxlaE2lqvzEBa58SZzQZB2sx4PY=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "7229dd85f98341520b02fd46662f38d0af511d6d", + "rev": "81f7a56f0ee6bb454284feeeb192df56e39d98d1", "type": "github" }, "original": { @@ -880,16 +917,16 @@ }, "microvm": { "inputs": { - "flake-utils": "flake-utils_6", + "flake-utils": "flake-utils_7", "nixpkgs": "nixpkgs_7", "spectrum": "spectrum" }, "locked": { - "lastModified": 1703769051, - "narHash": "sha256-izOj8XRoHUXkWHpxznOaYHpj30J8/f3ynr7H6oYcNho=", + "lastModified": 1704120350, + "narHash": "sha256-s5BOPAnVc4e/4WvGDeeF3VSLAWzBUB+YW6fJb3pFbRw=", "owner": "astro", "repo": "microvm.nix", - "rev": "c39a472523d3c99ddfa88df62223a21b19793490", + "rev": "d5553b1388f2947915c4cec6249b89474046573a", "type": "github" }, "original": { @@ -1014,11 +1051,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1703879120, - "narHash": "sha256-oMJ5xtDswlBWxs0DT/aYKEUIhjEpGZJ9GbIxOclYP8I=", + "lastModified": 1704266875, + "narHash": "sha256-luA5SGmeIRZlgLfSLUuR3eacS63q2bJ0Yywqak5lj3E=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "22ae59fec26591ef72ce4ccb5538c42c5f090fe3", + "rev": "8e34f33464d77bea2d5cf7dc1066647b1ad2b324", "type": "github" }, "original": { @@ -1332,11 +1369,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1703637592, - "narHash": "sha256-8MXjxU0RfFfzl57Zy3OfXCITS0qWDNLzlBAdwxGZwfY=", + "lastModified": 1703961334, + "narHash": "sha256-M1mV/Cq+pgjk0rt6VxoyyD+O8cOUiai8t9Q6Yyq4noY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "cfc3698c31b1fb9cdcf10f36c9643460264d0ca8", + "rev": "b0d36bd0a420ecee3bc916c91886caca87c894e9", "type": "github" }, "original": { @@ -1347,11 +1384,11 @@ }, "nixpkgs_9": { "locked": { - "lastModified": 1703013332, - "narHash": "sha256-+tFNwMvlXLbJZXiMHqYq77z/RfmpfpiI3yjL6o/Zo9M=", + "lastModified": 1703637592, + "narHash": "sha256-8MXjxU0RfFfzl57Zy3OfXCITS0qWDNLzlBAdwxGZwfY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "54aac082a4d9bb5bbc5c4e899603abfb76a3f6d6", + "rev": "cfc3698c31b1fb9cdcf10f36c9643460264d0ca8", "type": "github" }, "original": { @@ -1363,11 +1400,11 @@ }, "nixpkgs_stable": { "locked": { - "lastModified": 1703351344, - "narHash": "sha256-9FEelzftkE9UaJ5nqxidaJJPEhe9TPhbypLHmc2Mysc=", + "lastModified": 1704018918, + "narHash": "sha256-erjg/HrpC9liEfm7oLqb8GXCqsxaFwIIPqCsknW5aFY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7790e078f8979a9fcd543f9a47427eeaba38f268", + "rev": "2c9c58e98243930f8cb70387934daa4bc8b00373", "type": "github" }, "original": { @@ -1378,16 +1415,16 @@ }, "nixvim": { "inputs": { - "flake-utils": "flake-utils_7", + "flake-utils": "flake-utils_8", "nixpkgs": "nixpkgs_9", "pre-commit-hooks": "pre-commit-hooks" }, "locked": { - "lastModified": 1703859882, - "narHash": "sha256-wRXgap0eEuswF9xXUKDiWBh0tKuJ9vtmlJZ4iAX3K/E=", + "lastModified": 1704263922, + "narHash": "sha256-/H3ZUsqTP+mh7G4fL8fYIP/WZfXH6ohVid8OfZ15RuQ=", "owner": "pta2002", "repo": "nixvim", - "rev": "1d8e7906c9606c956c6b40d8d088c8d2110dc0c0", + "rev": "78276e91bb4861564f2241c842cf1fce1a06e563", "type": "github" }, "original": { @@ -1398,11 +1435,11 @@ }, "nur": { "locked": { - "lastModified": 1703938048, - "narHash": "sha256-df8Lwe4k6QiyucOyZV0s6eoy6y7m2g4+/dOpEyYrZGU=", + "lastModified": 1704279261, + "narHash": "sha256-0A0MZ6mC/uQmX0qY0Rtwh4UsepkKktv+hwo/U53MBSw=", "owner": "nix-community", "repo": "NUR", - "rev": "ae6fb319f88d5a995cb8dc4502c2d81c5fc1e578", + "rev": "bf390c044dfeeb7471fc931f5953c723028ce0fe", "type": "github" }, "original": { @@ -1431,7 +1468,7 @@ "pre-commit-hooks": { "inputs": { "flake-compat": "flake-compat_7", - "flake-utils": "flake-utils_8", + "flake-utils": "flake-utils_9", "gitignore": "gitignore_2", "nixpkgs": [ "nixvim", @@ -1440,11 +1477,11 @@ "nixpkgs-stable": "nixpkgs-stable_3" }, "locked": { - "lastModified": 1702456155, - "narHash": "sha256-I2XhXGAecdGlqi6hPWYT83AQtMgL+aa3ulA85RAEgOk=", + "lastModified": 1703426812, + "narHash": "sha256-aODSOH8Og8ne4JylPJn+hZ6lyv6K7vE5jFo4KAGIebM=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "007a45d064c1c32d04e1b8a0de5ef00984c419bc", + "rev": "7f35ec30d16b38fe0eed8005933f418d1a4693ee", "type": "github" }, "original": { @@ -1538,6 +1575,7 @@ "comma": "comma", "deploy": "deploy", "essentials": "essentials", + "flake-utils-plus": "flake-utils-plus", "gnome-autounlock-keyring": "gnome-autounlock-keyring", "home-manager": "home-manager", "lanzaboote": "lanzaboote", @@ -1676,6 +1714,21 @@ "type": "github" } }, + "systems_11": { + "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, @@ -1849,7 +1902,7 @@ }, "utils_4": { "inputs": { - "systems": "systems_9" + "systems": "systems_10" }, "locked": { "lastModified": 1694529238, @@ -1868,7 +1921,7 @@ "vault-secrets": { "inputs": { "flake-compat": "flake-compat_8", - "flake-utils": "flake-utils_9", + "flake-utils": "flake-utils_10", "nix": "nix", "nixpkgs": "nixpkgs_12", "utils": "utils_4" @@ -1889,7 +1942,7 @@ }, "vault-unseal": { "inputs": { - "flake-utils": "flake-utils_10", + "flake-utils": "flake-utils_11", "nixpkgs": "nixpkgs_13" }, "locked": { diff --git a/flake.nix b/flake.nix index 386a4e6a..566d1672 100644 --- a/flake.nix +++ b/flake.nix @@ -7,6 +7,9 @@ inputs = { nixpkgs.url = "nixpkgs/nixos-unstable"; nixpkgs_stable.url = "nixpkgs/nixos-23.05"; + + flake-utils-plus.url = "github:gytis-ivaskevicius/flake-utils-plus/v1.4.0"; + nur.url = "github:nix-community/NUR"; colmena.url = "github:zhaofengli/colmena"; deploy.url = "github:serokell/deploy-rs"; @@ -50,45 +53,45 @@ essentials.url = "github:jdonszelmann/essentials"; }; - outputs = { self, nixpkgs, nixpkgs_stable, vault-secrets, colmena, nur, attic - , deploy, ... }@inputs: + outputs = { self, nixpkgs, nixpkgs_stable, flake-utils-plus, nur, attic + , deploy, home-manager, ... }@inputs: let - inherit (nixpkgs) lib; + # fast-repl = pkgs.writeShellScriptBin "fast-repl" '' + # source /etc/set-environment + # nix repl --file "${./.}/repl.nix" $@ + # ''; - system = "x86_64-linux"; + pkgs = self.pkgs.x86_64-linux.nixpkgs; + in flake-utils-plus.lib.mkFlake { + # `self` and `inputs` arguments are required + inherit self inputs; - pkgs = import nixpkgs { - inherit system; - config.allowUnfree = true; - overlays = [ (import ./nixos/pkgs) vault-secrets.overlay nur.overlay ]; + # Supported systems, used for packages, apps, devShell and multiple other definitions. Defaults to `flake-utils.lib.defaultSystems`. + supportedSystems = [ "x86_64-linux" ]; + + # Channels config + channelsConfig = { allowUnfree = true; }; + sharedOverlays = [ (import ./nixos/pkgs) nur.overlay ]; + + # host defaults + hostDefaults = { + system = "x86_64-linux"; + modules = [ + home-manager.nixosModules.home-manager + ./common + ]; + extraArgs = { inherit inputs; }; }; - pkgs_stable = import nixpkgs_stable { - inherit system; - config.allowUnfree = true; - }; - - # Script to apply local colmena deployments - apply-local = pkgs.writeShellScriptBin "apply-local" '' - "${ - colmena.packages.${system}.colmena - }"/bin/colmena apply-local --sudo $@ - ''; - - fast-repl = pkgs.writeShellScriptBin "fast-repl" '' - source /etc/set-environment - nix repl --file "${./.}/repl.nix" $@ - ''; - in { - nixosConfigurations."bastion.olympus" = lib.nixosSystem { - inherit system pkgs; - specialArgs = { inherit inputs; }; - modules = [ ./common ./common/generic-vm.nix ./hosts/olympus/bastion ]; + # hosts + + hosts."bastion.olympus" = { + modules = [ ./common/generic-vm.nix ./hosts/olympus/bastion ]; }; + # deploy-rs deploy = { user = "root"; - nodes."bastion.olympus" = { hostname = "olympus.0x76.dev"; fastConnection = true; @@ -102,29 +105,35 @@ }; }; + # Outputs + outputsBuilder = channels: { + devShell = channels.nixpkgs.mkShell { + name = "devShell"; + VAULT_ADDR = "http://vault.olympus:8200/"; + packages = with pkgs; [ + attic.packages.${pkgs.system}.attic + # apply-local + deploy.packages.${system}.deploy-rs + deadnix + statix + # nixfmt + # nixpkgs-fmt + nixUnstable + # nil + vault + yamllint + jq + # (vault-push-approle-envs self { }) + # (vault-push-approles self { }) + # fast-repl + fup-repl + ]; + }; + }; + + # Checks checks = builtins.mapAttrs (system: deployLib: deployLib.deployChecks self.deploy) deploy.lib; - - # Use by running `nix develop` - devShells.${system}.default = pkgs.mkShell { - VAULT_ADDR = "http://vault.olympus:8200/"; - packages = with pkgs; [ - attic.packages.${pkgs.system}.attic - apply-local - deploy.packages.${system}.deploy-rs - deadnix - statix - # nixfmt - # nixpkgs-fmt - nixUnstable - # nil - vault - yamllint - jq - # (vault-push-approle-envs self { }) - # (vault-push-approles self { }) - fast-repl - ]; - }; }; + } From 84f07ef08f004d18d2994512f27940290d6351be Mon Sep 17 00:00:00 2001 From: Vivian Date: Wed, 3 Jan 2024 15:49:32 +0100 Subject: [PATCH 06/88] fix infinite recursion --- common/default.nix | 2 +- common/modules/default.nix | 10 +++++++++- common/modules/gnome/default.nix | 6 +----- flake.nix | 6 +++--- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/common/default.nix b/common/default.nix index 8ead0247..2e742aed 100644 --- a/common/default.nix +++ b/common/default.nix @@ -21,7 +21,7 @@ # https://src.fedoraproject.org/rpms/systemd/tree/acb90c49c42276b06375a66c73673ac3510255 systemd.oomd = { enableRootSlice = true; - enableUserServices = true; + enableUserSlices = true; }; # security.polkit.enable = lib.mkDefault true; diff --git a/common/modules/default.nix b/common/modules/default.nix index 66727027..a9acf0a0 100644 --- a/common/modules/default.nix +++ b/common/modules/default.nix @@ -1,3 +1,11 @@ { ... }: { - imports = [ ./meta.nix ./nginx.nix ./dns.nix ./flood.nix ./gnome ./unpackerr.nix ./vault.nix ]; + imports = [ + ./meta.nix + ./nginx.nix + ./dns.nix + ./flood.nix + ./gnome + ./unpackerr.nix + ./vault.nix + ]; } diff --git a/common/modules/gnome/default.nix b/common/modules/gnome/default.nix index 39fb375f..67a6c148 100644 --- a/common/modules/gnome/default.nix +++ b/common/modules/gnome/default.nix @@ -1,11 +1,7 @@ -{ config, pkgs, lib, inputs, ... }: +{ config, pkgs, lib, ... }: with lib; let cfg = config.services.v.gnome; in { - imports = [ - inputs.gnome-autounlock-keyring.nixosModules.default - ]; - options.services.v.gnome = { enable = mkEnableOption "v.gnome"; hm = mkOption { diff --git a/flake.nix b/flake.nix index 566d1672..a619711b 100644 --- a/flake.nix +++ b/flake.nix @@ -54,7 +54,7 @@ }; outputs = { self, nixpkgs, nixpkgs_stable, flake-utils-plus, nur, attic - , deploy, home-manager, ... }@inputs: + , deploy, home-manager, gnome-autounlock-keyring, ... }@inputs: let # fast-repl = pkgs.writeShellScriptBin "fast-repl" '' # source /etc/set-environment @@ -78,9 +78,9 @@ system = "x86_64-linux"; modules = [ home-manager.nixosModules.home-manager + gnome-autounlock-keyring.nixosModules.default ./common ]; - extraArgs = { inherit inputs; }; }; # hosts @@ -107,7 +107,7 @@ # Outputs outputsBuilder = channels: { - devShell = channels.nixpkgs.mkShell { + devShells.default = channels.nixpkgs.mkShell { name = "devShell"; VAULT_ADDR = "http://vault.olympus:8200/"; packages = with pkgs; [ From af2b5a14f2fe053a4ff017bb03c8be6e0aa51fdf Mon Sep 17 00:00:00 2001 From: Vivian Date: Wed, 3 Jan 2024 15:50:11 +0100 Subject: [PATCH 07/88] move pkgs --- flake.nix | 2 +- {nixos/pkgs => pkgs}/default.nix | 0 {nixos/pkgs => pkgs}/dnd-5e-latex-template/default.nix | 0 {nixos/pkgs => pkgs}/gitea-agatheme/default.nix | 0 {nixos/pkgs => pkgs}/glitch-soc/default.nix | 0 {nixos/pkgs => pkgs}/glitch-soc/gemset.nix | 0 {nixos/pkgs => pkgs}/glitch-soc/source.nix | 0 {nixos/pkgs => pkgs}/glitch-soc/update.sh | 0 {nixos/pkgs => pkgs}/plex-pass/default.nix | 0 {nixos/pkgs => pkgs}/plex-pass/raw.nix | 0 {nixos/pkgs => pkgs}/plex-pass/sources.json | 0 {nixos/pkgs => pkgs}/plex-pass/update.sh | 0 {nixos/pkgs => pkgs}/roundcube-swipe/default.nix | 0 {nixos/pkgs => pkgs}/vscode-extensions/platformio.nix | 0 14 files changed, 1 insertion(+), 1 deletion(-) rename {nixos/pkgs => pkgs}/default.nix (100%) rename {nixos/pkgs => pkgs}/dnd-5e-latex-template/default.nix (100%) rename {nixos/pkgs => pkgs}/gitea-agatheme/default.nix (100%) rename {nixos/pkgs => pkgs}/glitch-soc/default.nix (100%) rename {nixos/pkgs => pkgs}/glitch-soc/gemset.nix (100%) rename {nixos/pkgs => pkgs}/glitch-soc/source.nix (100%) rename {nixos/pkgs => pkgs}/glitch-soc/update.sh (100%) rename {nixos/pkgs => pkgs}/plex-pass/default.nix (100%) rename {nixos/pkgs => pkgs}/plex-pass/raw.nix (100%) rename {nixos/pkgs => pkgs}/plex-pass/sources.json (100%) rename {nixos/pkgs => pkgs}/plex-pass/update.sh (100%) rename {nixos/pkgs => pkgs}/roundcube-swipe/default.nix (100%) rename {nixos/pkgs => pkgs}/vscode-extensions/platformio.nix (100%) diff --git a/flake.nix b/flake.nix index a619711b..8b43d32b 100644 --- a/flake.nix +++ b/flake.nix @@ -71,7 +71,7 @@ # Channels config channelsConfig = { allowUnfree = true; }; - sharedOverlays = [ (import ./nixos/pkgs) nur.overlay ]; + sharedOverlays = [ (import ./pkgs) nur.overlay ]; # host defaults hostDefaults = { diff --git a/nixos/pkgs/default.nix b/pkgs/default.nix similarity index 100% rename from nixos/pkgs/default.nix rename to pkgs/default.nix diff --git a/nixos/pkgs/dnd-5e-latex-template/default.nix b/pkgs/dnd-5e-latex-template/default.nix similarity index 100% rename from nixos/pkgs/dnd-5e-latex-template/default.nix rename to pkgs/dnd-5e-latex-template/default.nix diff --git a/nixos/pkgs/gitea-agatheme/default.nix b/pkgs/gitea-agatheme/default.nix similarity index 100% rename from nixos/pkgs/gitea-agatheme/default.nix rename to pkgs/gitea-agatheme/default.nix diff --git a/nixos/pkgs/glitch-soc/default.nix b/pkgs/glitch-soc/default.nix similarity index 100% rename from nixos/pkgs/glitch-soc/default.nix rename to pkgs/glitch-soc/default.nix diff --git a/nixos/pkgs/glitch-soc/gemset.nix b/pkgs/glitch-soc/gemset.nix similarity index 100% rename from nixos/pkgs/glitch-soc/gemset.nix rename to pkgs/glitch-soc/gemset.nix diff --git a/nixos/pkgs/glitch-soc/source.nix b/pkgs/glitch-soc/source.nix similarity index 100% rename from nixos/pkgs/glitch-soc/source.nix rename to pkgs/glitch-soc/source.nix diff --git a/nixos/pkgs/glitch-soc/update.sh b/pkgs/glitch-soc/update.sh similarity index 100% rename from nixos/pkgs/glitch-soc/update.sh rename to pkgs/glitch-soc/update.sh diff --git a/nixos/pkgs/plex-pass/default.nix b/pkgs/plex-pass/default.nix similarity index 100% rename from nixos/pkgs/plex-pass/default.nix rename to pkgs/plex-pass/default.nix diff --git a/nixos/pkgs/plex-pass/raw.nix b/pkgs/plex-pass/raw.nix similarity index 100% rename from nixos/pkgs/plex-pass/raw.nix rename to pkgs/plex-pass/raw.nix diff --git a/nixos/pkgs/plex-pass/sources.json b/pkgs/plex-pass/sources.json similarity index 100% rename from nixos/pkgs/plex-pass/sources.json rename to pkgs/plex-pass/sources.json diff --git a/nixos/pkgs/plex-pass/update.sh b/pkgs/plex-pass/update.sh similarity index 100% rename from nixos/pkgs/plex-pass/update.sh rename to pkgs/plex-pass/update.sh diff --git a/nixos/pkgs/roundcube-swipe/default.nix b/pkgs/roundcube-swipe/default.nix similarity index 100% rename from nixos/pkgs/roundcube-swipe/default.nix rename to pkgs/roundcube-swipe/default.nix diff --git a/nixos/pkgs/vscode-extensions/platformio.nix b/pkgs/vscode-extensions/platformio.nix similarity index 100% rename from nixos/pkgs/vscode-extensions/platformio.nix rename to pkgs/vscode-extensions/platformio.nix From a04a4bcf3a85aebe6d1f2ccce33e3144be235e61 Mon Sep 17 00:00:00 2001 From: Vivian Date: Wed, 3 Jan 2024 15:53:19 +0100 Subject: [PATCH 08/88] fix plex_update --- .forgejo/workflows/plex_update.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.forgejo/workflows/plex_update.yml b/.forgejo/workflows/plex_update.yml index 2d5a2393..edbe071d 100644 --- a/.forgejo/workflows/plex_update.yml +++ b/.forgejo/workflows/plex_update.yml @@ -26,9 +26,9 @@ jobs: git config user.email "<>" # Run Update script - ./nixos/pkgs/plex-pass/update.sh + ./pkgs/plex-pass/update.sh - git add ./nixos/pkgs/plex-pass/ + git add ./pkgs/plex-pass/ # Push if changed if git status ./nixos/pkgs/plex-pass/ | grep -q "to be committed"; then From dcc9d733aee458a09ade39347b8d410b8a15801a Mon Sep 17 00:00:00 2001 From: Vivian Date: Wed, 3 Jan 2024 17:01:29 +0100 Subject: [PATCH 09/88] add aoife --- common/modules/gnome/default.nix | 2 +- flake.lock | 6 +-- flake.nix | 41 ++++++++++++++----- .../hosts => hosts}/thalassa/aoife/README.md | 0 .../thalassa/aoife/default.nix | 0 .../thalassa/aoife/hardware-configuration.nix | 0 .../thalassa/aoife/hardware.nix | 0 .../thalassa/aoife/home/.gitignore | 0 .../thalassa/aoife/home/default.nix | 0 .../hosts => hosts}/thalassa/null/README.md | 0 .../thalassa/null/configuration.nix | 0 .../thalassa/null/hardware-configuration.nix | 0 .../thalassa/null/home/default.nix | 0 .../thalassa/null/home/eww/default.nix | 0 .../thalassa/null/home/eww/eww.scss | 0 .../thalassa/null/home/eww/eww.yuck | 0 .../null/home/eww/scripts/do-not-disturb.sh | 0 .../thalassa/null/home/eww/scripts/volume.sh | 0 .../thalassa/null/home/eww/scripts/wifi.sh | 0 .../null/home/eww/scripts/workspaces.lua | 0 .../null/home/eww/scripts/workspaces.sh | 0 .../thalassa/null/home/hyprland.nix | 0 .../thalassa/null/home/neovim.nix | 0 .../thalassa/null/home/theme.nix | 0 .../thalassa/null/networking.nix | 0 .../thalassa/null/rescue-boot.nix | 0 nixos/hosts/thalassa/default.nix | 6 --- 27 files changed, 34 insertions(+), 21 deletions(-) rename {nixos/hosts => hosts}/thalassa/aoife/README.md (100%) rename nixos/hosts/thalassa/aoife/configuration.nix => hosts/thalassa/aoife/default.nix (100%) rename {nixos/hosts => hosts}/thalassa/aoife/hardware-configuration.nix (100%) rename {nixos/hosts => hosts}/thalassa/aoife/hardware.nix (100%) rename {nixos/hosts => hosts}/thalassa/aoife/home/.gitignore (100%) rename {nixos/hosts => hosts}/thalassa/aoife/home/default.nix (100%) rename {nixos/hosts => hosts}/thalassa/null/README.md (100%) rename {nixos/hosts => hosts}/thalassa/null/configuration.nix (100%) rename {nixos/hosts => hosts}/thalassa/null/hardware-configuration.nix (100%) rename {nixos/hosts => hosts}/thalassa/null/home/default.nix (100%) rename {nixos/hosts => hosts}/thalassa/null/home/eww/default.nix (100%) rename {nixos/hosts => hosts}/thalassa/null/home/eww/eww.scss (100%) rename {nixos/hosts => hosts}/thalassa/null/home/eww/eww.yuck (100%) rename {nixos/hosts => hosts}/thalassa/null/home/eww/scripts/do-not-disturb.sh (100%) rename {nixos/hosts => hosts}/thalassa/null/home/eww/scripts/volume.sh (100%) rename {nixos/hosts => hosts}/thalassa/null/home/eww/scripts/wifi.sh (100%) rename {nixos/hosts => hosts}/thalassa/null/home/eww/scripts/workspaces.lua (100%) rename {nixos/hosts => hosts}/thalassa/null/home/eww/scripts/workspaces.sh (100%) rename {nixos/hosts => hosts}/thalassa/null/home/hyprland.nix (100%) rename {nixos/hosts => hosts}/thalassa/null/home/neovim.nix (100%) rename {nixos/hosts => hosts}/thalassa/null/home/theme.nix (100%) rename {nixos/hosts => hosts}/thalassa/null/networking.nix (100%) rename {nixos/hosts => hosts}/thalassa/null/rescue-boot.nix (100%) delete mode 100644 nixos/hosts/thalassa/default.nix diff --git a/common/modules/gnome/default.nix b/common/modules/gnome/default.nix index 67a6c148..fce7cfe3 100644 --- a/common/modules/gnome/default.nix +++ b/common/modules/gnome/default.nix @@ -54,7 +54,7 @@ in { atomix # puzzle game epiphany # web browser geary # email reader - gedit # text editor + pkgs.gedit # text editor gnome-calendar gnome-clocks gnome-contacts diff --git a/flake.lock b/flake.lock index 5041902c..3348c858 100644 --- a/flake.lock +++ b/flake.lock @@ -1435,11 +1435,11 @@ }, "nur": { "locked": { - "lastModified": 1704279261, - "narHash": "sha256-0A0MZ6mC/uQmX0qY0Rtwh4UsepkKktv+hwo/U53MBSw=", + "lastModified": 1704295202, + "narHash": "sha256-p/0PCouilKVM1q3hzqGk3Ct0jLpK+E/9eXbjHXEoxuE=", "owner": "nix-community", "repo": "NUR", - "rev": "bf390c044dfeeb7471fc931f5953c723028ce0fe", + "rev": "66f8fbded8a9b9a6f4e17a5d8105bcd29d4ec7f8", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 8b43d32b..b0d82a1c 100644 --- a/flake.nix +++ b/flake.nix @@ -54,7 +54,7 @@ }; outputs = { self, nixpkgs, nixpkgs_stable, flake-utils-plus, nur, attic - , deploy, home-manager, gnome-autounlock-keyring, ... }@inputs: + , deploy, home-manager, gnome-autounlock-keyring, lanzaboote, ... }@inputs: let # fast-repl = pkgs.writeShellScriptBin "fast-repl" '' # source /etc/set-environment @@ -81,27 +81,46 @@ gnome-autounlock-keyring.nixosModules.default ./common ]; + + specialArgs = { inherit inputs; }; }; # hosts + hosts = { - hosts."bastion.olympus" = { - modules = [ ./common/generic-vm.nix ./hosts/olympus/bastion ]; + "bastion.olympus" = { + modules = [ ./common/generic-vm.nix ./hosts/olympus/bastion ]; + }; + + aoife = { + modules = + [ lanzaboote.nixosModules.lanzaboote ./hosts/thalassa/aoife ]; + }; }; # deploy-rs deploy = { user = "root"; - nodes."bastion.olympus" = { - hostname = "olympus.0x76.dev"; - fastConnection = true; - remoteBuild = true; - profiles = { - system = { - path = deploy.lib.x86_64-linux.activate.nixos - self.nixosConfigurations."bastion.olympus"; + nodes = { + "bastion.olympus" = { + hostname = "olympus.0x76.dev"; + fastConnection = true; + remoteBuild = true; + profiles = { + system = { + path = deploy.lib.x86_64-linux.activate.nixos + self.nixosConfigurations."bastion.olympus"; + }; }; }; + + aoife = { + remoteBuild = true; + fastConnection = true; + hostname = "localhost"; + profiles.system.path = deploy.lib.x86_64-linux.activate.nixos + self.nixosConfigurations.aoife; + }; }; }; diff --git a/nixos/hosts/thalassa/aoife/README.md b/hosts/thalassa/aoife/README.md similarity index 100% rename from nixos/hosts/thalassa/aoife/README.md rename to hosts/thalassa/aoife/README.md diff --git a/nixos/hosts/thalassa/aoife/configuration.nix b/hosts/thalassa/aoife/default.nix similarity index 100% rename from nixos/hosts/thalassa/aoife/configuration.nix rename to hosts/thalassa/aoife/default.nix diff --git a/nixos/hosts/thalassa/aoife/hardware-configuration.nix b/hosts/thalassa/aoife/hardware-configuration.nix similarity index 100% rename from nixos/hosts/thalassa/aoife/hardware-configuration.nix rename to hosts/thalassa/aoife/hardware-configuration.nix diff --git a/nixos/hosts/thalassa/aoife/hardware.nix b/hosts/thalassa/aoife/hardware.nix similarity index 100% rename from nixos/hosts/thalassa/aoife/hardware.nix rename to hosts/thalassa/aoife/hardware.nix diff --git a/nixos/hosts/thalassa/aoife/home/.gitignore b/hosts/thalassa/aoife/home/.gitignore similarity index 100% rename from nixos/hosts/thalassa/aoife/home/.gitignore rename to hosts/thalassa/aoife/home/.gitignore diff --git a/nixos/hosts/thalassa/aoife/home/default.nix b/hosts/thalassa/aoife/home/default.nix similarity index 100% rename from nixos/hosts/thalassa/aoife/home/default.nix rename to hosts/thalassa/aoife/home/default.nix diff --git a/nixos/hosts/thalassa/null/README.md b/hosts/thalassa/null/README.md similarity index 100% rename from nixos/hosts/thalassa/null/README.md rename to hosts/thalassa/null/README.md diff --git a/nixos/hosts/thalassa/null/configuration.nix b/hosts/thalassa/null/configuration.nix similarity index 100% rename from nixos/hosts/thalassa/null/configuration.nix rename to hosts/thalassa/null/configuration.nix diff --git a/nixos/hosts/thalassa/null/hardware-configuration.nix b/hosts/thalassa/null/hardware-configuration.nix similarity index 100% rename from nixos/hosts/thalassa/null/hardware-configuration.nix rename to hosts/thalassa/null/hardware-configuration.nix diff --git a/nixos/hosts/thalassa/null/home/default.nix b/hosts/thalassa/null/home/default.nix similarity index 100% rename from nixos/hosts/thalassa/null/home/default.nix rename to hosts/thalassa/null/home/default.nix diff --git a/nixos/hosts/thalassa/null/home/eww/default.nix b/hosts/thalassa/null/home/eww/default.nix similarity index 100% rename from nixos/hosts/thalassa/null/home/eww/default.nix rename to hosts/thalassa/null/home/eww/default.nix diff --git a/nixos/hosts/thalassa/null/home/eww/eww.scss b/hosts/thalassa/null/home/eww/eww.scss similarity index 100% rename from nixos/hosts/thalassa/null/home/eww/eww.scss rename to hosts/thalassa/null/home/eww/eww.scss diff --git a/nixos/hosts/thalassa/null/home/eww/eww.yuck b/hosts/thalassa/null/home/eww/eww.yuck similarity index 100% rename from nixos/hosts/thalassa/null/home/eww/eww.yuck rename to hosts/thalassa/null/home/eww/eww.yuck diff --git a/nixos/hosts/thalassa/null/home/eww/scripts/do-not-disturb.sh b/hosts/thalassa/null/home/eww/scripts/do-not-disturb.sh similarity index 100% rename from nixos/hosts/thalassa/null/home/eww/scripts/do-not-disturb.sh rename to hosts/thalassa/null/home/eww/scripts/do-not-disturb.sh diff --git a/nixos/hosts/thalassa/null/home/eww/scripts/volume.sh b/hosts/thalassa/null/home/eww/scripts/volume.sh similarity index 100% rename from nixos/hosts/thalassa/null/home/eww/scripts/volume.sh rename to hosts/thalassa/null/home/eww/scripts/volume.sh diff --git a/nixos/hosts/thalassa/null/home/eww/scripts/wifi.sh b/hosts/thalassa/null/home/eww/scripts/wifi.sh similarity index 100% rename from nixos/hosts/thalassa/null/home/eww/scripts/wifi.sh rename to hosts/thalassa/null/home/eww/scripts/wifi.sh diff --git a/nixos/hosts/thalassa/null/home/eww/scripts/workspaces.lua b/hosts/thalassa/null/home/eww/scripts/workspaces.lua similarity index 100% rename from nixos/hosts/thalassa/null/home/eww/scripts/workspaces.lua rename to hosts/thalassa/null/home/eww/scripts/workspaces.lua diff --git a/nixos/hosts/thalassa/null/home/eww/scripts/workspaces.sh b/hosts/thalassa/null/home/eww/scripts/workspaces.sh similarity index 100% rename from nixos/hosts/thalassa/null/home/eww/scripts/workspaces.sh rename to hosts/thalassa/null/home/eww/scripts/workspaces.sh diff --git a/nixos/hosts/thalassa/null/home/hyprland.nix b/hosts/thalassa/null/home/hyprland.nix similarity index 100% rename from nixos/hosts/thalassa/null/home/hyprland.nix rename to hosts/thalassa/null/home/hyprland.nix diff --git a/nixos/hosts/thalassa/null/home/neovim.nix b/hosts/thalassa/null/home/neovim.nix similarity index 100% rename from nixos/hosts/thalassa/null/home/neovim.nix rename to hosts/thalassa/null/home/neovim.nix diff --git a/nixos/hosts/thalassa/null/home/theme.nix b/hosts/thalassa/null/home/theme.nix similarity index 100% rename from nixos/hosts/thalassa/null/home/theme.nix rename to hosts/thalassa/null/home/theme.nix diff --git a/nixos/hosts/thalassa/null/networking.nix b/hosts/thalassa/null/networking.nix similarity index 100% rename from nixos/hosts/thalassa/null/networking.nix rename to hosts/thalassa/null/networking.nix diff --git a/nixos/hosts/thalassa/null/rescue-boot.nix b/hosts/thalassa/null/rescue-boot.nix similarity index 100% rename from nixos/hosts/thalassa/null/rescue-boot.nix rename to hosts/thalassa/null/rescue-boot.nix diff --git a/nixos/hosts/thalassa/default.nix b/nixos/hosts/thalassa/default.nix deleted file mode 100644 index 5b1e1db9..00000000 --- a/nixos/hosts/thalassa/default.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - "aoife" = { - type = "local"; - mac = "04:7b:cb:b6:2d:88"; - }; -} From dfd934873bc11f8a518179d23b5180738a21da88 Mon Sep 17 00:00:00 2001 From: Vivian Date: Fri, 5 Jan 2024 10:45:34 +0100 Subject: [PATCH 10/88] fix aoife --- flake.lock | 42 +++++++++++++++++++++--------------------- flake.nix | 17 +++++++---------- 2 files changed, 28 insertions(+), 31 deletions(-) diff --git a/flake.lock b/flake.lock index 3348c858..de9c1bcd 100644 --- a/flake.lock +++ b/flake.lock @@ -254,11 +254,11 @@ "nixpkgs": "nixpkgs_5" }, "locked": { - "lastModified": 1704207610, - "narHash": "sha256-goAc0arC/A0Pthz+bNsXzJcaqsNY7s5LcTp2WAtduCo=", + "lastModified": 1704366612, + "narHash": "sha256-ZJDeq0JL13TvkqTDoVwC3yTN87YMC0X8Ee5xrgyRsGk=", "owner": "jdonszelmann", "repo": "essentials", - "rev": "229d7c8793968a319b6968c6fa06b20c393d1d12", + "rev": "42d23d82bce3f9da85269f7f8aacdb95c0c0be72", "type": "github" }, "original": { @@ -820,11 +820,11 @@ ] }, "locked": { - "lastModified": 1704276313, - "narHash": "sha256-4eD4RaAKHLj0ztw5pQcNFs3hGpxrsYb0e9Qir+Ute+w=", + "lastModified": 1704358952, + "narHash": "sha256-yazDFmdyKr0JGMqmzQ5bYOW5FWvau8oFvsQ8eSB2f3A=", "owner": "nix-community", "repo": "home-manager", - "rev": "4d8f90205c6c90be2e81d94d0e5eedf71c1ba34e", + "rev": "c36cb65c4a0ba17ab9262ab3c30920429348746c", "type": "github" }, "original": { @@ -1369,11 +1369,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1703961334, - "narHash": "sha256-M1mV/Cq+pgjk0rt6VxoyyD+O8cOUiai8t9Q6Yyq4noY=", + "lastModified": 1704194953, + "narHash": "sha256-RtDKd8Mynhe5CFnVT8s0/0yqtWFMM9LmCzXv/YKxnq4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b0d36bd0a420ecee3bc916c91886caca87c894e9", + "rev": "bd645e8668ec6612439a9ee7e71f7eac4099d4f6", "type": "github" }, "original": { @@ -1384,11 +1384,11 @@ }, "nixpkgs_9": { "locked": { - "lastModified": 1703637592, - "narHash": "sha256-8MXjxU0RfFfzl57Zy3OfXCITS0qWDNLzlBAdwxGZwfY=", + "lastModified": 1704194953, + "narHash": "sha256-RtDKd8Mynhe5CFnVT8s0/0yqtWFMM9LmCzXv/YKxnq4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "cfc3698c31b1fb9cdcf10f36c9643460264d0ca8", + "rev": "bd645e8668ec6612439a9ee7e71f7eac4099d4f6", "type": "github" }, "original": { @@ -1420,11 +1420,11 @@ "pre-commit-hooks": "pre-commit-hooks" }, "locked": { - "lastModified": 1704263922, - "narHash": "sha256-/H3ZUsqTP+mh7G4fL8fYIP/WZfXH6ohVid8OfZ15RuQ=", + "lastModified": 1704356551, + "narHash": "sha256-CIznfohcfLRrjRC03QW+tiDeYrJ+Pw10Ny8KPXex1RU=", "owner": "pta2002", "repo": "nixvim", - "rev": "78276e91bb4861564f2241c842cf1fce1a06e563", + "rev": "10d114f5a6e0a9591d13a28a92905e71cc100b39", "type": "github" }, "original": { @@ -1435,11 +1435,11 @@ }, "nur": { "locked": { - "lastModified": 1704295202, - "narHash": "sha256-p/0PCouilKVM1q3hzqGk3Ct0jLpK+E/9eXbjHXEoxuE=", + "lastModified": 1704378556, + "narHash": "sha256-sdx3IXUOwBMn0l5gUyfULiQRTBUcOq+6dLnHERYnEMY=", "owner": "nix-community", "repo": "NUR", - "rev": "66f8fbded8a9b9a6f4e17a5d8105bcd29d4ec7f8", + "rev": "482244aa0deb5d2d86326859633ee6e2872cb500", "type": "github" }, "original": { @@ -1477,11 +1477,11 @@ "nixpkgs-stable": "nixpkgs-stable_3" }, "locked": { - "lastModified": 1703426812, - "narHash": "sha256-aODSOH8Og8ne4JylPJn+hZ6lyv6K7vE5jFo4KAGIebM=", + "lastModified": 1703939133, + "narHash": "sha256-Gxe+mfOT6bL7wLC/tuT2F+V+Sb44jNr8YsJ3cyIl4Mo=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "7f35ec30d16b38fe0eed8005933f418d1a4693ee", + "rev": "9d3d7e18c6bc4473d7520200d4ddab12f8402d38", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index b0d82a1c..7c886e89 100644 --- a/flake.nix +++ b/flake.nix @@ -55,13 +55,7 @@ outputs = { self, nixpkgs, nixpkgs_stable, flake-utils-plus, nur, attic , deploy, home-manager, gnome-autounlock-keyring, lanzaboote, ... }@inputs: - let - # fast-repl = pkgs.writeShellScriptBin "fast-repl" '' - # source /etc/set-environment - # nix repl --file "${./.}/repl.nix" $@ - # ''; - - pkgs = self.pkgs.x86_64-linux.nixpkgs; + let pkgs = self.pkgs.x86_64-linux.nixpkgs; in flake-utils-plus.lib.mkFlake { # `self` and `inputs` arguments are required inherit self inputs; @@ -93,8 +87,11 @@ }; aoife = { - modules = - [ lanzaboote.nixosModules.lanzaboote ./hosts/thalassa/aoife ]; + modules = [ + lanzaboote.nixosModules.lanzaboote + ./common/desktop + ./hosts/thalassa/aoife + ]; }; }; @@ -117,7 +114,7 @@ aoife = { remoteBuild = true; fastConnection = true; - hostname = "localhost"; + hostname = "aoife"; profiles.system.path = deploy.lib.x86_64-linux.activate.nixos self.nixosConfigurations.aoife; }; From f156c2396ff07d140f6f0dbcdd33ab4ba273d00c Mon Sep 17 00:00:00 2001 From: Vivian Date: Fri, 5 Jan 2024 17:30:26 +0100 Subject: [PATCH 11/88] initial implementation of meta --- common/desktop/home.nix | 3 +- common/modules/dns.nix | 30 ++++++++------ common/modules/meta.nix | 66 ++++++++++++++++++++++++++----- flake.lock | 24 +++++------ flake.nix | 37 +++++++++++------ hosts/olympus/bastion/default.nix | 6 +++ hosts/thalassa/aoife/default.nix | 11 +++++- 7 files changed, 129 insertions(+), 48 deletions(-) diff --git a/common/desktop/home.nix b/common/desktop/home.nix index 7032f2d1..8734620a 100644 --- a/common/desktop/home.nix +++ b/common/desktop/home.nix @@ -21,7 +21,8 @@ in { helix inputs.attic.packages.${pkgs.system}.attic inputs.comma.packages.${pkgs.system}.default - inputs.webcord.packages.${pkgs.system}.default + # inputs.webcord.packages.${pkgs.system}.default + discord jetbrains.clion jetbrains.rust-rover kdenlive diff --git a/common/modules/dns.nix b/common/modules/dns.nix index 056ea3aa..674d6e54 100644 --- a/common/modules/dns.nix +++ b/common/modules/dns.nix @@ -1,18 +1,22 @@ -{ config, pkgs, lib, hosts, flat_hosts, ... }: +{ config, pkgs, lib, self, ... }: # DNS Module to set up Unbound DNS with all my hosts in the config # Used for DNS Servers and my laptop with lib; let - inherit (builtins) filter hasAttr attrNames; - domains = attrNames hosts; - ipv4Host = filter (hasAttr "ip") flat_hosts; - ipv6Hosts = filter (hasAttr "ip6") flat_hosts; + inherit (builtins) filter attrValues; + domains = [ "hades" "olympus" "thalassa" ]; + mapConfig = host: { + inherit (host.config.networking) hostName domain; + inherit (host.config.meta) ipv4 ipv6; + }; + hosts = (map mapConfig (attrValues self.nixosConfigurations)); + ipv4Hosts = filter (v: v.ipv4 != null) hosts; + ipv6Hosts = filter (v: v.ipv6 != null) hosts; - localData = { hostname, realm, ip, ... }: ''"${hostname}.${realm}. A ${ip}"''; - local6Data = { hostname, realm, ip6, ... }: - ''"${hostname}.${realm}. AAAA ${ip6}"''; - ptrData = { hostname, realm, ip, ... }: ''"${ip} ${hostname}.${realm}"''; - ptr6Data = { hostname, realm, ip6, ... }: ''"${ip6} ${hostname}.${realm}"''; + localData = { hostName, domain, ipv4, ... }: ''"${hostName}.${domain}. A ${ipv4}"''; + local6Data = { hostName, domain, ipv6, ... }: ''"${hostName}.${domain}. AAAA ${ipv6}"''; + ptrData = { hostName, domain, ipv4, ... }: ''"${ipv4} ${hostName}.${domain}"''; + ptr6Data = { hostName, domain, ipv6, ... }: ''"${ipv6} ${hostName}.${domain}"''; cfg = config.services.v.dns; in { @@ -37,7 +41,7 @@ in { }; mode = mkOption { - type = enum [ "server" "laptop" ]; + type = types.enum [ "server" "laptop" ]; default = "laptop"; description = '' Whether to configure the DNS in server mode (listen on all interfaces) or laptop mode (just on localhost) @@ -69,8 +73,8 @@ in { local-zone = map (localdomain: ''"${localdomain}}." transparent'') domains; - local-data = (map localData ipv4Host) ++ (map local6Data ipv6Hosts); - local-data-ptr = (map ptrData ipv4Host) ++ (map ptr6Data ipv6Hosts); + local-data = (map localData ipv4Hosts) ++ (map local6Data ipv6Hosts); + local-data-ptr = (map ptrData ipv4Hosts) ++ (map ptr6Data ipv6Hosts); private-address = [ "127.0.0.0/8" diff --git a/common/modules/meta.nix b/common/modules/meta.nix index 639d212d..7b1a372e 100644 --- a/common/modules/meta.nix +++ b/common/modules/meta.nix @@ -1,4 +1,4 @@ -{ lib, ... }: +{ lib, config, ... }: with lib; let exposesOpts = { @@ -6,7 +6,7 @@ let domain = mkOption { type = types.str; example = ".example.com"; - description = '' + description = lib.mdDoc '' The domain under which this service should be available ''; }; @@ -14,30 +14,76 @@ let type = types.int; default = 80; example = 4242; - description = '' + description = lib.mdDoc '' The port under which the service runs on the host ''; }; }; }; -in -{ +in { options.meta = { - exposes = mkOption { type = with types; attrsOf (submodule exposesOpts); + default = { }; description = '' Exposed services ''; }; ipv4 = mkOption { - type = types.str; - description = '' - Own IPv4 Address + type = types.nullOr types.str; + default = null; + description = lib.mdDoc '' + Host's IPv4 Address ''; }; + + ipv6 = mkOption { + type = types.nullOr types.str; + default = null; + description = lib.mdDoc '' + Host's IPv6 address + ''; + }; + + mac = mkOption { + type = types.nullOr types.str; + default = null; + description = lib.mdDoc '' + Own MAC Address + ''; + }; + + isLaptop = mkOption { + type = types.bool; + default = false; + description = lib.mdDoc '' + Is this host a Laptop (i.e. no DNS entries should be made). + ''; + }; + + realm = mkOption { + readOnly = true; + type = types.nullOr (types.enum [ "thalassa" "hades" "olympus" ]); + default = config.networking.domain; + defaultText = literalExpression "config.network.domain"; + }; }; - config = { }; + config = { + # TODO: Open Firewall + + assertions = [ + { + assertion = config.meta.mac != null; + message = + "${config.networking.fqdnOrHostName} is missing a mac address"; + } + { + assertion = !config.meta.isLaptop -> config.meta.ipv4 != null; + message = + "${config.networking.fqdnOrHostName} needs ipv4 address set as it is not a laptop"; + } + ]; + }; } diff --git a/flake.lock b/flake.lock index de9c1bcd..9625e30b 100644 --- a/flake.lock +++ b/flake.lock @@ -820,11 +820,11 @@ ] }, "locked": { - "lastModified": 1704358952, - "narHash": "sha256-yazDFmdyKr0JGMqmzQ5bYOW5FWvau8oFvsQ8eSB2f3A=", + "lastModified": 1704383912, + "narHash": "sha256-Be7O73qoOj/z+4ZCgizdLlu+5BkVvO2KO299goZ9cW8=", "owner": "nix-community", "repo": "home-manager", - "rev": "c36cb65c4a0ba17ab9262ab3c30920429348746c", + "rev": "26b8adb300e50efceb51fff6859a1a6ba1ade4f7", "type": "github" }, "original": { @@ -1051,11 +1051,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1704266875, - "narHash": "sha256-luA5SGmeIRZlgLfSLUuR3eacS63q2bJ0Yywqak5lj3E=", + "lastModified": 1704458188, + "narHash": "sha256-f6BYEuIqnbrs6J/9m1/1VdkJ6d63hO9kUC09kTPuOqE=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "8e34f33464d77bea2d5cf7dc1066647b1ad2b324", + "rev": "172385318068519900a7d71c1024242fa6af75f0", "type": "github" }, "original": { @@ -1420,11 +1420,11 @@ "pre-commit-hooks": "pre-commit-hooks" }, "locked": { - "lastModified": 1704356551, - "narHash": "sha256-CIznfohcfLRrjRC03QW+tiDeYrJ+Pw10Ny8KPXex1RU=", + "lastModified": 1704466181, + "narHash": "sha256-ZpH8AkzTqai8zdBOVls8hQZnYg3ld94u7/qrQAlEfwI=", "owner": "pta2002", "repo": "nixvim", - "rev": "10d114f5a6e0a9591d13a28a92905e71cc100b39", + "rev": "1f1065df1efa716686b9357b4b5e0e4fa4a0af7e", "type": "github" }, "original": { @@ -1435,11 +1435,11 @@ }, "nur": { "locked": { - "lastModified": 1704378556, - "narHash": "sha256-sdx3IXUOwBMn0l5gUyfULiQRTBUcOq+6dLnHERYnEMY=", + "lastModified": 1704467118, + "narHash": "sha256-qhN9zdFKZ4x3KOB0hPx6zxz+lyQHX4UMK//WdbF4fj0=", "owner": "nix-community", "repo": "NUR", - "rev": "482244aa0deb5d2d86326859633ee6e2872cb500", + "rev": "784b598b006e691690283effc8e56115eae99bc8", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 7c886e89..11848e33 100644 --- a/flake.nix +++ b/flake.nix @@ -55,7 +55,11 @@ outputs = { self, nixpkgs, nixpkgs_stable, flake-utils-plus, nur, attic , deploy, home-manager, gnome-autounlock-keyring, lanzaboote, ... }@inputs: - let pkgs = self.pkgs.x86_64-linux.nixpkgs; + let + pkgs = self.pkgs.x86_64-linux.nixpkgs; + apply-local = pkgs.writeShellScriptBin "apply-local" '' + deploy ".#$(cat /etc/hostname)" -s + ''; in flake-utils-plus.lib.mkFlake { # `self` and `inputs` arguments are required inherit self inputs; @@ -76,13 +80,13 @@ ./common ]; - specialArgs = { inherit inputs; }; + specialArgs = { inherit self inputs; }; }; # hosts hosts = { - - "bastion.olympus" = { + # TODO: Figure out why this is reversed, and how/why it sets the FQDN + "olympus.bastion" = { modules = [ ./common/generic-vm.nix ./hosts/olympus/bastion ]; }; @@ -99,14 +103,14 @@ deploy = { user = "root"; nodes = { - "bastion.olympus" = { - hostname = "olympus.0x76.dev"; + "bastion-olympus" = { + hostname = "bastion.olympus"; fastConnection = true; remoteBuild = true; profiles = { system = { path = deploy.lib.x86_64-linux.activate.nixos - self.nixosConfigurations."bastion.olympus"; + self.nixosConfigurations."olympus.bastion"; }; }; }; @@ -121,14 +125,15 @@ }; }; + # Outputs outputsBuilder = channels: { devShells.default = channels.nixpkgs.mkShell { name = "devShell"; VAULT_ADDR = "http://vault.olympus:8200/"; packages = with pkgs; [ - attic.packages.${pkgs.system}.attic - # apply-local + attic.packages.${system}.attic + apply-local deploy.packages.${system}.deploy-rs deadnix statix @@ -149,7 +154,17 @@ # Checks checks = builtins.mapAttrs - (system: deployLib: deployLib.deployChecks self.deploy) deploy.lib; + (system: deployLib: deployLib.deployChecks self.deploy) deploy.lib // { + x86_64-linux.mac = pkgs.stdenvNoCC.mkDerivation { + name = "mac check"; + src = self; + dontBuild = true; + doCheck = true; + checkPhase = '' + echo "Hello World" + ''; + installPhase = "mkdir $out"; + }; + }; }; - } diff --git a/hosts/olympus/bastion/default.nix b/hosts/olympus/bastion/default.nix index a6b2908a..841ca474 100644 --- a/hosts/olympus/bastion/default.nix +++ b/hosts/olympus/bastion/default.nix @@ -12,6 +12,12 @@ programs.nix-ld.enable = true; + meta = { + ipv4 = "10.42.42.4"; + ipv6 = "2001:41f0:9639:1:80f0:7cff:fecb:bd6d"; + mac = "82:F0:7C:CB:BD:6D"; + }; + # Use the GRUB 2 boot loader. boot.loader.grub.enable = true; boot.loader.grub.device = "/dev/sda"; diff --git a/hosts/thalassa/aoife/default.nix b/hosts/thalassa/aoife/default.nix index ddeb1fe8..e8f7e05e 100644 --- a/hosts/thalassa/aoife/default.nix +++ b/hosts/thalassa/aoife/default.nix @@ -2,13 +2,20 @@ # your system. Help is available in the configuration.nix(5) man page # and in the NixOS manual (accessible by running ‘nixos-help’). -{ inputs, lib, ... }: { +{ inputs, lib, self, ... }: +let test = self.nixosConfigurations."bastion.olympus".config; +in { imports = [ ./hardware-configuration.nix inputs.nixos-hardware.nixosModules.lenovo-thinkpad-z ./hardware.nix ]; + meta = { + mac = "04:7b:cb:b6:2d:88"; + isLaptop = true; + }; + # Bootloader. boot = { bootspec.enable = true; @@ -31,6 +38,8 @@ # Enable Ozone rendering for Chromium and Electron apps. environment.sessionVariables.NIXOS_OZONE_WL = "1"; + environment.sessionVariables.myself = builtins.toJSON test; + # environment.sessionVariables.INFRA_INFO = self; # hosts.${config.networking.domain}.${config.networking.hostName}; From 166a9cd75a2766090bfe90b87eddda2035d4a2b9 Mon Sep 17 00:00:00 2001 From: Vivian Date: Mon, 8 Jan 2024 10:55:23 +0100 Subject: [PATCH 12/88] update lock --- flake.lock | 141 ++++++++++++++++++++++------------------------------- 1 file changed, 58 insertions(+), 83 deletions(-) diff --git a/flake.lock b/flake.lock index 9625e30b..1fb3a959 100644 --- a/flake.lock +++ b/flake.lock @@ -221,7 +221,7 @@ "all-cabal-json": "all-cabal-json", "crane": "crane_3", "devshell": "devshell", - "flake-parts": "flake-parts_2", + "flake-parts": "flake-parts_3", "flake-utils-pre-commit": "flake-utils-pre-commit", "ghc-utils": "ghc-utils", "gomod2nix": "gomod2nix", @@ -463,6 +463,27 @@ } }, "flake-parts_2": { + "inputs": { + "nixpkgs-lib": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1704152458, + "narHash": "sha256-DS+dGw7SKygIWf9w4eNBUZsK+4Ug27NwEWmn2tnbycg=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "88a2cd8166694ba0b6cb374700799cec53aef527", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_3": { "inputs": { "nixpkgs-lib": "nixpkgs-lib" }, @@ -530,22 +551,8 @@ } }, "flake-utils_10": { - "locked": { - "lastModified": 1678901627, - "narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6", - "type": "github" - }, - "original": { - "id": "flake-utils", - "type": "indirect" - } - }, - "flake-utils_11": { "inputs": { - "systems": "systems_11" + "systems": "systems_10" }, "locked": { "lastModified": 1681202837, @@ -670,24 +677,6 @@ "inputs": { "systems": "systems_8" }, - "locked": { - "lastModified": 1701680307, - "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_9": { - "inputs": { - "systems": "systems_9" - }, "locked": { "lastModified": 1685518550, "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=", @@ -702,6 +691,20 @@ "type": "github" } }, + "flake-utils_9": { + "locked": { + "lastModified": 1678901627, + "narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6", + "type": "github" + }, + "original": { + "id": "flake-utils", + "type": "indirect" + } + }, "flakeCompat": { "flake": false, "locked": { @@ -820,11 +823,11 @@ ] }, "locked": { - "lastModified": 1704383912, - "narHash": "sha256-Be7O73qoOj/z+4ZCgizdLlu+5BkVvO2KO299goZ9cW8=", + "lastModified": 1704498488, + "narHash": "sha256-yINKdShHrtjdiJhov+q0s3Y3B830ujRoSbHduUNyKag=", "owner": "nix-community", "repo": "home-manager", - "rev": "26b8adb300e50efceb51fff6859a1a6ba1ade4f7", + "rev": "51e44a13acea71b36245e8bd8c7db53e0a3e61ee", "type": "github" }, "original": { @@ -846,11 +849,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1704230057, - "narHash": "sha256-YTkPHIM/RF1WtWqRAxlaE2lqvzEBa58SZzQZB2sx4PY=", + "lastModified": 1704497899, + "narHash": "sha256-eyImNjgTHaF+be2fnNFY+Lv73rWVj7yOGxrafZNB/gI=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "81f7a56f0ee6bb454284feeeb192df56e39d98d1", + "rev": "a454a5894700db8b85d0e08ae1bb870c4b88ef77", "type": "github" }, "original": { @@ -1176,22 +1179,6 @@ "type": "github" } }, - "nixpkgs-stable_3": { - "locked": { - "lastModified": 1685801374, - "narHash": "sha256-otaSUoFEMM+LjBI1XL/xGB5ao6IwnZOXc47qhIgJe8U=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "c37ca420157f4abc31e26f436c1145f8951ff373", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-23.05", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs_10": { "locked": { "lastModified": 1686736559, @@ -1415,16 +1402,16 @@ }, "nixvim": { "inputs": { - "flake-utils": "flake-utils_8", + "flake-parts": "flake-parts_2", "nixpkgs": "nixpkgs_9", "pre-commit-hooks": "pre-commit-hooks" }, "locked": { - "lastModified": 1704466181, - "narHash": "sha256-ZpH8AkzTqai8zdBOVls8hQZnYg3ld94u7/qrQAlEfwI=", + "lastModified": 1704535566, + "narHash": "sha256-C39L/tRZ+AIzLCzdaC//vk1l8mjE+M+nm9S2JPAPZEU=", "owner": "pta2002", "repo": "nixvim", - "rev": "1f1065df1efa716686b9357b4b5e0e4fa4a0af7e", + "rev": "eecd2ab3cefe5a0b615a57dd435ee9ba95ed9c8e", "type": "github" }, "original": { @@ -1435,11 +1422,11 @@ }, "nur": { "locked": { - "lastModified": 1704467118, - "narHash": "sha256-qhN9zdFKZ4x3KOB0hPx6zxz+lyQHX4UMK//WdbF4fj0=", + "lastModified": 1704535142, + "narHash": "sha256-iNCliUH8hvi7KF6HGDvWa80qZR4FW+ajz4VJ6zQb4gg=", "owner": "nix-community", "repo": "NUR", - "rev": "784b598b006e691690283effc8e56115eae99bc8", + "rev": "33ac9895fdc714eff02e0ccf3b80711a5fd34913", "type": "github" }, "original": { @@ -1468,13 +1455,16 @@ "pre-commit-hooks": { "inputs": { "flake-compat": "flake-compat_7", - "flake-utils": "flake-utils_9", + "flake-utils": "flake-utils_8", "gitignore": "gitignore_2", "nixpkgs": [ "nixvim", "nixpkgs" ], - "nixpkgs-stable": "nixpkgs-stable_3" + "nixpkgs-stable": [ + "nixvim", + "nixpkgs" + ] }, "locked": { "lastModified": 1703939133, @@ -1714,21 +1704,6 @@ "type": "github" } }, - "systems_11": { - "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, @@ -1902,7 +1877,7 @@ }, "utils_4": { "inputs": { - "systems": "systems_10" + "systems": "systems_9" }, "locked": { "lastModified": 1694529238, @@ -1921,7 +1896,7 @@ "vault-secrets": { "inputs": { "flake-compat": "flake-compat_8", - "flake-utils": "flake-utils_10", + "flake-utils": "flake-utils_9", "nix": "nix", "nixpkgs": "nixpkgs_12", "utils": "utils_4" @@ -1942,7 +1917,7 @@ }, "vault-unseal": { "inputs": { - "flake-utils": "flake-utils_11", + "flake-utils": "flake-utils_10", "nixpkgs": "nixpkgs_13" }, "locked": { From 6d342f9d6e415c25ec2af3365f794d83624c3822 Mon Sep 17 00:00:00 2001 From: Vivian Date: Fri, 26 Jan 2024 10:31:50 +0100 Subject: [PATCH 13/88] pin kernel to fix flicker --- common/default.nix | 2 + flake.lock | 214 +++++++++++++++++-------------- flake.nix | 6 +- hosts/thalassa/aoife/default.nix | 11 +- 4 files changed, 130 insertions(+), 103 deletions(-) diff --git a/common/default.nix b/common/default.nix index 2e742aed..2819aefe 100644 --- a/common/default.nix +++ b/common/default.nix @@ -68,6 +68,8 @@ MaxFileSec=7day ''; + services.dbus.implementation = "broker"; + # Enable SSH services.openssh = { enable = true; diff --git a/flake.lock b/flake.lock index 1fb3a959..1babc5bb 100644 --- a/flake.lock +++ b/flake.lock @@ -50,11 +50,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1704159259, - "narHash": "sha256-OOEFibN9JQBepVeqxSNSBr6JUmdoZiH263ogms2jk0k=", + "lastModified": 1705617092, + "narHash": "sha256-n9PK4O4X4S1JkwpkMuYm1wHZYJzRqif8g3RuVIPD+rY=", "owner": "zhaofengli", "repo": "attic", - "rev": "e6bedf1869f382cfc51b69848d6e09d51585ead6", + "rev": "fbe252a5c21febbe920c025560cbd63b20e24f3b", "type": "github" }, "original": { @@ -108,11 +108,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1703707084, - "narHash": "sha256-27UMbdvgVu1A1zHnte+7RrNYyhtaQWy1yPm5WqLvX8A=", + "lastModified": 1705423848, + "narHash": "sha256-SdgQvh8XGQ6qYPG4SzNoMCrBXcRUw+7IOZBCn26IN6A=", "owner": "nix-community", "repo": "comma", - "rev": "cbcec3d8288ade32c39b76cf5087417e5c517397", + "rev": "f0c8a5cef39713a37b92e2bf207dd221c6432cc0", "type": "github" }, "original": { @@ -150,11 +150,11 @@ ] }, "locked": { - "lastModified": 1699218802, - "narHash": "sha256-5l0W4Q7z7A4BCstaF5JuBqXOVrZ3Vqst5+hUnP7EdUc=", + "lastModified": 1705625727, + "narHash": "sha256-naMq6+TNLpEiBBjc0XaCbMLYJxJXWTZz4JGSpYGgIOM=", "owner": "ipetkov", "repo": "crane", - "rev": "2d6c2aaff5a05e443eb15efddc21f9c73720340c", + "rev": "8f515142e805dc377cf8edb0ff75d14a11307f89", "type": "github" }, "original": { @@ -186,11 +186,11 @@ "utils": "utils_2" }, "locked": { - "lastModified": 1703087360, - "narHash": "sha256-0VUbWBW8VyiDRuimMuLsEO4elGuUw/nc2WDeuO1eN1M=", + "lastModified": 1704875591, + "narHash": "sha256-eWRLbqRcrILgztU/m/k7CYLzETKNbv0OsT2GjkaNm8A=", "owner": "serokell", "repo": "deploy-rs", - "rev": "b709d63debafce9f5645a5ba550c9e0983b3d1f7", + "rev": "1776009f1f3fb2b5d236b84d9815f2edee463a9b", "type": "github" }, "original": { @@ -412,11 +412,11 @@ "flake-compat_7": { "flake": false, "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", "owner": "edolstra", "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "type": "github" }, "original": { @@ -449,11 +449,11 @@ ] }, "locked": { - "lastModified": 1698882062, - "narHash": "sha256-HkhafUayIqxXyHH1X8d9RDl1M2CkFgZLjKD3MzabiEo=", + "lastModified": 1704982712, + "narHash": "sha256-2Ptt+9h8dczgle2Oo6z5ni5rt/uLMG47UFTR1ry/wgg=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "8c9fa2545007b49a5db5f650ae91f227672c3877", + "rev": "07f6395285469419cf9d078f59b5b49993198c00", "type": "github" }, "original": { @@ -470,11 +470,11 @@ ] }, "locked": { - "lastModified": 1704152458, - "narHash": "sha256-DS+dGw7SKygIWf9w4eNBUZsK+4Ug27NwEWmn2tnbycg=", + "lastModified": 1704982712, + "narHash": "sha256-2Ptt+9h8dczgle2Oo6z5ni5rt/uLMG47UFTR1ry/wgg=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "88a2cd8166694ba0b6cb374700799cec53aef527", + "rev": "07f6395285469419cf9d078f59b5b49993198c00", "type": "github" }, "original": { @@ -642,11 +642,11 @@ "systems": "systems_6" }, "locked": { - "lastModified": 1694529238, - "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", + "lastModified": 1705309234, + "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", "owner": "numtide", "repo": "flake-utils", - "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", + "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", "type": "github" }, "original": { @@ -678,11 +678,11 @@ "systems": "systems_8" }, "locked": { - "lastModified": 1685518550, - "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=", + "lastModified": 1701680307, + "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", "owner": "numtide", "repo": "flake-utils", - "rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef", + "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", "type": "github" }, "original": { @@ -746,11 +746,11 @@ ] }, "locked": { - "lastModified": 1660459072, - "narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=", + "lastModified": 1703887061, + "narHash": "sha256-gGPa9qWNc6eCXT/+Z5/zMkyYOuRZqeFZBDbopNZQkuY=", "owner": "hercules-ci", "repo": "gitignore.nix", - "rev": "a20de23b925fd8264fd7fad6454652e142fd7f73", + "rev": "43e1aa1308018f37118e34d3a9cb4f5e75dc11d5", "type": "github" }, "original": { @@ -768,11 +768,11 @@ ] }, "locked": { - "lastModified": 1660459072, - "narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=", + "lastModified": 1703887061, + "narHash": "sha256-gGPa9qWNc6eCXT/+Z5/zMkyYOuRZqeFZBDbopNZQkuY=", "owner": "hercules-ci", "repo": "gitignore.nix", - "rev": "a20de23b925fd8264fd7fad6454652e142fd7f73", + "rev": "43e1aa1308018f37118e34d3a9cb4f5e75dc11d5", "type": "github" }, "original": { @@ -823,11 +823,32 @@ ] }, "locked": { - "lastModified": 1704498488, - "narHash": "sha256-yINKdShHrtjdiJhov+q0s3Y3B830ujRoSbHduUNyKag=", + "lastModified": 1706134977, + "narHash": "sha256-KwNb1Li3K6vuVwZ77tFjZ89AWBo7AiCs9t0Cens4BsM=", "owner": "nix-community", "repo": "home-manager", - "rev": "51e44a13acea71b36245e8bd8c7db53e0a3e61ee", + "rev": "6359d40f6ec0b72a38e02b333f343c3d4929ec10", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "home-manager_2": { + "inputs": { + "nixpkgs": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1705879479, + "narHash": "sha256-ZIohbyly1KOe+8I3gdyNKgVN/oifKdmeI0DzMfytbtg=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "2d47379ad591bcb14ca95a90b6964b8305f6c913", "type": "github" }, "original": { @@ -849,11 +870,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1704497899, - "narHash": "sha256-eyImNjgTHaF+be2fnNFY+Lv73rWVj7yOGxrafZNB/gI=", + "lastModified": 1705918090, + "narHash": "sha256-FkErVXz4XDeLzhjuNjMhDBz7SF2lVKWhdpm5dITrUpY=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "a454a5894700db8b85d0e08ae1bb870c4b88ef77", + "rev": "3c3f6d1b0f13a0e30d192838e233107182dec032", "type": "github" }, "original": { @@ -925,11 +946,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1704120350, - "narHash": "sha256-s5BOPAnVc4e/4WvGDeeF3VSLAWzBUB+YW6fJb3pFbRw=", + "lastModified": 1706108417, + "narHash": "sha256-gW/Zlgf/08/qNWO5JjQLDJAGAH4v8WmgolD+QbUVwq8=", "owner": "astro", "repo": "microvm.nix", - "rev": "d5553b1388f2947915c4cec6249b89474046573a", + "rev": "ce0d2e393216e708d2abc228c68a7a8c2147aeec", "type": "github" }, "original": { @@ -1000,6 +1021,27 @@ "type": "indirect" } }, + "nix-darwin": { + "inputs": { + "nixpkgs": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1705915768, + "narHash": "sha256-+Jlz8OAqkOwJlioac9wtpsCnjgGYUhvLpgJR/5tP9po=", + "owner": "lnl7", + "repo": "nix-darwin", + "rev": "1e706ef323de76236eb183d7784f3bd57255ec0b", + "type": "github" + }, + "original": { + "owner": "lnl7", + "repo": "nix-darwin", + "type": "github" + } + }, "nix-pypi-fetcher": { "flake": false, "locked": { @@ -1039,11 +1081,11 @@ ] }, "locked": { - "lastModified": 1701689616, - "narHash": "sha256-ewnfgvRy73HoP5KnYmy1Rcr4m4yShvsb6TCCaKoW8pc=", + "lastModified": 1706085261, + "narHash": "sha256-7PgpHRHyShINcqgevPP1fJ6N8kM5ZSOJnk3QZBrOCQ0=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "246219bc21b943c6f6812bb7744218ba0df08600", + "rev": "896f6589db5b25023b812bbb6c1f5d3a499b1132", "type": "github" }, "original": { @@ -1054,11 +1096,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1704458188, - "narHash": "sha256-f6BYEuIqnbrs6J/9m1/1VdkJ6d63hO9kUC09kTPuOqE=", + "lastModified": 1706085157, + "narHash": "sha256-0pTbYwn9qubaZLtuN0Ouj0neEfrir1wSNyH8gL1BzB0=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "172385318068519900a7d71c1024242fa6af75f0", + "rev": "e756ff62c2e9db4f7c197bc1849a02024a7bfb2e", "type": "github" }, "original": { @@ -1165,16 +1207,16 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1685801374, - "narHash": "sha256-otaSUoFEMM+LjBI1XL/xGB5ao6IwnZOXc47qhIgJe8U=", + "lastModified": 1704874635, + "narHash": "sha256-YWuCrtsty5vVZvu+7BchAxmcYzTMfolSPP5io8+WYCg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c37ca420157f4abc31e26f436c1145f8951ff373", + "rev": "3dc440faeee9e889fe2d1b4d25ad0f430d449356", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-23.05", + "ref": "nixos-23.11", "repo": "nixpkgs", "type": "github" } @@ -1356,26 +1398,26 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1704194953, - "narHash": "sha256-RtDKd8Mynhe5CFnVT8s0/0yqtWFMM9LmCzXv/YKxnq4=", + "lastModified": 1706150372, + "narHash": "sha256-L0ioe5hifmkzltYr8Eo+72QvdDYPKHhDp9oWm3yqHkw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "bd645e8668ec6612439a9ee7e71f7eac4099d4f6", + "rev": "854f4671883250e456dc1553c783ac9741a0e9a4", "type": "github" }, "original": { "id": "nixpkgs", - "ref": "nixos-unstable", + "ref": "nixos-unstable-small", "type": "indirect" } }, "nixpkgs_9": { "locked": { - "lastModified": 1704194953, - "narHash": "sha256-RtDKd8Mynhe5CFnVT8s0/0yqtWFMM9LmCzXv/YKxnq4=", + "lastModified": 1705856552, + "narHash": "sha256-JXfnuEf5Yd6bhMs/uvM67/joxYKoysyE3M2k6T3eWbg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "bd645e8668ec6612439a9ee7e71f7eac4099d4f6", + "rev": "612f97239e2cc474c13c9dafa0df378058c5ad8d", "type": "github" }, "original": { @@ -1385,33 +1427,20 @@ "type": "github" } }, - "nixpkgs_stable": { - "locked": { - "lastModified": 1704018918, - "narHash": "sha256-erjg/HrpC9liEfm7oLqb8GXCqsxaFwIIPqCsknW5aFY=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "2c9c58e98243930f8cb70387934daa4bc8b00373", - "type": "github" - }, - "original": { - "id": "nixpkgs", - "ref": "nixos-23.05", - "type": "indirect" - } - }, "nixvim": { "inputs": { "flake-parts": "flake-parts_2", + "home-manager": "home-manager_2", + "nix-darwin": "nix-darwin", "nixpkgs": "nixpkgs_9", "pre-commit-hooks": "pre-commit-hooks" }, "locked": { - "lastModified": 1704535566, - "narHash": "sha256-C39L/tRZ+AIzLCzdaC//vk1l8mjE+M+nm9S2JPAPZEU=", + "lastModified": 1706111147, + "narHash": "sha256-4VtYk79oJExuHxwN/5NIzLBzq4VVcfbnXawJMUIXrrc=", "owner": "pta2002", "repo": "nixvim", - "rev": "eecd2ab3cefe5a0b615a57dd435ee9ba95ed9c8e", + "rev": "ddce82d0d1fb88c957ecb7debed2ae6c63b60750", "type": "github" }, "original": { @@ -1422,11 +1451,11 @@ }, "nur": { "locked": { - "lastModified": 1704535142, - "narHash": "sha256-iNCliUH8hvi7KF6HGDvWa80qZR4FW+ajz4VJ6zQb4gg=", + "lastModified": 1706174248, + "narHash": "sha256-VNN7md+kJhBvl5bINEXybSG4jHavrQIlXdywpcaEEwc=", "owner": "nix-community", "repo": "NUR", - "rev": "33ac9895fdc714eff02e0ccf3b80711a5fd34913", + "rev": "20f64c7125413fc19372f11b45db99363bea7c1f", "type": "github" }, "original": { @@ -1467,11 +1496,11 @@ ] }, "locked": { - "lastModified": 1703939133, - "narHash": "sha256-Gxe+mfOT6bL7wLC/tuT2F+V+Sb44jNr8YsJ3cyIl4Mo=", + "lastModified": 1705757126, + "narHash": "sha256-Eksr+n4Q8EYZKAN0Scef5JK4H6FcHc+TKNHb95CWm+c=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "9d3d7e18c6bc4473d7520200d4ddab12f8402d38", + "rev": "f56597d53fd174f796b5a7d3ee0b494f9e2285cc", "type": "github" }, "original": { @@ -1498,11 +1527,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1699271226, - "narHash": "sha256-8Jt1KW3xTjolD6c6OjJm9USx/jmL+VVmbooADCkdDfU=", + "lastModified": 1705757126, + "narHash": "sha256-Eksr+n4Q8EYZKAN0Scef5JK4H6FcHc+TKNHb95CWm+c=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "ea758da1a6dcde6dc36db348ed690d09b9864128", + "rev": "f56597d53fd174f796b5a7d3ee0b494f9e2285cc", "type": "github" }, "original": { @@ -1574,7 +1603,6 @@ "nixos-generators": "nixos-generators", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs_8", - "nixpkgs_stable": "nixpkgs_stable", "nixvim": "nixvim", "nur": "nur", "riff": "riff", @@ -1629,11 +1657,11 @@ ] }, "locked": { - "lastModified": 1699409596, - "narHash": "sha256-L3g1smIol3dGTxkUQOlNShJtZLvjLzvtbaeTRizwZBU=", + "lastModified": 1705889935, + "narHash": "sha256-77KPBK5e0ACNzIgJDMuptTtEqKvHBxTO3ksqXHHVO+4=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "58240e1ac627cef3ea30c7732fedfb4f51afd8e7", + "rev": "e36f66bb10b09f5189dc3b1706948eaeb9a1c555", "type": "github" }, "original": { @@ -1902,11 +1930,11 @@ "utils": "utils_4" }, "locked": { - "lastModified": 1702898724, - "narHash": "sha256-ypRLpx5VCTyE3mPKNRSOLMfqaOkyLXNU7opn0+dI/Jg=", + "lastModified": 1705066493, + "narHash": "sha256-x5VxzYep3ANmk5t3H1gONEqqVZvpbDAKzlSA8r3mqjA=", "owner": "serokell", "repo": "vault-secrets", - "rev": "9139484e388fe98e3facc097b66c018049d5e123", + "rev": "202f0231f9906e8fab094c2ffc5bf24995b6df8b", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 11848e33..99eb4e3e 100644 --- a/flake.nix +++ b/flake.nix @@ -5,8 +5,8 @@ # * https://github.com/Infinidoge/nix-minecraft inputs = { - nixpkgs.url = "nixpkgs/nixos-unstable"; - nixpkgs_stable.url = "nixpkgs/nixos-23.05"; + nixpkgs.url = "nixpkgs/nixos-unstable-small"; + # nixpkgs_stable.url = "nixpkgs/nixos-23.05"; flake-utils-plus.url = "github:gytis-ivaskevicius/flake-utils-plus/v1.4.0"; @@ -53,7 +53,7 @@ essentials.url = "github:jdonszelmann/essentials"; }; - outputs = { self, nixpkgs, nixpkgs_stable, flake-utils-plus, nur, attic + outputs = { self, nixpkgs, flake-utils-plus, nur, attic , deploy, home-manager, gnome-autounlock-keyring, lanzaboote, ... }@inputs: let pkgs = self.pkgs.x86_64-linux.nixpkgs; diff --git a/hosts/thalassa/aoife/default.nix b/hosts/thalassa/aoife/default.nix index e8f7e05e..23ba6f40 100644 --- a/hosts/thalassa/aoife/default.nix +++ b/hosts/thalassa/aoife/default.nix @@ -2,9 +2,8 @@ # your system. Help is available in the configuration.nix(5) man page # and in the NixOS manual (accessible by running ‘nixos-help’). -{ inputs, lib, self, ... }: -let test = self.nixosConfigurations."bastion.olympus".config; -in { +{ inputs, lib, pkgs, ... }: +{ imports = [ ./hardware-configuration.nix inputs.nixos-hardware.nixosModules.lenovo-thinkpad-z @@ -23,6 +22,8 @@ in { resumeDevice = "/dev/nvme0n1p2"; loader.systemd-boot.enable = lib.mkForce false; + kernelPackages = pkgs.linuxPackages_6_6; + kernel.sysctl = { "perf_event_paranoid" = 1; "kptr_restrict" = 0; @@ -38,10 +39,6 @@ in { # Enable Ozone rendering for Chromium and Electron apps. environment.sessionVariables.NIXOS_OZONE_WL = "1"; - environment.sessionVariables.myself = builtins.toJSON test; - - - # environment.sessionVariables.INFRA_INFO = self; # hosts.${config.networking.domain}.${config.networking.hostName}; # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions From c2552d39a1a211bbe2b14cb6de9062de1d4e33b4 Mon Sep 17 00:00:00 2001 From: Vivian Date: Sun, 4 Feb 2024 14:27:26 +0100 Subject: [PATCH 14/88] update --- flake.lock | 146 ++++++++++++++++++++++++++--------------------------- 1 file changed, 73 insertions(+), 73 deletions(-) diff --git a/flake.lock b/flake.lock index 1babc5bb..0ccc2d0a 100644 --- a/flake.lock +++ b/flake.lock @@ -87,11 +87,11 @@ "stable": "stable" }, "locked": { - "lastModified": 1699171528, - "narHash": "sha256-ZsN6y+tgN5w84oAqRQpMhIvQM39ZNSZoZvn2AK0QYr4=", + "lastModified": 1706509311, + "narHash": "sha256-QQKQ6r3CID8aXn2ZXZ79ZJxdCOeVP+JTnOctDALErOw=", "owner": "zhaofengli", "repo": "colmena", - "rev": "665603956a1c3040d756987bc7a810ffe86a3b15", + "rev": "c84ccd0a7a712475e861c2b111574472b1a8d0cd", "type": "github" }, "original": { @@ -108,11 +108,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1705423848, - "narHash": "sha256-SdgQvh8XGQ6qYPG4SzNoMCrBXcRUw+7IOZBCn26IN6A=", + "lastModified": 1706553580, + "narHash": "sha256-eNNKiQH3aBbYL1F26LK5YdvvUZLkFKVS8M86rC+AWe8=", "owner": "nix-community", "repo": "comma", - "rev": "f0c8a5cef39713a37b92e2bf207dd221c6432cc0", + "rev": "9d8bcc369e4dc1787663bae5576add02009a7c5e", "type": "github" }, "original": { @@ -150,11 +150,11 @@ ] }, "locked": { - "lastModified": 1705625727, - "narHash": "sha256-naMq6+TNLpEiBBjc0XaCbMLYJxJXWTZz4JGSpYGgIOM=", + "lastModified": 1706473964, + "narHash": "sha256-Fq6xleee/TsX6NbtoRuI96bBuDHMU57PrcK9z1QEKbk=", "owner": "ipetkov", "repo": "crane", - "rev": "8f515142e805dc377cf8edb0ff75d14a11307f89", + "rev": "c798790eabec3e3da48190ae3698ac227aab770c", "type": "github" }, "original": { @@ -470,11 +470,11 @@ ] }, "locked": { - "lastModified": 1704982712, - "narHash": "sha256-2Ptt+9h8dczgle2Oo6z5ni5rt/uLMG47UFTR1ry/wgg=", + "lastModified": 1706830856, + "narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "07f6395285469419cf9d078f59b5b49993198c00", + "rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f", "type": "github" }, "original": { @@ -823,11 +823,11 @@ ] }, "locked": { - "lastModified": 1706134977, - "narHash": "sha256-KwNb1Li3K6vuVwZ77tFjZ89AWBo7AiCs9t0Cens4BsM=", + "lastModified": 1707029945, + "narHash": "sha256-GA6IOAKouQlTbile9PvAa3UUh7s5mi6NsZMX8lpgozg=", "owner": "nix-community", "repo": "home-manager", - "rev": "6359d40f6ec0b72a38e02b333f343c3d4929ec10", + "rev": "230836bb7ca318aec7bad8442954da611d06a172", "type": "github" }, "original": { @@ -844,11 +844,11 @@ ] }, "locked": { - "lastModified": 1705879479, - "narHash": "sha256-ZIohbyly1KOe+8I3gdyNKgVN/oifKdmeI0DzMfytbtg=", + "lastModified": 1706955260, + "narHash": "sha256-W3y0j77IDVbmbajudHoUr46RpswujUCl+D5Vru53UsI=", "owner": "nix-community", "repo": "home-manager", - "rev": "2d47379ad591bcb14ca95a90b6964b8305f6c913", + "rev": "880d9bc2110f7cae59698f715b8ca42cdc53670c", "type": "github" }, "original": { @@ -870,11 +870,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1705918090, - "narHash": "sha256-FkErVXz4XDeLzhjuNjMhDBz7SF2lVKWhdpm5dITrUpY=", + "lastModified": 1706522979, + "narHash": "sha256-2wP2qEFVoZ9q8C9MZdAwXPKDkIIQiEwUzuzCxVKafDc=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "3c3f6d1b0f13a0e30d192838e233107182dec032", + "rev": "c42edac7eb881315bb2a8dfd5190c8c87b91e084", "type": "github" }, "original": { @@ -921,16 +921,16 @@ "nixpkgs": [ "nixpkgs" ], - "nixpkgs-22_11": "nixpkgs-22_11", "nixpkgs-23_05": "nixpkgs-23_05", + "nixpkgs-23_11": "nixpkgs-23_11", "utils": "utils_3" }, "locked": { - "lastModified": 1703666786, - "narHash": "sha256-SLPNpM/rI8XPyVJAxMYAe+n6NiYSpuXvdwPILHP4yZI=", + "lastModified": 1706742486, + "narHash": "sha256-sv/MISTeD0rqeVivpZJpynboMWJp6i62OmrZX1rGl38=", "owner": "simple-nixos-mailserver", "repo": "nixos-mailserver", - "rev": "b5023b36a1f6628865cb42b4353bd2ddde0ea9f4", + "rev": "9e36323ae3dde787f761420465c3ae560f3dbf29", "type": "gitlab" }, "original": { @@ -946,11 +946,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1706108417, - "narHash": "sha256-gW/Zlgf/08/qNWO5JjQLDJAGAH4v8WmgolD+QbUVwq8=", + "lastModified": 1706214321, + "narHash": "sha256-42FZWeJQNYgz0ZkclMzShuvjT9TvJNRN78Iu3SEyD4M=", "owner": "astro", "repo": "microvm.nix", - "rev": "ce0d2e393216e708d2abc228c68a7a8c2147aeec", + "rev": "186b8bf6dbacc1ab55fe8ac8d5a2bbf76a1a70e1", "type": "github" }, "original": { @@ -1029,11 +1029,11 @@ ] }, "locked": { - "lastModified": 1705915768, - "narHash": "sha256-+Jlz8OAqkOwJlioac9wtpsCnjgGYUhvLpgJR/5tP9po=", + "lastModified": 1706833576, + "narHash": "sha256-w7BL0EWRts+nD1lbLECIuz6fRzmmV+z8oWwoY7womR0=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "1e706ef323de76236eb183d7784f3bd57255ec0b", + "rev": "bdbae6ecff8fcc322bf6b9053c0b984912378af7", "type": "github" }, "original": { @@ -1096,11 +1096,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1706085157, - "narHash": "sha256-0pTbYwn9qubaZLtuN0Ouj0neEfrir1wSNyH8gL1BzB0=", + "lastModified": 1706834982, + "narHash": "sha256-3CfxA7gZ+DVv/N9Pvw61bV5Oe/mWfxYPyVQGqp9TMJA=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "e756ff62c2e9db4f7c197bc1849a02024a7bfb2e", + "rev": "83e571bb291161682b9c3ccd48318f115143a550", "type": "github" }, "original": { @@ -1125,28 +1125,13 @@ "type": "github" } }, - "nixpkgs-22_11": { - "locked": { - "lastModified": 1669558522, - "narHash": "sha256-yqxn+wOiPqe6cxzOo4leeJOp1bXE/fjPEi/3F/bBHv8=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "ce5fe99df1f15a09a91a86be9738d68fadfbad82", - "type": "github" - }, - "original": { - "id": "nixpkgs", - "ref": "nixos-22.11", - "type": "indirect" - } - }, "nixpkgs-23_05": { "locked": { - "lastModified": 1684782344, - "narHash": "sha256-SHN8hPYYSX0thDrMLMWPWYulK3YFgASOrCsIL3AJ78g=", + "lastModified": 1704290814, + "narHash": "sha256-LWvKHp7kGxk/GEtlrGYV68qIvPHkU9iToomNFGagixU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8966c43feba2c701ed624302b6a935f97bcbdf88", + "rev": "70bdadeb94ffc8806c0570eb5c2695ad29f0e421", "type": "github" }, "original": { @@ -1155,6 +1140,21 @@ "type": "indirect" } }, + "nixpkgs-23_11": { + "locked": { + "lastModified": 1706098335, + "narHash": "sha256-r3dWjT8P9/Ah5m5ul4WqIWD8muj5F+/gbCdjiNVBKmU=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "a77ab169a83a4175169d78684ddd2e54486ac651", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "ref": "nixos-23.11", + "type": "indirect" + } + }, "nixpkgs-lib": { "locked": { "dir": "lib", @@ -1398,11 +1398,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1706150372, - "narHash": "sha256-L0ioe5hifmkzltYr8Eo+72QvdDYPKHhDp9oWm3yqHkw=", + "lastModified": 1706941790, + "narHash": "sha256-V4apg6WJS6hc1VhHuUpaLt0r/ulu/hvFruP6NKdEdfo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "854f4671883250e456dc1553c783ac9741a0e9a4", + "rev": "4f301350dacb4eb0a93578ef3b07c8a996c777e7", "type": "github" }, "original": { @@ -1413,11 +1413,11 @@ }, "nixpkgs_9": { "locked": { - "lastModified": 1705856552, - "narHash": "sha256-JXfnuEf5Yd6bhMs/uvM67/joxYKoysyE3M2k6T3eWbg=", + "lastModified": 1706732774, + "narHash": "sha256-hqJlyJk4MRpcItGYMF+3uHe8HvxNETWvlGtLuVpqLU0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "612f97239e2cc474c13c9dafa0df378058c5ad8d", + "rev": "b8b232ae7b8b144397fdb12d20f592e5e7c1a64d", "type": "github" }, "original": { @@ -1436,11 +1436,11 @@ "pre-commit-hooks": "pre-commit-hooks" }, "locked": { - "lastModified": 1706111147, - "narHash": "sha256-4VtYk79oJExuHxwN/5NIzLBzq4VVcfbnXawJMUIXrrc=", + "lastModified": 1706997840, + "narHash": "sha256-GbfTveveq/FNJ+xVcj1w3jW2ftsc8dmwxVS5vFehq+I=", "owner": "pta2002", "repo": "nixvim", - "rev": "ddce82d0d1fb88c957ecb7debed2ae6c63b60750", + "rev": "81f54bcdd6f6a83372dce7723c83b8605769e9a5", "type": "github" }, "original": { @@ -1451,11 +1451,11 @@ }, "nur": { "locked": { - "lastModified": 1706174248, - "narHash": "sha256-VNN7md+kJhBvl5bINEXybSG4jHavrQIlXdywpcaEEwc=", + "lastModified": 1707051045, + "narHash": "sha256-A9YmoAZVpSVD4nLX6WfOrmoBfxVcalrZJZCMMDXoKsI=", "owner": "nix-community", "repo": "NUR", - "rev": "20f64c7125413fc19372f11b45db99363bea7c1f", + "rev": "84d09dbc8092ac63ee99245bf8518276f12df4aa", "type": "github" }, "original": { @@ -1496,11 +1496,11 @@ ] }, "locked": { - "lastModified": 1705757126, - "narHash": "sha256-Eksr+n4Q8EYZKAN0Scef5JK4H6FcHc+TKNHb95CWm+c=", + "lastModified": 1706424699, + "narHash": "sha256-Q3RBuOpZNH2eFA1e+IHgZLAOqDD9SKhJ/sszrL8bQD4=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "f56597d53fd174f796b5a7d3ee0b494f9e2285cc", + "rev": "7c54e08a689b53c8a1e5d70169f2ec9e2a68ffaf", "type": "github" }, "original": { @@ -1527,11 +1527,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1705757126, - "narHash": "sha256-Eksr+n4Q8EYZKAN0Scef5JK4H6FcHc+TKNHb95CWm+c=", + "lastModified": 1706424699, + "narHash": "sha256-Q3RBuOpZNH2eFA1e+IHgZLAOqDD9SKhJ/sszrL8bQD4=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "f56597d53fd174f796b5a7d3ee0b494f9e2285cc", + "rev": "7c54e08a689b53c8a1e5d70169f2ec9e2a68ffaf", "type": "github" }, "original": { @@ -1657,11 +1657,11 @@ ] }, "locked": { - "lastModified": 1705889935, - "narHash": "sha256-77KPBK5e0ACNzIgJDMuptTtEqKvHBxTO3ksqXHHVO+4=", + "lastModified": 1706494265, + "narHash": "sha256-4ilEUJEwNaY9r/8BpL3VmZiaGber0j09lvvx0e/bosA=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "e36f66bb10b09f5189dc3b1706948eaeb9a1c555", + "rev": "246ba7102553851af60e0382f558f6bc5f63fa13", "type": "github" }, "original": { From 4960ed086651398247c7e9097de234745fda9812 Mon Sep 17 00:00:00 2001 From: Vivian Date: Tue, 20 Feb 2024 10:56:17 +0100 Subject: [PATCH 15/88] aoife updates --- common/modules/gnome/default.nix | 8 +- flake.lock | 141 +++++++++++++++++------------- hosts/thalassa/aoife/default.nix | 5 ++ hosts/thalassa/aoife/hardware.nix | 2 +- 4 files changed, 88 insertions(+), 68 deletions(-) diff --git a/common/modules/gnome/default.nix b/common/modules/gnome/default.nix index fce7cfe3..964ca53c 100644 --- a/common/modules/gnome/default.nix +++ b/common/modules/gnome/default.nix @@ -29,11 +29,11 @@ in { xserver = { enable = true; excludePackages = [ pkgs.xterm ]; - # Configure keymap in X11 - - layout = "us"; - xkbVariant = "altgr-intl"; + xkb = { + layout = "us"; + variant = "altgr-intl"; + }; # Enable the GNOME Desktop Environment. displayManager.gdm.enable = true; diff --git a/flake.lock b/flake.lock index 0ccc2d0a..fede0dfa 100644 --- a/flake.lock +++ b/flake.lock @@ -50,11 +50,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1705617092, - "narHash": "sha256-n9PK4O4X4S1JkwpkMuYm1wHZYJzRqif8g3RuVIPD+rY=", + "lastModified": 1707922053, + "narHash": "sha256-wSZjK+rOXn+UQiP1NbdNn5/UW6UcBxjvlqr2wh++MbM=", "owner": "zhaofengli", "repo": "attic", - "rev": "fbe252a5c21febbe920c025560cbd63b20e24f3b", + "rev": "6eabc3f02fae3683bffab483e614bebfcd476b21", "type": "github" }, "original": { @@ -150,11 +150,11 @@ ] }, "locked": { - "lastModified": 1706473964, - "narHash": "sha256-Fq6xleee/TsX6NbtoRuI96bBuDHMU57PrcK9z1QEKbk=", + "lastModified": 1707685877, + "narHash": "sha256-XoXRS+5whotelr1rHiZle5t5hDg9kpguS5yk8c8qzOc=", "owner": "ipetkov", "repo": "crane", - "rev": "c798790eabec3e3da48190ae3698ac227aab770c", + "rev": "2c653e4478476a52c6aa3ac0495e4dea7449ea0e", "type": "github" }, "original": { @@ -186,11 +186,11 @@ "utils": "utils_2" }, "locked": { - "lastModified": 1704875591, - "narHash": "sha256-eWRLbqRcrILgztU/m/k7CYLzETKNbv0OsT2GjkaNm8A=", + "lastModified": 1708091384, + "narHash": "sha256-dTGGw2y8wvfjr+J9CjQbfdulOq72hUG17HXVNxpH1yE=", "owner": "serokell", "repo": "deploy-rs", - "rev": "1776009f1f3fb2b5d236b84d9815f2edee463a9b", + "rev": "0a0187794ac7f7a1e62cda3dabf8dc041f868790", "type": "github" }, "original": { @@ -410,6 +410,20 @@ } }, "flake-compat_7": { + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "revCount": 57, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" + } + }, + "flake-compat_8": { "flake": false, "locked": { "lastModified": 1696426674, @@ -425,7 +439,7 @@ "type": "github" } }, - "flake-compat_8": { + "flake-compat_9": { "flake": false, "locked": { "lastModified": 1673956053, @@ -449,11 +463,11 @@ ] }, "locked": { - "lastModified": 1704982712, - "narHash": "sha256-2Ptt+9h8dczgle2Oo6z5ni5rt/uLMG47UFTR1ry/wgg=", + "lastModified": 1706830856, + "narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "07f6395285469419cf9d078f59b5b49993198c00", + "rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f", "type": "github" }, "original": { @@ -823,11 +837,11 @@ ] }, "locked": { - "lastModified": 1707029945, - "narHash": "sha256-GA6IOAKouQlTbile9PvAa3UUh7s5mi6NsZMX8lpgozg=", + "lastModified": 1708294481, + "narHash": "sha256-DZtxmeb4OR7iCaKUUuq05ADV2rX8WReZEF7Tq//W0+Y=", "owner": "nix-community", "repo": "home-manager", - "rev": "230836bb7ca318aec7bad8442954da611d06a172", + "rev": "a54e05bc12d88ff2df941d0dc1183cb5235fa438", "type": "github" }, "original": { @@ -844,11 +858,11 @@ ] }, "locked": { - "lastModified": 1706955260, - "narHash": "sha256-W3y0j77IDVbmbajudHoUr46RpswujUCl+D5Vru53UsI=", + "lastModified": 1707919853, + "narHash": "sha256-qxmBGDzutuJ/tsX4gp+Mr7fjxOZBbeT9ixhS5o4iFOw=", "owner": "nix-community", "repo": "home-manager", - "rev": "880d9bc2110f7cae59698f715b8ca42cdc53670c", + "rev": "043ba285c6dc20f36441d48525402bcb9743c498", "type": "github" }, "original": { @@ -870,11 +884,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1706522979, - "narHash": "sha256-2wP2qEFVoZ9q8C9MZdAwXPKDkIIQiEwUzuzCxVKafDc=", + "lastModified": 1708388174, + "narHash": "sha256-mLROAGNyOykYwWOLga24BX05GnRE+acms0Ru10tye2o=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "c42edac7eb881315bb2a8dfd5190c8c87b91e084", + "rev": "73fec69386e8005911e15f3abe6bb6cee7fd9711", "type": "github" }, "original": { @@ -946,11 +960,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1706214321, - "narHash": "sha256-42FZWeJQNYgz0ZkclMzShuvjT9TvJNRN78Iu3SEyD4M=", + "lastModified": 1708421045, + "narHash": "sha256-xoN9rB7Uyoj+fIjMvHN1l3dGyQff7hV4KIVCYDocn4U=", "owner": "astro", "repo": "microvm.nix", - "rev": "186b8bf6dbacc1ab55fe8ac8d5a2bbf76a1a70e1", + "rev": "c3f2eb54f96f56ec93fcccc7f14808f10a61e6ca", "type": "github" }, "original": { @@ -1029,11 +1043,11 @@ ] }, "locked": { - "lastModified": 1706833576, - "narHash": "sha256-w7BL0EWRts+nD1lbLECIuz6fRzmmV+z8oWwoY7womR0=", + "lastModified": 1707707289, + "narHash": "sha256-YuDt/eSTXMEHv8jS8BEZJgqCcG8Tr3cyqaZjJFXZHsw=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "bdbae6ecff8fcc322bf6b9053c0b984912378af7", + "rev": "44f50a5ecaab72a61d5fd8e5c5717bc4bf9c25dd", "type": "github" }, "original": { @@ -1060,11 +1074,11 @@ }, "nixlib": { "locked": { - "lastModified": 1693701915, - "narHash": "sha256-waHPLdDYUOHSEtMKKabcKIMhlUOHPOOPQ9UyFeEoovs=", + "lastModified": 1708217146, + "narHash": "sha256-nGfEv7k78slqIR5E0zzWSx214d/4/ZPKDkObLJqVLVw=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "f5af57d3ef9947a70ac86e42695231ac1ad00c25", + "rev": "e623008d8a46517470e6365505f1a3ce171fa46a", "type": "github" }, "original": { @@ -1081,11 +1095,11 @@ ] }, "locked": { - "lastModified": 1706085261, - "narHash": "sha256-7PgpHRHyShINcqgevPP1fJ6N8kM5ZSOJnk3QZBrOCQ0=", + "lastModified": 1708402276, + "narHash": "sha256-7ZTUHdMwy8o6d8ela6H7H3UcS7cyns4D1zuWbmU1dCI=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "896f6589db5b25023b812bbb6c1f5d3a499b1132", + "rev": "fa146e1a156c83b009b398213c661d6b46d71421", "type": "github" }, "original": { @@ -1096,11 +1110,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1706834982, - "narHash": "sha256-3CfxA7gZ+DVv/N9Pvw61bV5Oe/mWfxYPyVQGqp9TMJA=", + "lastModified": 1708091350, + "narHash": "sha256-o28BJYi68qqvHipT7V2jkWxDiMS1LF9nxUsou+eFUPQ=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "83e571bb291161682b9c3ccd48318f115143a550", + "rev": "106d3fec43bcea19cb2e061ca02531d54b542ce3", "type": "github" }, "original": { @@ -1398,11 +1412,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1706941790, - "narHash": "sha256-V4apg6WJS6hc1VhHuUpaLt0r/ulu/hvFruP6NKdEdfo=", + "lastModified": 1708405701, + "narHash": "sha256-E78TXiZiR9irWdYAVltRxZPJ+pMxXPU5PjHwqq6XLtI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4f301350dacb4eb0a93578ef3b07c8a996c777e7", + "rev": "fa15b53dbea5028db38d6e09b4cef6eba42aeebb", "type": "github" }, "original": { @@ -1413,11 +1427,11 @@ }, "nixpkgs_9": { "locked": { - "lastModified": 1706732774, - "narHash": "sha256-hqJlyJk4MRpcItGYMF+3uHe8HvxNETWvlGtLuVpqLU0=", + "lastModified": 1708296515, + "narHash": "sha256-FyF489fYNAUy7b6dkYV6rGPyzp+4tThhr80KNAaF/yY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b8b232ae7b8b144397fdb12d20f592e5e7c1a64d", + "rev": "b98a4e1746acceb92c509bc496ef3d0e5ad8d4aa", "type": "github" }, "original": { @@ -1429,6 +1443,7 @@ }, "nixvim": { "inputs": { + "flake-compat": "flake-compat_7", "flake-parts": "flake-parts_2", "home-manager": "home-manager_2", "nix-darwin": "nix-darwin", @@ -1436,11 +1451,11 @@ "pre-commit-hooks": "pre-commit-hooks" }, "locked": { - "lastModified": 1706997840, - "narHash": "sha256-GbfTveveq/FNJ+xVcj1w3jW2ftsc8dmwxVS5vFehq+I=", + "lastModified": 1708419783, + "narHash": "sha256-Ro2X1i01wGUo4ggtutwd3yEgCGRphYMBvzzdaQZuBb8=", "owner": "pta2002", "repo": "nixvim", - "rev": "81f54bcdd6f6a83372dce7723c83b8605769e9a5", + "rev": "9d30e87455b2bdb18f5c55ec30ec0268c1f29f98", "type": "github" }, "original": { @@ -1451,11 +1466,11 @@ }, "nur": { "locked": { - "lastModified": 1707051045, - "narHash": "sha256-A9YmoAZVpSVD4nLX6WfOrmoBfxVcalrZJZCMMDXoKsI=", + "lastModified": 1708417678, + "narHash": "sha256-NKp/3NkfPV0IjjrhT4xN1k/rRNyiDLSWI1FbGT3er8s=", "owner": "nix-community", "repo": "NUR", - "rev": "84d09dbc8092ac63ee99245bf8518276f12df4aa", + "rev": "37e2a5836ece4dd373530656ec7d41c0aeee3ff1", "type": "github" }, "original": { @@ -1483,7 +1498,7 @@ }, "pre-commit-hooks": { "inputs": { - "flake-compat": "flake-compat_7", + "flake-compat": "flake-compat_8", "flake-utils": "flake-utils_8", "gitignore": "gitignore_2", "nixpkgs": [ @@ -1496,11 +1511,11 @@ ] }, "locked": { - "lastModified": 1706424699, - "narHash": "sha256-Q3RBuOpZNH2eFA1e+IHgZLAOqDD9SKhJ/sszrL8bQD4=", + "lastModified": 1707297608, + "narHash": "sha256-ADjo/5VySGlvtCW3qR+vdFF4xM9kJFlRDqcC9ZGI8EA=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "7c54e08a689b53c8a1e5d70169f2ec9e2a68ffaf", + "rev": "0db2e67ee49910adfa13010e7f012149660af7f0", "type": "github" }, "original": { @@ -1527,11 +1542,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1706424699, - "narHash": "sha256-Q3RBuOpZNH2eFA1e+IHgZLAOqDD9SKhJ/sszrL8bQD4=", + "lastModified": 1708018599, + "narHash": "sha256-M+Ng6+SePmA8g06CmUZWi1AjG2tFBX9WCXElBHEKnyM=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "7c54e08a689b53c8a1e5d70169f2ec9e2a68ffaf", + "rev": "5df5a70ad7575f6601d91f0efec95dd9bc619431", "type": "github" }, "original": { @@ -1657,11 +1672,11 @@ ] }, "locked": { - "lastModified": 1706494265, - "narHash": "sha256-4ilEUJEwNaY9r/8BpL3VmZiaGber0j09lvvx0e/bosA=", + "lastModified": 1708241671, + "narHash": "sha256-zSulX9tP4R35Y8A842dGSzaHMVP91W2Ry0SXvQKD2BQ=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "246ba7102553851af60e0382f558f6bc5f63fa13", + "rev": "d500e370b26f9b14303cb39bf1509df0a920c8b0", "type": "github" }, "original": { @@ -1923,7 +1938,7 @@ }, "vault-secrets": { "inputs": { - "flake-compat": "flake-compat_8", + "flake-compat": "flake-compat_9", "flake-utils": "flake-utils_9", "nix": "nix", "nixpkgs": "nixpkgs_12", @@ -1969,11 +1984,11 @@ "webcord": "webcord_2" }, "locked": { - "lastModified": 1670874335, - "narHash": "sha256-nJ1LUVj3dIHP5B+XkZXUvY39OqaZn/MMHSFwsOSPnwI=", + "lastModified": 1707338607, + "narHash": "sha256-5UNW3kano8D4kbum+oRx18EjmJ1mLeOCwgGR1nWDwtg=", "owner": "fufexan", "repo": "webcord-flake", - "rev": "b462d57c36d664b48f047c96b2f9de091bff6e8b", + "rev": "82ffefda8c5f663d895d24b7500d5f489b5d7d47", "type": "github" }, "original": { diff --git a/hosts/thalassa/aoife/default.nix b/hosts/thalassa/aoife/default.nix index 23ba6f40..056b0322 100644 --- a/hosts/thalassa/aoife/default.nix +++ b/hosts/thalassa/aoife/default.nix @@ -15,6 +15,11 @@ isLaptop = true; }; + programs.wireshark.enable = true; + users.extraUsers.vivian.extraGroups = [ "wireshark" ]; + + virtualisation.lxc.enable = true; + # Bootloader. boot = { bootspec.enable = true; diff --git a/hosts/thalassa/aoife/hardware.nix b/hosts/thalassa/aoife/hardware.nix index 3c5becd6..d14112e6 100644 --- a/hosts/thalassa/aoife/hardware.nix +++ b/hosts/thalassa/aoife/hardware.nix @@ -22,7 +22,7 @@ xserver.videoDrivers = [ "amdgpu" ]; xserver = { dpi = 280; - xkbOptions = "caps:swapescape"; + xkb.options = "caps:swapescape"; }; # SSD Trim From 8d7f778b6537af2e94c83c37239f3f731a920b38 Mon Sep 17 00:00:00 2001 From: Vivian Date: Tue, 20 Feb 2024 16:18:54 +0100 Subject: [PATCH 16/88] wireshark --- common/desktop/default.nix | 4 ++-- hosts/thalassa/aoife/default.nix | 6 +----- hosts/thalassa/aoife/uni.nix | 15 +++++++++++++++ 3 files changed, 18 insertions(+), 7 deletions(-) create mode 100644 hosts/thalassa/aoife/uni.nix diff --git a/common/desktop/default.nix b/common/desktop/default.nix index 7d5176a3..d6e00e1f 100644 --- a/common/desktop/default.nix +++ b/common/desktop/default.nix @@ -62,7 +62,7 @@ }; # Global Packages - environment.systemPackages = with pkgs; [ wireguard-tools sbctl podman-compose ]; + environment.systemPackages = with pkgs; [ wireguard-tools sbctl ]; # ++ (if config.virtualisation.podman.enable then [ pkgs.podman-compose ] else []); # programs.virt-manager = { # enable = true; @@ -74,7 +74,7 @@ security.rtkit.enable = true; virtualisation = { - podman.enable = true; + podman.enable = lib.mkDefault true; libvirtd = { enable = true; qemu.package = pkgs.qemu_kvm; diff --git a/hosts/thalassa/aoife/default.nix b/hosts/thalassa/aoife/default.nix index 056b0322..863dcf83 100644 --- a/hosts/thalassa/aoife/default.nix +++ b/hosts/thalassa/aoife/default.nix @@ -8,6 +8,7 @@ ./hardware-configuration.nix inputs.nixos-hardware.nixosModules.lenovo-thinkpad-z ./hardware.nix + ./uni.nix ]; meta = { @@ -15,11 +16,6 @@ isLaptop = true; }; - programs.wireshark.enable = true; - users.extraUsers.vivian.extraGroups = [ "wireshark" ]; - - virtualisation.lxc.enable = true; - # Bootloader. boot = { bootspec.enable = true; diff --git a/hosts/thalassa/aoife/uni.nix b/hosts/thalassa/aoife/uni.nix new file mode 100644 index 00000000..6701a86a --- /dev/null +++ b/hosts/thalassa/aoife/uni.nix @@ -0,0 +1,15 @@ +# Config options needed for various university courses, such as: +# * Wireless IoT and Local Area Networks +# * Network Security +{ pkgs, ... }: { + environment.systemPackages = with pkgs; [ docker-compose ]; + + programs.wireshark.enable = true; + programs.wireshark.package = pkgs.wireshark; + users.extraUsers.vivian.extraGroups = [ "wireshark" "docker" ]; + + virtualisation.lxc.enable = true; + virtualisation.podman.enable = false; + virtualisation.docker.enable = true; + virtualisation.docker.storageDriver = "btrfs"; +} From 4416a21e47f02bcb72ac58719ea9019f66cf4494 Mon Sep 17 00:00:00 2001 From: Vivian Date: Mon, 26 Feb 2024 12:19:32 +0100 Subject: [PATCH 17/88] more net sec stuff --- common/desktop/default.nix | 2 +- common/desktop/home.nix | 2 +- common/users/default.nix | 2 - flake.lock | 92 ++++++++++++++++---------------- hosts/thalassa/aoife/default.nix | 4 ++ hosts/thalassa/aoife/uni.nix | 10 +++- 6 files changed, 60 insertions(+), 52 deletions(-) diff --git a/common/desktop/default.nix b/common/desktop/default.nix index d6e00e1f..976f7b2d 100644 --- a/common/desktop/default.nix +++ b/common/desktop/default.nix @@ -7,7 +7,7 @@ efi.canTouchEfiVariables = true; efi.efiSysMountPoint = "/boot/efi"; }; - kernel.sysctl = { "fs.inotify.max_user_watches" = 524288; }; + kernel.sysctl = lib.mkDefault { "fs.inotify.max_user_watches" = 524288; }; initrd = { systemd.enable = true; verbose = false; diff --git a/common/desktop/home.nix b/common/desktop/home.nix index 8734620a..16751cc0 100644 --- a/common/desktop/home.nix +++ b/common/desktop/home.nix @@ -4,7 +4,7 @@ let inherit (pkgs.texlive) scheme-full; dnd-5e-latex-template = { pkgs = [ pkgs.v.dnd-5e-latex-template ]; }; }; - my-python-packages = ps: with ps; [ pandas requests numpy ]; + my-python-packages = ps: with ps; [ pandas requests numpy scapy pyshark ]; in { home.packages = with pkgs; [ (python3.withPackages my-python-packages) diff --git a/common/users/default.nix b/common/users/default.nix index 95cc7f30..47c487a0 100644 --- a/common/users/default.nix +++ b/common/users/default.nix @@ -66,6 +66,4 @@ setw -g mouse on ''; }; - - } diff --git a/flake.lock b/flake.lock index fede0dfa..2f396887 100644 --- a/flake.lock +++ b/flake.lock @@ -674,11 +674,11 @@ "systems": "systems_7" }, "locked": { - "lastModified": 1701680307, - "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", + "lastModified": 1705309234, + "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", "owner": "numtide", "repo": "flake-utils", - "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", + "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", "type": "github" }, "original": { @@ -837,11 +837,11 @@ ] }, "locked": { - "lastModified": 1708294481, - "narHash": "sha256-DZtxmeb4OR7iCaKUUuq05ADV2rX8WReZEF7Tq//W0+Y=", + "lastModified": 1708806879, + "narHash": "sha256-MSbxtF3RThI8ANs/G4o1zIqF5/XlShHvwjl9Ws0QAbI=", "owner": "nix-community", "repo": "home-manager", - "rev": "a54e05bc12d88ff2df941d0dc1183cb5235fa438", + "rev": "4ee704cb13a5a7645436f400b9acc89a67b9c08a", "type": "github" }, "original": { @@ -858,11 +858,11 @@ ] }, "locked": { - "lastModified": 1707919853, - "narHash": "sha256-qxmBGDzutuJ/tsX4gp+Mr7fjxOZBbeT9ixhS5o4iFOw=", + "lastModified": 1708558280, + "narHash": "sha256-w1ns8evB6N9VTrAojcdXLWenROtd77g3vyClrqeFdG8=", "owner": "nix-community", "repo": "home-manager", - "rev": "043ba285c6dc20f36441d48525402bcb9743c498", + "rev": "0b69d574162cfa6eb7919d5614a48d0185550891", "type": "github" }, "original": { @@ -960,11 +960,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1708421045, - "narHash": "sha256-xoN9rB7Uyoj+fIjMvHN1l3dGyQff7hV4KIVCYDocn4U=", + "lastModified": 1708906061, + "narHash": "sha256-8WlGYMCtggvybPdzQschOoC9r3dl0d3lnGmlTZB6pAw=", "owner": "astro", "repo": "microvm.nix", - "rev": "c3f2eb54f96f56ec93fcccc7f14808f10a61e6ca", + "rev": "4583e2394e1e5723746fb55dbb912385c6c6bda1", "type": "github" }, "original": { @@ -1043,11 +1043,11 @@ ] }, "locked": { - "lastModified": 1707707289, - "narHash": "sha256-YuDt/eSTXMEHv8jS8BEZJgqCcG8Tr3cyqaZjJFXZHsw=", + "lastModified": 1708231718, + "narHash": "sha256-IZdieFWvhBkxoOFMDejqLUYqD94WN6k0YSpw0DFy+4g=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "44f50a5ecaab72a61d5fd8e5c5717bc4bf9c25dd", + "rev": "0e6857fa1d632637488666c08e7b02c08e3178f8", "type": "github" }, "original": { @@ -1074,11 +1074,11 @@ }, "nixlib": { "locked": { - "lastModified": 1708217146, - "narHash": "sha256-nGfEv7k78slqIR5E0zzWSx214d/4/ZPKDkObLJqVLVw=", + "lastModified": 1708821942, + "narHash": "sha256-jd+E1SD59qty65pwqad2mftzkT6vW5nNFWVuvayh4Zw=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "e623008d8a46517470e6365505f1a3ce171fa46a", + "rev": "479831ed8b3c9c7b80533999f880c7d0bf6a491b", "type": "github" }, "original": { @@ -1095,11 +1095,11 @@ ] }, "locked": { - "lastModified": 1708402276, - "narHash": "sha256-7ZTUHdMwy8o6d8ela6H7H3UcS7cyns4D1zuWbmU1dCI=", + "lastModified": 1708940320, + "narHash": "sha256-QOWRJlqT5FRESiaO42/QV/GbSRNKSa4XUDs3cNQsoWI=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "fa146e1a156c83b009b398213c661d6b46d71421", + "rev": "5b7772406956f95e8a0e1f27218b1e7cf6e9164a", "type": "github" }, "original": { @@ -1110,11 +1110,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1708091350, - "narHash": "sha256-o28BJYi68qqvHipT7V2jkWxDiMS1LF9nxUsou+eFUPQ=", + "lastModified": 1708594753, + "narHash": "sha256-c/gH7iXS/IYH9NrFOT+aJqTq+iEBkvAkpWuUHGU3+f0=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "106d3fec43bcea19cb2e061ca02531d54b542ce3", + "rev": "3f7d0bca003eac1a1a7f4659bbab9c8f8c2a0958", "type": "github" }, "original": { @@ -1396,11 +1396,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1702312524, - "narHash": "sha256-gkZJRDBUCpTPBvQk25G0B7vfbpEYM5s5OZqghkjZsnE=", + "lastModified": 1708475490, + "narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a9bf124c46ef298113270b1f84a164865987a91c", + "rev": "0e74ca98a74bc7270d28838369593635a5db3260", "type": "github" }, "original": { @@ -1412,11 +1412,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1708405701, - "narHash": "sha256-E78TXiZiR9irWdYAVltRxZPJ+pMxXPU5PjHwqq6XLtI=", + "lastModified": 1708847675, + "narHash": "sha256-RUZ7KEs/a4EzRELYDGnRB6i7M1Izii3JD/LyzH0c6Tg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fa15b53dbea5028db38d6e09b4cef6eba42aeebb", + "rev": "2a34566b67bef34c551f204063faeecc444ae9da", "type": "github" }, "original": { @@ -1427,11 +1427,11 @@ }, "nixpkgs_9": { "locked": { - "lastModified": 1708296515, - "narHash": "sha256-FyF489fYNAUy7b6dkYV6rGPyzp+4tThhr80KNAaF/yY=", + "lastModified": 1708475490, + "narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b98a4e1746acceb92c509bc496ef3d0e5ad8d4aa", + "rev": "0e74ca98a74bc7270d28838369593635a5db3260", "type": "github" }, "original": { @@ -1451,11 +1451,11 @@ "pre-commit-hooks": "pre-commit-hooks" }, "locked": { - "lastModified": 1708419783, - "narHash": "sha256-Ro2X1i01wGUo4ggtutwd3yEgCGRphYMBvzzdaQZuBb8=", + "lastModified": 1708614940, + "narHash": "sha256-36muWApzetaV4WAEeqKsWxW4k2l0u3E841RI4sHPiz0=", "owner": "pta2002", "repo": "nixvim", - "rev": "9d30e87455b2bdb18f5c55ec30ec0268c1f29f98", + "rev": "060a05138ca1a46fc0a0f79ef27f080cac57a59e", "type": "github" }, "original": { @@ -1466,11 +1466,11 @@ }, "nur": { "locked": { - "lastModified": 1708417678, - "narHash": "sha256-NKp/3NkfPV0IjjrhT4xN1k/rRNyiDLSWI1FbGT3er8s=", + "lastModified": 1708938863, + "narHash": "sha256-RwqyijFuO+O6T4IX3eQk64j3zHQHBjNWlP57Mc2wyvY=", "owner": "nix-community", "repo": "NUR", - "rev": "37e2a5836ece4dd373530656ec7d41c0aeee3ff1", + "rev": "3612172937c01525cc14646aea107cc764ed5cb2", "type": "github" }, "original": { @@ -1511,11 +1511,11 @@ ] }, "locked": { - "lastModified": 1707297608, - "narHash": "sha256-ADjo/5VySGlvtCW3qR+vdFF4xM9kJFlRDqcC9ZGI8EA=", + "lastModified": 1708018599, + "narHash": "sha256-M+Ng6+SePmA8g06CmUZWi1AjG2tFBX9WCXElBHEKnyM=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "0db2e67ee49910adfa13010e7f012149660af7f0", + "rev": "5df5a70ad7575f6601d91f0efec95dd9bc619431", "type": "github" }, "original": { @@ -1688,11 +1688,11 @@ "spectrum": { "flake": false, "locked": { - "lastModified": 1703273931, - "narHash": "sha256-CJ1Crdi5fXHkCiemovsp20/RC4vpDaZl1R6V273FecI=", + "lastModified": 1708358594, + "narHash": "sha256-e71YOotu2FYA67HoC/voJDTFsiPpZNRwmiQb4f94OxQ=", "ref": "refs/heads/main", - "rev": "97e2f3429ee61dc37664b4d096b2fec48a57b691", - "revCount": 597, + "rev": "6d0e73864d28794cdbd26ab7b37259ab0e1e044c", + "revCount": 614, "type": "git", "url": "https://spectrum-os.org/git/spectrum" }, diff --git a/hosts/thalassa/aoife/default.nix b/hosts/thalassa/aoife/default.nix index 863dcf83..a3c31c0c 100644 --- a/hosts/thalassa/aoife/default.nix +++ b/hosts/thalassa/aoife/default.nix @@ -16,6 +16,10 @@ isLaptop = true; }; + users.users.vivian.extraGroups = [ "adbusers" ]; + + + # Bootloader. boot = { bootspec.enable = true; diff --git a/hosts/thalassa/aoife/uni.nix b/hosts/thalassa/aoife/uni.nix index 6701a86a..620f5968 100644 --- a/hosts/thalassa/aoife/uni.nix +++ b/hosts/thalassa/aoife/uni.nix @@ -2,14 +2,20 @@ # * Wireless IoT and Local Area Networks # * Network Security { pkgs, ... }: { - environment.systemPackages = with pkgs; [ docker-compose ]; + environment.systemPackages = with pkgs; [ + docker-compose + bridge-utils + nettools + wget + ]; programs.wireshark.enable = true; programs.wireshark.package = pkgs.wireshark; - users.extraUsers.vivian.extraGroups = [ "wireshark" "docker" ]; virtualisation.lxc.enable = true; virtualisation.podman.enable = false; virtualisation.docker.enable = true; virtualisation.docker.storageDriver = "btrfs"; + + users.extraUsers.vivian.extraGroups = [ "wireshark" "docker" "lxd" ]; } From 457537462a39fb21fc00fe31855143b9327203f6 Mon Sep 17 00:00:00 2001 From: Vivian Date: Mon, 4 Mar 2024 15:22:52 +0100 Subject: [PATCH 18/88] minor updates --- common/desktop/home.nix | 2 +- common/hm-modules/catppuccin.nix | 58 +++++++++++++++++--------------- flake.lock | 18 +++++----- flake.nix | 1 - hosts/thalassa/aoife/default.nix | 4 --- hosts/thalassa/aoife/uni.nix | 4 ++- 6 files changed, 43 insertions(+), 44 deletions(-) diff --git a/common/desktop/home.nix b/common/desktop/home.nix index 16751cc0..ed78db3c 100644 --- a/common/desktop/home.nix +++ b/common/desktop/home.nix @@ -4,7 +4,7 @@ let inherit (pkgs.texlive) scheme-full; dnd-5e-latex-template = { pkgs = [ pkgs.v.dnd-5e-latex-template ]; }; }; - my-python-packages = ps: with ps; [ pandas requests numpy scapy pyshark ]; + my-python-packages = ps: with ps; [ pandas requests numpy scapy pyshark cryptography ]; in { home.packages = with pkgs; [ (python3.withPackages my-python-packages) diff --git a/common/hm-modules/catppuccin.nix b/common/hm-modules/catppuccin.nix index 68c7191e..e4c97c5a 100644 --- a/common/hm-modules/catppuccin.nix +++ b/common/hm-modules/catppuccin.nix @@ -3,38 +3,40 @@ with lib; let cfg = config.themes.v.catppuccin; in { options.themes.v.catppuccin = { enable = mkEnableOption "catppuccin"; }; - config = - let - theme = "Catppuccin-Pink-Dark"; - cursorTheme = config.home.pointerCursor.name; - in - mkIf cfg.enable { - home.pointerCursor = { - name = "Bibata_Ghost"; - size = 24; - package = pkgs.bibata-cursors-translucent; - }; + config = let + theme = "Catppuccin-Frappe-Pink-Dark"; + cursorTheme = config.home.pointerCursor.name; + in mkIf cfg.enable { + home.pointerCursor = { + name = "Bibata_Ghost"; + size = 24; + package = pkgs.bibata-cursors-translucent; + }; - gtk = { - enable = true; - theme = { - name = theme; - package = pkgs.catppuccin-gtk; - }; - iconTheme = { - name = "Papirus-Dark"; - package = pkgs.papirus-icon-theme.override { color = "violet"; }; - }; - cursorTheme = { - name = cursorTheme; - inherit (config.home.pointerCursor) package size; + gtk = { + enable = true; + theme = { + name = theme; + package = pkgs.catppuccin-gtk.override { + accents = [ "pink" ]; + variant = "frappe"; + size = "standard"; }; }; - - programs.vscode = { - userSettings."workbench.colorTheme" = "Catppuccin Frappé"; - extensions = [ pkgs.vscode-extensions.catppuccin.catppuccin-vsc ]; + iconTheme = { + name = "Papirus-Dark"; + package = pkgs.papirus-icon-theme.override { color = "violet"; }; + }; + cursorTheme = { + name = cursorTheme; + inherit (config.home.pointerCursor) package size; }; }; + + programs.vscode = { + userSettings."workbench.colorTheme" = "Catppuccin Frappé"; + extensions = [ pkgs.vscode-extensions.catppuccin.catppuccin-vsc ]; + }; + }; } diff --git a/flake.lock b/flake.lock index 2f396887..19eba96b 100644 --- a/flake.lock +++ b/flake.lock @@ -837,11 +837,11 @@ ] }, "locked": { - "lastModified": 1708806879, - "narHash": "sha256-MSbxtF3RThI8ANs/G4o1zIqF5/XlShHvwjl9Ws0QAbI=", + "lastModified": 1708988456, + "narHash": "sha256-RCz7Xe64tN2zgWk+MVHkzg224znwqknJ1RnB7rVqUWw=", "owner": "nix-community", "repo": "home-manager", - "rev": "4ee704cb13a5a7645436f400b9acc89a67b9c08a", + "rev": "1d085ea4444d26aa52297758b333b449b2aa6fca", "type": "github" }, "original": { @@ -1412,11 +1412,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1708847675, - "narHash": "sha256-RUZ7KEs/a4EzRELYDGnRB6i7M1Izii3JD/LyzH0c6Tg=", + "lastModified": 1708954320, + "narHash": "sha256-n3LXNMlz7ORCjfIrIUo19a844Fec2+yg7k6NspdVCxs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2a34566b67bef34c551f204063faeecc444ae9da", + "rev": "94cda73bf2fd675de987db7c3ac81e861b892266", "type": "github" }, "original": { @@ -1466,11 +1466,11 @@ }, "nur": { "locked": { - "lastModified": 1708938863, - "narHash": "sha256-RwqyijFuO+O6T4IX3eQk64j3zHQHBjNWlP57Mc2wyvY=", + "lastModified": 1709020581, + "narHash": "sha256-MXYbnsD71iTCem3/hZwMvmAQq/7uRGsLoaNn/nbWv04=", "owner": "nix-community", "repo": "NUR", - "rev": "3612172937c01525cc14646aea107cc764ed5cb2", + "rev": "8860cc9b5dfc855f648c5b8d47f23a0d456d4869", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 99eb4e3e..bd76733b 100644 --- a/flake.nix +++ b/flake.nix @@ -125,7 +125,6 @@ }; }; - # Outputs outputsBuilder = channels: { devShells.default = channels.nixpkgs.mkShell { diff --git a/hosts/thalassa/aoife/default.nix b/hosts/thalassa/aoife/default.nix index a3c31c0c..f47b388f 100644 --- a/hosts/thalassa/aoife/default.nix +++ b/hosts/thalassa/aoife/default.nix @@ -18,8 +18,6 @@ users.users.vivian.extraGroups = [ "adbusers" ]; - - # Bootloader. boot = { bootspec.enable = true; @@ -27,8 +25,6 @@ resumeDevice = "/dev/nvme0n1p2"; loader.systemd-boot.enable = lib.mkForce false; - kernelPackages = pkgs.linuxPackages_6_6; - kernel.sysctl = { "perf_event_paranoid" = 1; "kptr_restrict" = 0; diff --git a/hosts/thalassa/aoife/uni.nix b/hosts/thalassa/aoife/uni.nix index 620f5968..18e6464c 100644 --- a/hosts/thalassa/aoife/uni.nix +++ b/hosts/thalassa/aoife/uni.nix @@ -12,7 +12,9 @@ programs.wireshark.enable = true; programs.wireshark.package = pkgs.wireshark; - virtualisation.lxc.enable = true; + virtualisation.lxc.enable = false; + virtualisation.lxd.enable = false; + virtualisation.podman.enable = false; virtualisation.docker.enable = true; virtualisation.docker.storageDriver = "btrfs"; From 89ce2c97d9a596c114a7a2eb90347550d86c77b8 Mon Sep 17 00:00:00 2001 From: Vivian Date: Thu, 14 Mar 2024 11:47:49 +0100 Subject: [PATCH 19/88] some minor config --- common/hm-modules/nvim.nix | 86 +++-- common/users/default.nix | 5 +- flake.lock | 356 ++++++++++++------- flake.nix | 9 +- hosts/olympus/bastion/containers/default.nix | 1 - hosts/services.nix | 8 + hosts/thalassa/aoife/hardware.nix | 25 +- hosts/thalassa/aoife/home/default.nix | 2 + notes/arch.md | 23 ++ 9 files changed, 326 insertions(+), 189 deletions(-) create mode 100644 hosts/services.nix create mode 100644 notes/arch.md diff --git a/common/hm-modules/nvim.nix b/common/hm-modules/nvim.nix index 71723246..9cb5930e 100644 --- a/common/hm-modules/nvim.nix +++ b/common/hm-modules/nvim.nix @@ -65,6 +65,16 @@ in with lib; { action = "function() vim.cmd(':FloatermToggle myfloat') end"; lua = true; } + { + mode = "n"; + key = ""; + action = ":bn"; + } + { + mode = "n"; + key = ""; + action = ":bp"; + } ]; extraPlugins = with pkgs.vimPlugins; [ @@ -98,12 +108,10 @@ in with lib; { enable = true; sources = { formatting.nixpkgs_fmt.enable = true; - code_actions.shellcheck.enable = true; code_actions.statix.enable = true; diagnostics = { statix.enable = true; deadnix.enable = true; - shellcheck.enable = true; }; }; }; @@ -147,43 +155,43 @@ in with lib; { floaterm.enable = true; - nvim-cmp = { - enable = true; - autoEnableSources = true; - sources = [ - { name = "nvim_lsp"; } - { - name = "luasnip"; - option = { show_autosnippets = true; }; - } - { name = "cmp-spell"; } - { name = "cmp-rg"; } - { name = "path"; } - { name = "buffer"; } - ]; - snippet.expand = "luasnip"; - mappingPresets = [ "insert" "cmdline" ]; - mapping = { - "" = "cmp.mapping.confirm({ select = true })"; - "" = { - modes = [ "i" "s" ]; - action = '' - function(fallback) - local luasnip = require('luasnip') - if cmp.visible() then - cmp.select_next_item() - elseif luasnip.expandable() then - luasnip.expand() - elseif luasnip.expand_or_jumpable() then - luasnip.expand_or_jump() - else - fallback() - end - end - ''; - }; - }; - }; + # cmp = { + # enable = true; + # autoEnableSources = true; + # extraOptions.sources = [ + # { name = "nvim_lsp"; } + # { + # name = "luasnip"; + # option = { show_autosnippets = true; }; + # } + # { name = "cmp-spell"; } + # { name = "cmp-rg"; } + # { name = "path"; } + # { name = "buffer"; } + # ]; + # extraOptions.snippet.expand = "luasnip"; + # # mappingPresets = [ "insert" "cmdline" ]; + # extraOptions.mapping = { + # "" = "cmp.mapping.confirm({ select = true })"; + # "" = { + # modes = [ "i" "s" ]; + # action = '' + # function(fallback) + # local luasnip = require('luasnip') + # if cmp.visible() then + # cmp.select_next_item() + # elseif luasnip.expandable() then + # luasnip.expand() + # elseif luasnip.expand_or_jumpable() then + # luasnip.expand_or_jump() + # else + # fallback() + # end + # end + # ''; + # }; + # }; + # }; }; }; }; diff --git a/common/users/default.nix b/common/users/default.nix index 47c487a0..79f64479 100644 --- a/common/users/default.nix +++ b/common/users/default.nix @@ -1,4 +1,4 @@ -{ config, pkgs, lib, ... }: { +{ config, pkgs, lib, inputs, ... }: { imports = [ ./laura.nix ./vivian.nix ./jonathan.nix ]; programs = { @@ -14,6 +14,9 @@ source "${pkgs.fzf}/share/fzf/key-bindings.zsh" source "${pkgs.fzf}/share/fzf/completion.zsh" eval "$(${pkgs.zoxide}/bin/zoxide init zsh)" + + export TEMPDIRS="$HOME/tmp" + source "${inputs.t.packages.${pkgs.system}.default}/bin/t-rs.sh" ''; # otherwise it'll override the grml prompt promptInit = ""; diff --git a/flake.lock b/flake.lock index 19eba96b..8ed0da5f 100644 --- a/flake.lock +++ b/flake.lock @@ -108,11 +108,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1706553580, - "narHash": "sha256-eNNKiQH3aBbYL1F26LK5YdvvUZLkFKVS8M86rC+AWe8=", + "lastModified": 1710186624, + "narHash": "sha256-2Rxxn4NShQBol7ajKws1+F4oF0vle0E3V0Rnigtv9d8=", "owner": "nix-community", "repo": "comma", - "rev": "9d8bcc369e4dc1787663bae5576add02009a7c5e", + "rev": "91c3006149aa2743ca873efaa3d217a00bb7f292", "type": "github" }, "original": { @@ -150,11 +150,11 @@ ] }, "locked": { - "lastModified": 1707685877, - "narHash": "sha256-XoXRS+5whotelr1rHiZle5t5hDg9kpguS5yk8c8qzOc=", + "lastModified": 1710003968, + "narHash": "sha256-g8+K+mLiNG5uch35Oy9oDQBAmGSkCcqrd0Jjme7xiG0=", "owner": "ipetkov", "repo": "crane", - "rev": "2c653e4478476a52c6aa3ac0495e4dea7449ea0e", + "rev": "10484f86201bb94bd61ecc5335b1496794fedb78", "type": "github" }, "original": { @@ -200,6 +200,28 @@ } }, "devshell": { + "inputs": { + "flake-utils": "flake-utils_8", + "nixpkgs": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1710156081, + "narHash": "sha256-4PMY6aumJi5dLFjBzF5O4flKXmadMNq3AGUHKYfchh0=", + "owner": "numtide", + "repo": "devshell", + "rev": "bc68b058dc7e6d4d6befc4ec6c60082b6e844b7d", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "devshell", + "type": "github" + } + }, + "devshell_2": { "flake": false, "locked": { "lastModified": 1663445644, @@ -220,7 +242,7 @@ "alejandra": "alejandra", "all-cabal-json": "all-cabal-json", "crane": "crane_3", - "devshell": "devshell", + "devshell": "devshell_2", "flake-parts": "flake-parts_3", "flake-utils-pre-commit": "flake-utils-pre-commit", "ghc-utils": "ghc-utils", @@ -463,11 +485,11 @@ ] }, "locked": { - "lastModified": 1706830856, - "narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=", + "lastModified": 1709336216, + "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f", + "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", "type": "github" }, "original": { @@ -484,11 +506,11 @@ ] }, "locked": { - "lastModified": 1706830856, - "narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=", + "lastModified": 1709336216, + "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f", + "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", "type": "github" }, "original": { @@ -568,6 +590,38 @@ "inputs": { "systems": "systems_10" }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_11": { + "locked": { + "lastModified": 1678901627, + "narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6", + "type": "github" + }, + "original": { + "id": "flake-utils", + "type": "indirect" + } + }, + "flake-utils_12": { + "inputs": { + "systems": "systems_12" + }, "locked": { "lastModified": 1681202837, "narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=", @@ -656,11 +710,11 @@ "systems": "systems_6" }, "locked": { - "lastModified": 1705309234, - "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "lastModified": 1709126324, + "narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "rev": "d465f4819400de7c8d874d50b982301f28a84605", "type": "github" }, "original": { @@ -706,17 +760,21 @@ } }, "flake-utils_9": { + "inputs": { + "systems": "systems_9" + }, "locked": { - "lastModified": 1678901627, - "narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=", + "lastModified": 1701680307, + "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", "owner": "numtide", "repo": "flake-utils", - "rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6", + "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", "type": "github" }, "original": { - "id": "flake-utils", - "type": "indirect" + "owner": "numtide", + "repo": "flake-utils", + "type": "github" } }, "flakeCompat": { @@ -798,7 +856,9 @@ "gnome-autounlock-keyring": { "inputs": { "flake-utils": "flake-utils_5", - "nixpkgs": "nixpkgs_6" + "nixpkgs": [ + "nixpkgs" + ] }, "locked": { "lastModified": 1702994344, @@ -837,11 +897,11 @@ ] }, "locked": { - "lastModified": 1708988456, - "narHash": "sha256-RCz7Xe64tN2zgWk+MVHkzg224znwqknJ1RnB7rVqUWw=", + "lastModified": 1710401383, + "narHash": "sha256-jskq7uDpKXrRoY4hDpNqykmSSKHUXYlo7ZFc/se7fus=", "owner": "nix-community", "repo": "home-manager", - "rev": "1d085ea4444d26aa52297758b333b449b2aa6fca", + "rev": "1ab3cec3a1bbb065b2d52b913d1431366028d5b5", "type": "github" }, "original": { @@ -858,11 +918,11 @@ ] }, "locked": { - "lastModified": 1708558280, - "narHash": "sha256-w1ns8evB6N9VTrAojcdXLWenROtd77g3vyClrqeFdG8=", + "lastModified": 1710281778, + "narHash": "sha256-bvWr9vvBrAxb44kHM3H3cY/uQg+4pYP1BM/Nu3e/7V8=", "owner": "nix-community", "repo": "home-manager", - "rev": "0b69d574162cfa6eb7919d5614a48d0185550891", + "rev": "49a266d2ca59df8a03249550e73a54626181b65d", "type": "github" }, "original": { @@ -884,11 +944,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1708388174, - "narHash": "sha256-mLROAGNyOykYwWOLga24BX05GnRE+acms0Ru10tye2o=", + "lastModified": 1710171982, + "narHash": "sha256-WFMB+Yohcvego1/vOtaq+MJ8Wvp5meOANfNifg26Ie4=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "73fec69386e8005911e15f3abe6bb6cee7fd9711", + "rev": "19ad7fd5724f30868748b8156ff25be838cd2bc5", "type": "github" }, "original": { @@ -940,11 +1000,11 @@ "utils": "utils_3" }, "locked": { - "lastModified": 1706742486, - "narHash": "sha256-sv/MISTeD0rqeVivpZJpynboMWJp6i62OmrZX1rGl38=", + "lastModified": 1709905972, + "narHash": "sha256-18OF2/ypr0n4Lp6Fk5SLHPu12ok6jM+Hv3sC0PCim0Q=", "owner": "simple-nixos-mailserver", "repo": "nixos-mailserver", - "rev": "9e36323ae3dde787f761420465c3ae560f3dbf29", + "rev": "572c1b4d69deea1093ac231c37927cfa8ccad477", "type": "gitlab" }, "original": { @@ -956,15 +1016,15 @@ "microvm": { "inputs": { "flake-utils": "flake-utils_7", - "nixpkgs": "nixpkgs_7", + "nixpkgs": "nixpkgs_6", "spectrum": "spectrum" }, "locked": { - "lastModified": 1708906061, - "narHash": "sha256-8WlGYMCtggvybPdzQschOoC9r3dl0d3lnGmlTZB6pAw=", + "lastModified": 1710327053, + "narHash": "sha256-5S3jnObtWfXlTx00KzsPwpJtDoyfa1WpZnCrWnxovcw=", "owner": "astro", "repo": "microvm.nix", - "rev": "4583e2394e1e5723746fb55dbb912385c6c6bda1", + "rev": "d535b9b6c9f6612e323d4504660ebbdcd1bd79bd", "type": "github" }, "original": { @@ -981,11 +1041,11 @@ ] }, "locked": { - "lastModified": 1697664192, - "narHash": "sha256-nRTG3rYEGFV2+putRiC96+kNXDyKaPJgT6K/1FWN7yo=", + "lastModified": 1698420672, + "narHash": "sha256-/TdeHMPRjjdJub7p7+w55vyABrsJlt5QkznPYy55vKA=", "owner": "nix-community", "repo": "naersk", - "rev": "636a9b5dd7f2ad7d7c3af929ecf95e4d4fab9e97", + "rev": "aeb58d5e8faead8980a807c840232697982d47b9", "type": "github" }, "original": { @@ -1019,7 +1079,7 @@ "nix": { "inputs": { "lowdown-src": "lowdown-src", - "nixpkgs": "nixpkgs_11", + "nixpkgs": "nixpkgs_10", "nixpkgs-regression": "nixpkgs-regression" }, "locked": { @@ -1043,11 +1103,11 @@ ] }, "locked": { - "lastModified": 1708231718, - "narHash": "sha256-IZdieFWvhBkxoOFMDejqLUYqD94WN6k0YSpw0DFy+4g=", + "lastModified": 1710281379, + "narHash": "sha256-uFo9hxt982L3nFJeweW4Gip2esiGrIQlbvEGrNTh4AY=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "0e6857fa1d632637488666c08e7b02c08e3178f8", + "rev": "d9ea313bc4851670dc99c5cc979cb79750e7d670", "type": "github" }, "original": { @@ -1074,11 +1134,11 @@ }, "nixlib": { "locked": { - "lastModified": 1708821942, - "narHash": "sha256-jd+E1SD59qty65pwqad2mftzkT6vW5nNFWVuvayh4Zw=", + "lastModified": 1710031547, + "narHash": "sha256-pkUg3hOKuGWMGF9WEMPPN/G4pqqdbNGJQ54yhyQYDVY=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "479831ed8b3c9c7b80533999f880c7d0bf6a491b", + "rev": "630ebdc047ca96d8126e16bb664c7730dc52f6e6", "type": "github" }, "original": { @@ -1095,11 +1155,11 @@ ] }, "locked": { - "lastModified": 1708940320, - "narHash": "sha256-QOWRJlqT5FRESiaO42/QV/GbSRNKSa4XUDs3cNQsoWI=", + "lastModified": 1710398463, + "narHash": "sha256-fQlYanU84E8uwBpcoTCcLCwU8cqn0eQ7nwTcrWfSngc=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "5b7772406956f95e8a0e1f27218b1e7cf6e9164a", + "rev": "efd4e38532b5abfaa5c9fc95c5a913157dc20ccb", "type": "github" }, "original": { @@ -1110,11 +1170,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1708594753, - "narHash": "sha256-c/gH7iXS/IYH9NrFOT+aJqTq+iEBkvAkpWuUHGU3+f0=", + "lastModified": 1710123225, + "narHash": "sha256-j3oWlxRZxB7cFsgEntpH3rosjFHRkAo/dhX9H3OfxtY=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "3f7d0bca003eac1a1a7f4659bbab9c8f8c2a0958", + "rev": "ad2fd7b978d5e462048729a6c635c45d3d33c9ba", "type": "github" }, "original": { @@ -1236,22 +1296,6 @@ } }, "nixpkgs_10": { - "locked": { - "lastModified": 1686736559, - "narHash": "sha256-YyUSVoOKIDAscTx7IZhF9x3qgZ9dPNF19fKk+4c5irc=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "ddf4688dc7aeb14e8a3c549cb6aa6337f187a884", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-23.05", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_11": { "locked": { "lastModified": 1645296114, "narHash": "sha256-y53N7TyIkXsjMpOG7RhvqJFGDacLs9HlyHeSTBioqYU=", @@ -1267,7 +1311,7 @@ "type": "github" } }, - "nixpkgs_12": { + "nixpkgs_11": { "locked": { "lastModified": 1696165369, "narHash": "sha256-pd1cjFHCoEf9q5f9B0HhlOwwpBI9RP3HbUE6xjI7wAI=", @@ -1283,23 +1327,7 @@ "type": "github" } }, - "nixpkgs_13": { - "locked": { - "lastModified": 1682526928, - "narHash": "sha256-2cKh4O6t1rQ8Ok+v16URynmb0rV7oZPEbXkU0owNLQs=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "d6b863fd9b7bb962e6f9fdf292419a775e772891", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_14": { + "nixpkgs_12": { "locked": { "lastModified": 1670507980, "narHash": "sha256-riNZa0xzM1it3pzxciwALeMs+0CsBMWIW2FqulzK8vM=", @@ -1333,11 +1361,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1697915759, - "narHash": "sha256-WyMj5jGcecD+KC8gEs+wFth1J1wjisZf8kVZH13f1Zo=", + "lastModified": 1710159071, + "narHash": "sha256-CT0WKgcmlcWZPZL/sSSICN/Vbm4Of0ZDgxc0GFf6sYU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "51d906d2341c9e866e48c2efcaac0f2d70bfd43e", + "rev": "0fbcc4b2e8571f4af39be41752581ea09dd9ab06", "type": "github" }, "original": { @@ -1380,21 +1408,6 @@ } }, "nixpkgs_6": { - "locked": { - "lastModified": 1702933230, - "narHash": "sha256-xi8AZ3noIXrgmKLR+ij+CeYFoUTKiQuTLL+aA7FRdRQ=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "4e2c5373180ecd17e41e879420be69dc642a6349", - "type": "github" - }, - "original": { - "owner": "nixos", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_7": { "locked": { "lastModified": 1708475490, "narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=", @@ -1410,13 +1423,13 @@ "type": "github" } }, - "nixpkgs_8": { + "nixpkgs_7": { "locked": { - "lastModified": 1708954320, - "narHash": "sha256-n3LXNMlz7ORCjfIrIUo19a844Fec2+yg7k6NspdVCxs=", + "lastModified": 1710339354, + "narHash": "sha256-+P5ccUPiLouHexb8aJrUOVOIja9qm+fG57pgAu7uIRs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "94cda73bf2fd675de987db7c3ac81e861b892266", + "rev": "2dbc8f62d8af7a1ab962e4b20d12b25ddcb86ced", "type": "github" }, "original": { @@ -1425,13 +1438,13 @@ "type": "indirect" } }, - "nixpkgs_9": { + "nixpkgs_8": { "locked": { - "lastModified": 1708475490, - "narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=", + "lastModified": 1710272261, + "narHash": "sha256-g0bDwXFmTE7uGDOs9HcJsfLFhH7fOsASbAuOzDC+fhQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0e74ca98a74bc7270d28838369593635a5db3260", + "rev": "0ad13a6833440b8e238947e47bea7f11071dc2b2", "type": "github" }, "original": { @@ -1441,21 +1454,38 @@ "type": "github" } }, + "nixpkgs_9": { + "locked": { + "lastModified": 1686736559, + "narHash": "sha256-YyUSVoOKIDAscTx7IZhF9x3qgZ9dPNF19fKk+4c5irc=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "ddf4688dc7aeb14e8a3c549cb6aa6337f187a884", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-23.05", + "repo": "nixpkgs", + "type": "github" + } + }, "nixvim": { "inputs": { + "devshell": "devshell", "flake-compat": "flake-compat_7", "flake-parts": "flake-parts_2", "home-manager": "home-manager_2", "nix-darwin": "nix-darwin", - "nixpkgs": "nixpkgs_9", + "nixpkgs": "nixpkgs_8", "pre-commit-hooks": "pre-commit-hooks" }, "locked": { - "lastModified": 1708614940, - "narHash": "sha256-36muWApzetaV4WAEeqKsWxW4k2l0u3E841RI4sHPiz0=", + "lastModified": 1710347506, + "narHash": "sha256-qwKEfLPd6oDugHfX6efCG9A2Z6360aAObYfFnbIKhzE=", "owner": "pta2002", "repo": "nixvim", - "rev": "060a05138ca1a46fc0a0f79ef27f080cac57a59e", + "rev": "9b9912077e11478460c0d919a0101ace8966f44a", "type": "github" }, "original": { @@ -1466,11 +1496,11 @@ }, "nur": { "locked": { - "lastModified": 1709020581, - "narHash": "sha256-MXYbnsD71iTCem3/hZwMvmAQq/7uRGsLoaNn/nbWv04=", + "lastModified": 1710408786, + "narHash": "sha256-aEW6t8oODV576gPKtemz/Tolr1DPIQ/2Nt2AMGXvjgw=", "owner": "nix-community", "repo": "NUR", - "rev": "8860cc9b5dfc855f648c5b8d47f23a0d456d4869", + "rev": "cdbce2df9378877576df216d4b5e0da724823581", "type": "github" }, "original": { @@ -1499,7 +1529,7 @@ "pre-commit-hooks": { "inputs": { "flake-compat": "flake-compat_8", - "flake-utils": "flake-utils_8", + "flake-utils": "flake-utils_9", "gitignore": "gitignore_2", "nixpkgs": [ "nixvim", @@ -1586,7 +1616,7 @@ "inputs": { "fenix": "fenix", "naersk": "naersk_2", - "nixpkgs": "nixpkgs_10" + "nixpkgs": "nixpkgs_9" }, "locked": { "lastModified": 1690193312, @@ -1617,10 +1647,11 @@ "microvm": "microvm", "nixos-generators": "nixos-generators", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_8", + "nixpkgs": "nixpkgs_7", "nixvim": "nixvim", "nur": "nur", "riff": "riff", + "t": "t", "vault-secrets": "vault-secrets", "vault-unseal": "vault-unseal", "webcord": "webcord" @@ -1672,11 +1703,11 @@ ] }, "locked": { - "lastModified": 1708241671, - "narHash": "sha256-zSulX9tP4R35Y8A842dGSzaHMVP91W2Ry0SXvQKD2BQ=", + "lastModified": 1710036830, + "narHash": "sha256-pnV4gO3N/7/GzyRSKTRlSfS/19KJiPSvYcL4apnSkoQ=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "d500e370b26f9b14303cb39bf1509df0a920c8b0", + "rev": "d09dac6a63a2ac4b74ac2ecdc19acd8c46c2da2c", "type": "github" }, "original": { @@ -1747,6 +1778,36 @@ "type": "github" } }, + "systems_11": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_12": { + "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, @@ -1867,16 +1928,37 @@ "type": "github" } }, + "t": { + "inputs": { + "flake-utils": "flake-utils_10", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1710409286, + "narHash": "sha256-DTq/5A8kUSQ+8rBIPvFir3Lo7Ta3OBOMyRNrmmJQR/s=", + "owner": "jdonszelmann", + "repo": "t-rs", + "rev": "0dab4573e94ca01f17f1a325e8c2f66e9e885c2a", + "type": "github" + }, + "original": { + "owner": "jdonszelmann", + "repo": "t-rs", + "type": "github" + } + }, "utils": { "inputs": { "systems": "systems" }, "locked": { - "lastModified": 1694529238, - "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -1920,7 +2002,7 @@ }, "utils_4": { "inputs": { - "systems": "systems_9" + "systems": "systems_11" }, "locked": { "lastModified": 1694529238, @@ -1939,9 +2021,9 @@ "vault-secrets": { "inputs": { "flake-compat": "flake-compat_9", - "flake-utils": "flake-utils_9", + "flake-utils": "flake-utils_11", "nix": "nix", - "nixpkgs": "nixpkgs_12", + "nixpkgs": "nixpkgs_11", "utils": "utils_4" }, "locked": { @@ -1960,8 +2042,10 @@ }, "vault-unseal": { "inputs": { - "flake-utils": "flake-utils_10", - "nixpkgs": "nixpkgs_13" + "flake-utils": "flake-utils_12", + "nixpkgs": [ + "nixpkgs" + ] }, "locked": { "lastModified": 1683013874, @@ -1980,7 +2064,7 @@ "webcord": { "inputs": { "dream2nix": "dream2nix", - "nixpkgs": "nixpkgs_14", + "nixpkgs": "nixpkgs_12", "webcord": "webcord_2" }, "locked": { diff --git a/flake.nix b/flake.nix index bd76733b..055521dd 100644 --- a/flake.nix +++ b/flake.nix @@ -44,8 +44,11 @@ }; vault-unseal.url = "git+https://git.0x76.dev/v/vault-unseal.git"; - gnome-autounlock-keyring.url = - "git+https://git.0x76.dev/v/gnome-autounlock-keyring.git"; + vault-unseal.inputs.nixpkgs.follows = "nixpkgs"; + gnome-autounlock-keyring.url = "git+https://git.0x76.dev/v/gnome-autounlock-keyring.git"; + gnome-autounlock-keyring.inputs.nixpkgs.follows = "nixpkgs"; + t.url = "github:jdonszelmann/t-rs"; + t.inputs.nixpkgs.follows = "nixpkgs"; attic.url = "github:zhaofengli/attic"; @@ -54,7 +57,7 @@ }; outputs = { self, nixpkgs, flake-utils-plus, nur, attic - , deploy, home-manager, gnome-autounlock-keyring, lanzaboote, ... }@inputs: + , deploy, home-manager, gnome-autounlock-keyring, lanzaboote, t, ... }@inputs: let pkgs = self.pkgs.x86_64-linux.nixpkgs; apply-local = pkgs.writeShellScriptBin "apply-local" '' diff --git a/hosts/olympus/bastion/containers/default.nix b/hosts/olympus/bastion/containers/default.nix index d2e8299d..d2af09a2 100644 --- a/hosts/olympus/bastion/containers/default.nix +++ b/hosts/olympus/bastion/containers/default.nix @@ -21,6 +21,5 @@ in { # * fc00:x containers = { - }; } diff --git a/hosts/services.nix b/hosts/services.nix new file mode 100644 index 00000000..d4fb460c --- /dev/null +++ b/hosts/services.nix @@ -0,0 +1,8 @@ +{ + olympus.bastion.nginx = { + dns = { + a = "0x76.dev"; + }; + ports = [80 443]; + }; +} diff --git a/hosts/thalassa/aoife/hardware.nix b/hosts/thalassa/aoife/hardware.nix index d14112e6..3eabe04d 100644 --- a/hosts/thalassa/aoife/hardware.nix +++ b/hosts/thalassa/aoife/hardware.nix @@ -4,13 +4,18 @@ bluetooth.enable = true; - # Vulkan - opengl.driSupport = true; - opengl.extraPackages = with pkgs; [ - amdvlk - rocm-opencl-icd - rocm-opencl-runtime - ]; + # OpenGL + Vulkan + opengl = { + enable = true; + driSupport = true; + driSupport32Bit = true; + extraPackages = with pkgs; [ + amdvlk + rocm-opencl-icd + rocm-opencl-runtime + mesa.drivers + ]; + }; }; services = { @@ -47,9 +52,11 @@ # tpm enable = true; - pkcs11.enable = true; # expose /run/current-system/sw/lib/libtpm2_pkcs11.so + pkcs11.enable = + true; # expose /run/current-system/sw/lib/libtpm2_pkcs11.so tctiEnvironment.enable = true; }; }; # TPM2TOOLS_TCTI and TPM2_PKCS11_TCTI env variables - users.users.vivian.extraGroups = [ "tss" ]; # tss group has access to TPM devices + users.users.vivian.extraGroups = + [ "tss" ]; # tss group has access to TPM devices } diff --git a/hosts/thalassa/aoife/home/default.nix b/hosts/thalassa/aoife/home/default.nix index 5c543197..c568d80d 100644 --- a/hosts/thalassa/aoife/home/default.nix +++ b/hosts/thalassa/aoife/home/default.nix @@ -12,5 +12,7 @@ libreoffice-fresh jetbrains.clion jetbrains.rust-rover + eduvpn-client + localsend ]; } diff --git a/notes/arch.md b/notes/arch.md new file mode 100644 index 00000000..06df16b4 --- /dev/null +++ b/notes/arch.md @@ -0,0 +1,23 @@ +# NixOS System Config Plans + +## Levels of abstraction +1. Top-Level Host + * This is a bare-metal or otherwise non-managed VM that itself will contain VMs and Containers +2. MicroVM / Container + * As managed by a Top-Level Host + * Contains Applications/Services +3. Services / Applications + * Lowest Level, ran inside of a container or in special cases on a Top-Level Host + * Often has a port and domain associated with it + +## Open Questions +* Are MicroVMs and Containers LAN-routable or only on the Top-Level Host + * Essentially Docker vs. Proxmox networking architecture + + +## Requirements +* DHCP should be able to autoconfigure IPs at least for Top-Level hosts +* DNS should be automatically generated from Service definitions +* A Reverse Proxy shoudl also be able to be automatically set-up from service definitions +* Wireguard should function correctly + From 636e23deb71eac46b371a05b50a54e1d95bc7e63 Mon Sep 17 00:00:00 2001 From: Vivian Date: Mon, 18 Mar 2024 17:12:51 +0100 Subject: [PATCH 20/88] various updates --- common/desktop/home.nix | 2 +- common/hm-modules/nvim.nix | 106 ++++++++------- flake.lock | 134 +++++++++---------- flake.nix | 2 +- hosts/olympus/bastion/containers/common.nix | 8 +- hosts/olympus/bastion/containers/default.nix | 8 ++ hosts/olympus/bastion/containers/dns.nix | 8 ++ hosts/olympus/bastion/default.nix | 5 - hosts/services.nix | 8 -- hosts/thalassa/aoife/hardware.nix | 9 +- hosts/thalassa/null/configuration.nix | 4 +- 11 files changed, 149 insertions(+), 145 deletions(-) create mode 100644 hosts/olympus/bastion/containers/dns.nix delete mode 100644 hosts/services.nix diff --git a/common/desktop/home.nix b/common/desktop/home.nix index ed78db3c..709383a5 100644 --- a/common/desktop/home.nix +++ b/common/desktop/home.nix @@ -4,7 +4,7 @@ let inherit (pkgs.texlive) scheme-full; dnd-5e-latex-template = { pkgs = [ pkgs.v.dnd-5e-latex-template ]; }; }; - my-python-packages = ps: with ps; [ pandas requests numpy scapy pyshark cryptography ]; + my-python-packages = ps: with ps; [ pandas requests numpy scapy pyshark cryptography flask ]; in { home.packages = with pkgs; [ (python3.withPackages my-python-packages) diff --git a/common/hm-modules/nvim.nix b/common/hm-modules/nvim.nix index 9cb5930e..5ebe9f4d 100644 --- a/common/hm-modules/nvim.nix +++ b/common/hm-modules/nvim.nix @@ -75,11 +75,25 @@ in with lib; { key = ""; action = ":bp"; } + { + mode = "n"; + key = ""; + action = "<<_"; + } + { + mode = "v"; + key = ""; + action = ">gv"; + } + { + mode = "v"; + key = ""; + action = "" = "cmp.mapping.confirm({ select = true })"; - # "" = { - # modes = [ "i" "s" ]; - # action = '' - # function(fallback) - # local luasnip = require('luasnip') - # if cmp.visible() then - # cmp.select_next_item() - # elseif luasnip.expandable() then - # luasnip.expand() - # elseif luasnip.expand_or_jumpable() then - # luasnip.expand_or_jump() - # else - # fallback() - # end - # end - # ''; - # }; - # }; - # }; + cmp = { + enable = true; + autoEnableSources = true; + settings = { + snippet.expand = + "function(args) require('luasnip').lsp_expand(args.body) end"; + mapping = { + "" = + "cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})"; + "" = + "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})"; + "" = "cmp.mapping.confirm({ select = true })"; + "" = "cmp.mapping.complete()"; + "" = "cmp.mapping.close()"; + }; + sources = [ + { name = "nvim_lsp_signature_help"; } + { name = "path"; } + { name = "nvim_lsp"; } + { name = "luasnip"; } + { + name = "buffer"; + # Words from other open buffers can also be suggested. + option.get_bufnrs.__raw = "vim.api.nvim_list_bufs"; + } + ]; + }; + }; }; }; }; diff --git a/flake.lock b/flake.lock index 8ed0da5f..c2ec0c70 100644 --- a/flake.lock +++ b/flake.lock @@ -108,11 +108,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1710186624, - "narHash": "sha256-2Rxxn4NShQBol7ajKws1+F4oF0vle0E3V0Rnigtv9d8=", + "lastModified": 1710529178, + "narHash": "sha256-PW9OS/ccRxigP0ikk1XR4QhQX4j9+ALQz0FMKXF3yRA=", "owner": "nix-community", "repo": "comma", - "rev": "91c3006149aa2743ca873efaa3d217a00bb7f292", + "rev": "1085a5af2907f537cae91c6279c98951dbc45cea", "type": "github" }, "original": { @@ -418,11 +418,11 @@ "flake-compat_6": { "flake": false, "locked": { - "lastModified": 1668681692, - "narHash": "sha256-Ht91NGdewz8IQLtWZ9LCeNXMSXHUss+9COoqu6JLmXU=", + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", "owner": "edolstra", "repo": "flake-compat", - "rev": "009399224d5e398d03b22badca40a37ac85412a1", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "type": "github" }, "original": { @@ -588,7 +588,7 @@ }, "flake-utils_10": { "inputs": { - "systems": "systems_10" + "systems": "systems_11" }, "locked": { "lastModified": 1710146030, @@ -620,7 +620,7 @@ }, "flake-utils_12": { "inputs": { - "systems": "systems_12" + "systems": "systems_13" }, "locked": { "lastModified": 1681202837, @@ -725,7 +725,7 @@ }, "flake-utils_7": { "inputs": { - "systems": "systems_7" + "systems": "systems_8" }, "locked": { "lastModified": 1705309234, @@ -743,7 +743,7 @@ }, "flake-utils_8": { "inputs": { - "systems": "systems_8" + "systems": "systems_9" }, "locked": { "lastModified": 1701680307, @@ -761,7 +761,7 @@ }, "flake-utils_9": { "inputs": { - "systems": "systems_9" + "systems": "systems_10" }, "locked": { "lastModified": 1701680307, @@ -897,11 +897,11 @@ ] }, "locked": { - "lastModified": 1710401383, - "narHash": "sha256-jskq7uDpKXrRoY4hDpNqykmSSKHUXYlo7ZFc/se7fus=", + "lastModified": 1710714957, + "narHash": "sha256-eZCxuF58YWgaJMMRrn8oRkwRhxooe5kBS/s2wRVr9PA=", "owner": "nix-community", "repo": "home-manager", - "rev": "1ab3cec3a1bbb065b2d52b913d1431366028d5b5", + "rev": "7b3fca5adcf6c709874a8f2e0c364fe9c58db989", "type": "github" }, "original": { @@ -995,16 +995,14 @@ "nixpkgs": [ "nixpkgs" ], - "nixpkgs-23_05": "nixpkgs-23_05", - "nixpkgs-23_11": "nixpkgs-23_11", "utils": "utils_3" }, "locked": { - "lastModified": 1709905972, - "narHash": "sha256-18OF2/ypr0n4Lp6Fk5SLHPu12ok6jM+Hv3sC0PCim0Q=", + "lastModified": 1710449465, + "narHash": "sha256-2orO8nfplp6uQJBFqKkj1iyNMC6TysmwbWwbb4osTag=", "owner": "simple-nixos-mailserver", "repo": "nixos-mailserver", - "rev": "572c1b4d69deea1093ac231c37927cfa8ccad477", + "rev": "79c8cfcd5873a85559da6201b116fb38b490d030", "type": "gitlab" }, "original": { @@ -1134,11 +1132,11 @@ }, "nixlib": { "locked": { - "lastModified": 1710031547, - "narHash": "sha256-pkUg3hOKuGWMGF9WEMPPN/G4pqqdbNGJQ54yhyQYDVY=", + "lastModified": 1710636348, + "narHash": "sha256-/kB+ZWSdkZjbZ0FTqm0u84sf2jFS+30ysaEajmBjtoY=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "630ebdc047ca96d8126e16bb664c7730dc52f6e6", + "rev": "fa827dda806c5aa98f454da4c567991ab8ce422c", "type": "github" }, "original": { @@ -1155,11 +1153,11 @@ ] }, "locked": { - "lastModified": 1710398463, - "narHash": "sha256-fQlYanU84E8uwBpcoTCcLCwU8cqn0eQ7nwTcrWfSngc=", + "lastModified": 1710722910, + "narHash": "sha256-P5p9+WQFuABoBXBKEK1ZYu8mD6q8j/cQwZ9OYb0oh2E=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "efd4e38532b5abfaa5c9fc95c5a913157dc20ccb", + "rev": "e63df01c798b99a76dc2ec25481be7dd25cd1610", "type": "github" }, "original": { @@ -1170,11 +1168,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1710123225, - "narHash": "sha256-j3oWlxRZxB7cFsgEntpH3rosjFHRkAo/dhX9H3OfxtY=", + "lastModified": 1710622004, + "narHash": "sha256-6zR642tXcZzzk3C8BHxlCrR0yh8z8zMXLiuXpWDIpX0=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "ad2fd7b978d5e462048729a6c635c45d3d33c9ba", + "rev": "968952f950a59dee9ed1e8799dda38c6dfa1bad3", "type": "github" }, "original": { @@ -1199,36 +1197,6 @@ "type": "github" } }, - "nixpkgs-23_05": { - "locked": { - "lastModified": 1704290814, - "narHash": "sha256-LWvKHp7kGxk/GEtlrGYV68qIvPHkU9iToomNFGagixU=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "70bdadeb94ffc8806c0570eb5c2695ad29f0e421", - "type": "github" - }, - "original": { - "id": "nixpkgs", - "ref": "nixos-23.05", - "type": "indirect" - } - }, - "nixpkgs-23_11": { - "locked": { - "lastModified": 1706098335, - "narHash": "sha256-r3dWjT8P9/Ah5m5ul4WqIWD8muj5F+/gbCdjiNVBKmU=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "a77ab169a83a4175169d78684ddd2e54486ac651", - "type": "github" - }, - "original": { - "id": "nixpkgs", - "ref": "nixos-23.11", - "type": "indirect" - } - }, "nixpkgs-lib": { "locked": { "dir": "lib", @@ -1425,11 +1393,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1710339354, - "narHash": "sha256-+P5ccUPiLouHexb8aJrUOVOIja9qm+fG57pgAu7uIRs=", + "lastModified": 1710716398, + "narHash": "sha256-HfuWX+8cykZsLWw2Kj6AbN1l6ZH8yB7vxjOKD8C0008=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2dbc8f62d8af7a1ab962e4b20d12b25ddcb86ced", + "rev": "ca0de94ebb9a7c06447285310777567afd0053aa", "type": "github" }, "original": { @@ -1481,11 +1449,11 @@ "pre-commit-hooks": "pre-commit-hooks" }, "locked": { - "lastModified": 1710347506, - "narHash": "sha256-qwKEfLPd6oDugHfX6efCG9A2Z6360aAObYfFnbIKhzE=", + "lastModified": 1710634405, + "narHash": "sha256-e+EHQGqqjpvkln6vYmiAcafFKbTaze3XF7DEjDZyXGY=", "owner": "pta2002", "repo": "nixvim", - "rev": "9b9912077e11478460c0d919a0101ace8966f44a", + "rev": "939530edca29b44e65d8bd606ef3485346510ebe", "type": "github" }, "original": { @@ -1496,11 +1464,11 @@ }, "nur": { "locked": { - "lastModified": 1710408786, - "narHash": "sha256-aEW6t8oODV576gPKtemz/Tolr1DPIQ/2Nt2AMGXvjgw=", + "lastModified": 1710750753, + "narHash": "sha256-MQ5haKyTNKAFTw3oDaShLHiECiD5DVV4HfmzN3l77Yk=", "owner": "nix-community", "repo": "NUR", - "rev": "cdbce2df9378877576df216d4b5e0da724823581", + "rev": "05351320d5ece2eb43cbd991edd4d1f56f5ca17f", "type": "github" }, "original": { @@ -1808,6 +1776,21 @@ "type": "github" } }, + "systems_13": { + "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, @@ -1936,11 +1919,11 @@ ] }, "locked": { - "lastModified": 1710409286, - "narHash": "sha256-DTq/5A8kUSQ+8rBIPvFir3Lo7Ta3OBOMyRNrmmJQR/s=", + "lastModified": 1710410762, + "narHash": "sha256-pCCCdoW4+ipCOwzJCYZJ8CNINDsQvACCaxh2xT6uqmw=", "owner": "jdonszelmann", "repo": "t-rs", - "rev": "0dab4573e94ca01f17f1a325e8c2f66e9e885c2a", + "rev": "1178091650351fc8372e4c84c786433f9bce69d5", "type": "github" }, "original": { @@ -1986,12 +1969,15 @@ } }, "utils_3": { + "inputs": { + "systems": "systems_7" + }, "locked": { - "lastModified": 1605370193, - "narHash": "sha256-YyMTf3URDL/otKdKgtoMChu4vfVL3vCMkRqpGifhUn0=", + "lastModified": 1709126324, + "narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=", "owner": "numtide", "repo": "flake-utils", - "rev": "5021eac20303a61fafe17224c087f5519baed54d", + "rev": "d465f4819400de7c8d874d50b982301f28a84605", "type": "github" }, "original": { @@ -2002,7 +1988,7 @@ }, "utils_4": { "inputs": { - "systems": "systems_11" + "systems": "systems_12" }, "locked": { "lastModified": 1694529238, diff --git a/flake.nix b/flake.nix index 055521dd..778b809b 100644 --- a/flake.nix +++ b/flake.nix @@ -83,7 +83,7 @@ ./common ]; - specialArgs = { inherit self inputs; }; + specialArgs = { inherit self inputs home-manager; }; }; # hosts diff --git a/hosts/olympus/bastion/containers/common.nix b/hosts/olympus/bastion/containers/common.nix index 56ccdd5e..88b8220c 100644 --- a/hosts/olympus/bastion/containers/common.nix +++ b/hosts/olympus/bastion/containers/common.nix @@ -1,6 +1,12 @@ # common container config -{ lib, ... }: { +{ lib, home-manager, ... }: { + imports = [ + # ../../../../common/modules + home-manager.nixosModules.home-manager # TODO: I don't like this + ]; # Workaround for bug https://github.com/NixOS/nixpkgs/issues/162686 networking.useHostResolvConf = lib.mkForce false; services.resolved.enable = true; + + system.stateVersion = lib.mkDefault "24.05"; } diff --git a/hosts/olympus/bastion/containers/default.nix b/hosts/olympus/bastion/containers/default.nix index d2af09a2..a4c1771e 100644 --- a/hosts/olympus/bastion/containers/default.nix +++ b/hosts/olympus/bastion/containers/default.nix @@ -21,5 +21,13 @@ in { # * fc00:x containers = { + dns = { + autoStart = true; + inherit hostAddress hostAddress6; + localAddress = "10.42.99.1"; + localAddress6 = "fc00::2"; + + config = ./dns.nix; + }; }; } diff --git a/hosts/olympus/bastion/containers/dns.nix b/hosts/olympus/bastion/containers/dns.nix new file mode 100644 index 00000000..b165cd06 --- /dev/null +++ b/hosts/olympus/bastion/containers/dns.nix @@ -0,0 +1,8 @@ +{ ... }: { + imports = [ ./common.nix ]; + services.v.dns = { + enable = true; + openFirewall = true; + mode = "server"; + }; +} diff --git a/hosts/olympus/bastion/default.nix b/hosts/olympus/bastion/default.nix index 841ca474..e6fe5de8 100644 --- a/hosts/olympus/bastion/default.nix +++ b/hosts/olympus/bastion/default.nix @@ -36,9 +36,4 @@ environment.systemPackages = with pkgs; [ vault ]; networking.useNetworkd = true; - - programs.gnupg.agent = { - enable = true; - pinentryFlavor = "curses"; - }; } diff --git a/hosts/services.nix b/hosts/services.nix deleted file mode 100644 index d4fb460c..00000000 --- a/hosts/services.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ - olympus.bastion.nginx = { - dns = { - a = "0x76.dev"; - }; - ports = [80 443]; - }; -} diff --git a/hosts/thalassa/aoife/hardware.nix b/hosts/thalassa/aoife/hardware.nix index 3eabe04d..bdee64b8 100644 --- a/hosts/thalassa/aoife/hardware.nix +++ b/hosts/thalassa/aoife/hardware.nix @@ -1,7 +1,12 @@ { pkgs, ... }: { + environment.systemPackages = with pkgs; [ + pciutils + usbutils + lshw + ]; + hardware = { enableAllFirmware = true; - bluetooth.enable = true; # OpenGL + Vulkan @@ -18,13 +23,13 @@ }; }; services = { + fwupd.enable = true; hardware.bolt.enable = true; fprintd.enable = true; # Video Driver - xserver.videoDrivers = [ "amdgpu" ]; xserver = { dpi = 280; xkb.options = "caps:swapescape"; diff --git a/hosts/thalassa/null/configuration.nix b/hosts/thalassa/null/configuration.nix index 143f5bfb..c4fc859a 100644 --- a/hosts/thalassa/null/configuration.nix +++ b/hosts/thalassa/null/configuration.nix @@ -30,8 +30,7 @@ let exec Hyprland ''; -in -{ +in { imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix @@ -46,6 +45,7 @@ in users.vivian = import ./home; extraSpecialArgs = { inherit inputs; }; }; + security = { pam.services.swaylock = { }; From 5eefa668960dcbffedcb7b6e44a70333b2c2bee0 Mon Sep 17 00:00:00 2001 From: Vivian Date: Tue, 19 Mar 2024 10:14:30 +0100 Subject: [PATCH 21/88] big nvim updates --- common/hm-modules/default.nix | 2 +- .../hm-modules/{nvim.nix => nvim/default.nix} | 98 ++++++++++++++----- flake.lock | 72 +++++++------- hosts/thalassa/null/configuration.nix | 1 - 4 files changed, 112 insertions(+), 61 deletions(-) rename common/hm-modules/{nvim.nix => nvim/default.nix} (70%) diff --git a/common/hm-modules/default.nix b/common/hm-modules/default.nix index 2dbbe8f1..bd774cfc 100644 --- a/common/hm-modules/default.nix +++ b/common/hm-modules/default.nix @@ -1,3 +1,3 @@ { ... }: { - imports = [ ./catppuccin.nix ./nvim.nix ./riff.nix ./vscode.nix ./git.nix ./rust.nix ]; + imports = [ ./catppuccin.nix ./nvim ./riff.nix ./vscode.nix ./git.nix ./rust.nix ]; } diff --git a/common/hm-modules/nvim.nix b/common/hm-modules/nvim/default.nix similarity index 70% rename from common/hm-modules/nvim.nix rename to common/hm-modules/nvim/default.nix index 5ebe9f4d..3a9ddbec 100644 --- a/common/hm-modules/nvim.nix +++ b/common/hm-modules/nvim/default.nix @@ -3,6 +3,7 @@ let cfg = config.programs.v.nvim; in with lib; { options.programs.v.nvim = { enable = mkEnableOption "nvim"; }; config = mkIf cfg.enable { + home.packages = with pkgs; [ fd ]; programs.nixvim = { enable = true; package = pkgs.neovim-unwrapped; @@ -13,14 +14,13 @@ in with lib; { options.number = true; - clipboard = { providers.wl-copy.enable = true; }; + clipboard.providers.wl-copy.enable = true; keymaps = [ { mode = "n"; key = "ff"; - action = "require('telescope.builtin').find_files"; - lua = true; + action = ":Telescope file_browser"; } { mode = "n"; @@ -28,6 +28,11 @@ in with lib; { action = "require('telescope.builtin').live_grep"; lua = true; } + { + mode = "n"; + key = "fb"; + action = ":Telescope file_browser"; + } { mode = "n"; key = ""; @@ -48,12 +53,6 @@ in with lib; { ''; lua = true; } - { - mode = "n"; - key = "g="; - action = "vim.lsp.buf.format"; - lua = true; - } { mode = "n"; key = "t"; @@ -75,6 +74,7 @@ in with lib; { key = ""; action = ":bp"; } + # Change Indenting { mode = "n"; key = ""; @@ -90,14 +90,36 @@ in with lib; { key = ""; action = "j" = "goto_next"; + "k" = "goto_prev"; + }; + }; servers = { nil_ls.enable = true; dockerls.enable = true; diff --git a/flake.lock b/flake.lock index c2ec0c70..4f963e81 100644 --- a/flake.lock +++ b/flake.lock @@ -710,11 +710,11 @@ "systems": "systems_6" }, "locked": { - "lastModified": 1709126324, - "narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=", + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "d465f4819400de7c8d874d50b982301f28a84605", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -897,11 +897,11 @@ ] }, "locked": { - "lastModified": 1710714957, - "narHash": "sha256-eZCxuF58YWgaJMMRrn8oRkwRhxooe5kBS/s2wRVr9PA=", + "lastModified": 1710820906, + "narHash": "sha256-2bNMraoRB4pdw/HtxgYTFeMhEekBZeQ53/a8xkqpbZc=", "owner": "nix-community", "repo": "home-manager", - "rev": "7b3fca5adcf6c709874a8f2e0c364fe9c58db989", + "rev": "022464438a85450abb23d93b91aa82e0addd71fb", "type": "github" }, "original": { @@ -918,11 +918,11 @@ ] }, "locked": { - "lastModified": 1710281778, - "narHash": "sha256-bvWr9vvBrAxb44kHM3H3cY/uQg+4pYP1BM/Nu3e/7V8=", + "lastModified": 1710714957, + "narHash": "sha256-eZCxuF58YWgaJMMRrn8oRkwRhxooe5kBS/s2wRVr9PA=", "owner": "nix-community", "repo": "home-manager", - "rev": "49a266d2ca59df8a03249550e73a54626181b65d", + "rev": "7b3fca5adcf6c709874a8f2e0c364fe9c58db989", "type": "github" }, "original": { @@ -944,11 +944,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1710171982, - "narHash": "sha256-WFMB+Yohcvego1/vOtaq+MJ8Wvp5meOANfNifg26Ie4=", + "lastModified": 1710754079, + "narHash": "sha256-i2GEmGDjFP8K86x5OcH0JbCoYZqLW5H+P866pVTSxU4=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "19ad7fd5724f30868748b8156ff25be838cd2bc5", + "rev": "67dbf85b7c35b5e0be476facf1b360b791e4a3ae", "type": "github" }, "original": { @@ -1018,11 +1018,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1710327053, - "narHash": "sha256-5S3jnObtWfXlTx00KzsPwpJtDoyfa1WpZnCrWnxovcw=", + "lastModified": 1710760349, + "narHash": "sha256-yqGeSnAB3Yeg02jtitzSGIuE21kq7+pWAdeGK3F9/cY=", "owner": "astro", "repo": "microvm.nix", - "rev": "d535b9b6c9f6612e323d4504660ebbdcd1bd79bd", + "rev": "0e2223d8fd459725850bd9aff7e9d68ec329769a", "type": "github" }, "original": { @@ -1101,11 +1101,11 @@ ] }, "locked": { - "lastModified": 1710281379, - "narHash": "sha256-uFo9hxt982L3nFJeweW4Gip2esiGrIQlbvEGrNTh4AY=", + "lastModified": 1710717205, + "narHash": "sha256-Wf3gHh5uV6W1TV/A8X8QJf99a5ypDSugY4sNtdJDe0A=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "d9ea313bc4851670dc99c5cc979cb79750e7d670", + "rev": "bcc8afd06e237df060c85bad6af7128e05fd61a3", "type": "github" }, "original": { @@ -1168,11 +1168,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1710622004, - "narHash": "sha256-6zR642tXcZzzk3C8BHxlCrR0yh8z8zMXLiuXpWDIpX0=", + "lastModified": 1710783728, + "narHash": "sha256-eIsfu3c9JUBgm3cURSKTXLEI9Dlk1azo+MWKZVqrmkc=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "968952f950a59dee9ed1e8799dda38c6dfa1bad3", + "rev": "1e679b9a9970780cd5d4dfe755a74a8f96d33388", "type": "github" }, "original": { @@ -1393,11 +1393,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1710716398, - "narHash": "sha256-HfuWX+8cykZsLWw2Kj6AbN1l6ZH8yB7vxjOKD8C0008=", + "lastModified": 1710803033, + "narHash": "sha256-7sRXMRZPHUbHY9n3unU5/2SxT50MH9uJAFr1vkjiQYc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ca0de94ebb9a7c06447285310777567afd0053aa", + "rev": "c2f60aeadc7af3f832c1ffa86bae06518d227fbf", "type": "github" }, "original": { @@ -1408,11 +1408,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1710272261, - "narHash": "sha256-g0bDwXFmTE7uGDOs9HcJsfLFhH7fOsASbAuOzDC+fhQ=", + "lastModified": 1710631334, + "narHash": "sha256-rL5LSYd85kplL5othxK5lmAtjyMOBg390sGBTb3LRMM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0ad13a6833440b8e238947e47bea7f11071dc2b2", + "rev": "c75037bbf9093a2acb617804ee46320d6d1fea5a", "type": "github" }, "original": { @@ -1449,11 +1449,11 @@ "pre-commit-hooks": "pre-commit-hooks" }, "locked": { - "lastModified": 1710634405, - "narHash": "sha256-e+EHQGqqjpvkln6vYmiAcafFKbTaze3XF7DEjDZyXGY=", + "lastModified": 1710799652, + "narHash": "sha256-TWX1slRN1IQcalrY64ltQUpVhbxGnT0PaIHqNcC0VtY=", "owner": "pta2002", "repo": "nixvim", - "rev": "939530edca29b44e65d8bd606ef3485346510ebe", + "rev": "975f1ca526e37c9cb9c646399f03613ea77f5ec2", "type": "github" }, "original": { @@ -1464,11 +1464,11 @@ }, "nur": { "locked": { - "lastModified": 1710750753, - "narHash": "sha256-MQ5haKyTNKAFTw3oDaShLHiECiD5DVV4HfmzN3l77Yk=", + "lastModified": 1710833135, + "narHash": "sha256-vtF350PUNgnQpVSy0EPS5uwza8gIFpaIx9dDk14EWI4=", "owner": "nix-community", "repo": "NUR", - "rev": "05351320d5ece2eb43cbd991edd4d1f56f5ca17f", + "rev": "cee2a9bfe726df39af812591e8b17e8a2f319bd5", "type": "github" }, "original": { @@ -1671,11 +1671,11 @@ ] }, "locked": { - "lastModified": 1710036830, - "narHash": "sha256-pnV4gO3N/7/GzyRSKTRlSfS/19KJiPSvYcL4apnSkoQ=", + "lastModified": 1710641527, + "narHash": "sha256-R9JZEevtSyg7++LEryYJRrfyEe45azJxmu2k9VezEW0=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "d09dac6a63a2ac4b74ac2ecdc19acd8c46c2da2c", + "rev": "50db54295d3922a3b7a40d580b84d75150b36c34", "type": "github" }, "original": { diff --git a/hosts/thalassa/null/configuration.nix b/hosts/thalassa/null/configuration.nix index c4fc859a..21fa762b 100644 --- a/hosts/thalassa/null/configuration.nix +++ b/hosts/thalassa/null/configuration.nix @@ -106,7 +106,6 @@ in { kernel.sysctl = { "fs.inotify.max_user_watches" = 524288; }; }; services = { - gnome.gnome-keyring.enable = true; udisks2.enable = true; From 3a56012932c6398cec50c06df6749063a114edb7 Mon Sep 17 00:00:00 2001 From: Vivian Date: Tue, 19 Mar 2024 10:27:04 +0100 Subject: [PATCH 22/88] mold in rust --- common/hm-modules/rust.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/common/hm-modules/rust.nix b/common/hm-modules/rust.nix index f489bd31..5a56c65f 100644 --- a/common/hm-modules/rust.nix +++ b/common/hm-modules/rust.nix @@ -15,6 +15,10 @@ in { [build] rustc-wrapper = "${pkgs.sccache}/bin/sccache" + [target.'cfg(not(target_arch = "mips"))'] + linker = "${pkgs.clang}/bin/clang" + rustflags = ["-C", "link-arg=-fuse-ld=${pkgs.mold}/bin/mold"] + [profile.rust-analyzer] inherits = "dev" ''; From 3783ec19c6330328f6609aa65e9f78ae13cdc88d Mon Sep 17 00:00:00 2001 From: Vivian Date: Tue, 19 Mar 2024 12:37:21 +0100 Subject: [PATCH 23/88] more nvim config --- common/hm-modules/nvim/default.nix | 72 +++++++++++++++++++++++---- hosts/thalassa/aoife/home/default.nix | 1 + 2 files changed, 62 insertions(+), 11 deletions(-) diff --git a/common/hm-modules/nvim/default.nix b/common/hm-modules/nvim/default.nix index 3a9ddbec..bf08e9f5 100644 --- a/common/hm-modules/nvim/default.nix +++ b/common/hm-modules/nvim/default.nix @@ -12,11 +12,15 @@ in with lib; { globals.mapleader = " "; - options.number = true; + options = { + number = true; + conceallevel = 2; + }; clipboard.providers.wl-copy.enable = true; keymaps = [ + # Telescope { mode = "n"; key = "ff"; @@ -31,8 +35,14 @@ in with lib; { { mode = "n"; key = "fb"; - action = ":Telescope file_browser"; + action = ":Telescope buffers"; } + { + mode = "n"; + key = "fo"; + action = ":Telescope oldfiles"; + } + # Commenting { mode = "n"; key = ""; @@ -53,6 +63,7 @@ in with lib; { ''; lua = true; } + # Float Term { mode = "n"; key = "t"; @@ -64,14 +75,15 @@ in with lib; { action = "function() vim.cmd(':FloatermToggle myfloat') end"; lua = true; } + # Switch buffers { mode = "n"; - key = ""; + key = "s"; action = ":bn"; } { mode = "n"; - key = ""; + key = "a"; action = ":bp"; } # Change Indenting @@ -113,7 +125,8 @@ in with lib; { mode = "n"; key = "nf"; lua = true; - action = "function() require('neotest').run.run(vim.fn.expand('%')) end"; + action = + "function() require('neotest').run.run(vim.fn.expand('%')) end"; } ]; @@ -134,16 +147,51 @@ in with lib; { nix.enable = true; luasnip.enable = true; typst-vim.enable = true; + obsidian = { + enable = true; + settings = { + new_notes_location = "notes_subdir"; + daily_notes = { + folder = "daily"; + }; + workspaces = [ + { + name = "notes"; + path = "~/src/notes"; + } + ]; + completion = { + min_chars = 2; + nvim_cmp = true; + }; + picker.name = "telescope.nvim"; + note_id_func = '' + function(title) + -- Create note IDs in a Zettelkasten format with a timestamp and a suffix. + -- In this case a note with the title 'My new note' will be given an ID that looks + -- like '1657296016-my-new-note', and therefore the file name '1657296016-my-new-note.md' + local suffix = "" + if title ~= nil then + -- If title is given, transform it into valid file name. + suffix = title:gsub(" ", "-"):gsub("[^A-Za-z0-9-]", ""):lower() + else + -- If title is nil, just add 4 random uppercase letters to the suffix. + for _ = 1, 4 do + suffix = suffix .. string.char(math.random(65, 90)) + end + end + return tostring(os.time()) .. "-" .. suffix + end + ''; + }; + }; fidget = { enable = true; progress = { ignoreDoneAlready = true; ignore = [ "ltex" ]; }; - notification = { - overrideVimNotify = true; - # group_seperator = ""; - }; + notification = { overrideVimNotify = true; }; }; neotest = { enable = true; @@ -167,15 +215,17 @@ in with lib; { }; telescope = { enable = true; + defaults.preview.ls_short = true; extensions.file_browser = { enable = true; hijackNetrw = true; - + dirIcon = ""; }; extensions.fzf-native.enable = true; extensions.fzf-native.fuzzy = true; + extensions.frecency.enable = true; }; - comment-nvim = { enable = true; }; + comment-nvim.enable = true; lsp = { enable = true; keymaps = { diff --git a/hosts/thalassa/aoife/home/default.nix b/hosts/thalassa/aoife/home/default.nix index c568d80d..18c9c425 100644 --- a/hosts/thalassa/aoife/home/default.nix +++ b/hosts/thalassa/aoife/home/default.nix @@ -14,5 +14,6 @@ jetbrains.rust-rover eduvpn-client localsend + obsidian ]; } From 586f01ac58317a1642f2dfda112da0c3fa91028b Mon Sep 17 00:00:00 2001 From: Vivian Date: Tue, 19 Mar 2024 17:26:28 +0100 Subject: [PATCH 24/88] even more nvim config --- common/hm-modules/nvim/dashboard.lua | 75 +++++++++++++++++++++++++++ common/hm-modules/nvim/default.nix | 32 ++++++++++++ hosts/thalassa/aoife/home/default.nix | 1 + 3 files changed, 108 insertions(+) create mode 100644 common/hm-modules/nvim/dashboard.lua diff --git a/common/hm-modules/nvim/dashboard.lua b/common/hm-modules/nvim/dashboard.lua new file mode 100644 index 00000000..39501133 --- /dev/null +++ b/common/hm-modules/nvim/dashboard.lua @@ -0,0 +1,75 @@ +local settings = { + -- every line should be same width without escaped \ + header = { + type = "text", + oldfiles_directory = false, + align = "center", + fold_section = false, + title = "Header", + margin = 5, + content = { + " ███╗ ██╗ ███████╗ ██████╗ ██╗ ██╗ ██╗ ███╗ ███╗", + " ████╗ ██║ ██╔════╝██╔═══██╗ ██║ ██║ ██║ ████╗ ████║", + " ██╔██╗ ██║ █████╗ ██║ ██║ ██║ ██║ ██║ ██╔████╔██║", + " ██║╚██╗██║ ██╔══╝ ██║ ██║ ╚██╗ ██╔╝ ██║ ██║╚██╔╝██║", + " ██║ ╚████║ ███████╗╚██████╔╝ ╚████╔╝ ██║ ██║ ╚═╝ ██║", + " ╚═╝ ╚═══╝ ╚══════╝ ╚═════╝ ╚═══╝ ╚═╝ ╚═╝ ╚═╝", + }, + highlight = "Statement", + default_color = "", + oldfiles_amount = 0, + }, + -- name which will be displayed and command + body = { + type = "mapping", + oldfiles_directory = false, + align = "center", + fold_section = false, + title = "Basic Commands", + margin = 5, + content = { + { " Find File", "Telescope find_files", "ff"}, + { "󰍉 Find Word ", "Telescope live_grep", "fg"}, + { " Recent Files", "Telescope oldfiles", "fo"}, + { " File Browser", "Telescope file_browser", "fs"}, + { " New File", "lua require'startup'.new_file()", "nf"}, + }, + highlight = "String", + default_color = "", + oldfiles_amount = 0, + }, + footer = { + type = "text", + oldfiles_directory = false, + align = "center", + fold_section = false, + title = "Footer", + margin = 5, + content = { "bottom text" }, + highlight = "Number", + default_color = "", + oldfiles_amount = 0, + }, + + options = { + mapping_keys = true, + cursor_column = 0.5, + empty_lines_between_mappings = true, + disable_statuslines = true, + paddings = { 1, 3, 3, 0 }, + }, + mappings = { + execute_command = "", + open_file = "o", + open_file_split = "", + open_section = "", + open_help = "?", + }, + colors = { + background = "#1f2227", + folded_section = "#56b6c2", + }, + parts = { "header", "body", "footer" }, +} +return settings + diff --git a/common/hm-modules/nvim/default.nix b/common/hm-modules/nvim/default.nix index bf08e9f5..c5174970 100644 --- a/common/hm-modules/nvim/default.nix +++ b/common/hm-modules/nvim/default.nix @@ -4,6 +4,9 @@ in with lib; { options.programs.v.nvim = { enable = mkEnableOption "nvim"; }; config = mkIf cfg.enable { home.packages = with pkgs; [ fd ]; + home.file.".config/nvim/lua/startup/themes/my_theme.lua" = { + source = ./dashboard.lua; + }; programs.nixvim = { enable = true; package = pkgs.neovim-unwrapped; @@ -24,6 +27,11 @@ in with lib; { { mode = "n"; key = "ff"; + action = ":Telescope find_files"; + } + { + mode = "n"; + key = "fs"; action = ":Telescope file_browser"; } { @@ -42,6 +50,11 @@ in with lib; { key = "fo"; action = ":Telescope oldfiles"; } + { + mode = "n"; + key = "fr"; + action = ":Telescope frecency"; + } # Commenting { mode = "n"; @@ -128,6 +141,12 @@ in with lib; { action = "function() require('neotest').run.run(vim.fn.expand('%')) end"; } + # LSP + { + mode = "n"; + key = ""; + action = ":Lspsaga code_action"; + } ]; extraPlugins = with pkgs.vimPlugins; [ @@ -147,6 +166,11 @@ in with lib; { nix.enable = true; luasnip.enable = true; typst-vim.enable = true; + startup = { + enable = true; + theme = "my_theme"; + }; + none-ls.enable = false; obsidian = { enable = true; settings = { @@ -159,6 +183,10 @@ in with lib; { name = "notes"; path = "~/src/notes"; } + { + name = "uni"; + path = "~/cloud/Documents/CESE/notes"; + } ]; completion = { min_chars = 2; @@ -267,6 +295,10 @@ in with lib; { }; trouble.enable = true; lspkind.enable = true; + lspsaga = { + enable = true; + lightbulb.virtualText = false; + }; vimtex.enable = true; floaterm.enable = true; diff --git a/hosts/thalassa/aoife/home/default.nix b/hosts/thalassa/aoife/home/default.nix index 18c9c425..367fbd75 100644 --- a/hosts/thalassa/aoife/home/default.nix +++ b/hosts/thalassa/aoife/home/default.nix @@ -15,5 +15,6 @@ eduvpn-client localsend obsidian + typst ]; } From 123fd7b129655f80ac980d72115748659e29f54c Mon Sep 17 00:00:00 2001 From: Vivian Date: Thu, 21 Mar 2024 14:41:17 +0100 Subject: [PATCH 25/88] more nvim config --- common/desktop/home.nix | 8 +- .../default.nix} | 6 +- common/hm-modules/default.nix | 2 +- common/hm-modules/nvim/default.nix | 73 +++++++++++++------ .../hm-modules/nvim/lua/obsidian_picker.lua | 44 +++++++++++ .../startup/themes/my_theme.lua} | 0 common/hm-modules/nvim/obsidian_picker.lua | 35 +++++++++ common/modules/gnome/hm.nix | 4 +- flake.lock | 54 +++++++------- flake.nix | 6 -- 10 files changed, 171 insertions(+), 61 deletions(-) rename common/hm-modules/{catppuccin.nix => catppuccin/default.nix} (87%) create mode 100644 common/hm-modules/nvim/lua/obsidian_picker.lua rename common/hm-modules/nvim/{dashboard.lua => lua/startup/themes/my_theme.lua} (100%) create mode 100644 common/hm-modules/nvim/obsidian_picker.lua diff --git a/common/desktop/home.nix b/common/desktop/home.nix index 709383a5..dfc15b78 100644 --- a/common/desktop/home.nix +++ b/common/desktop/home.nix @@ -30,7 +30,6 @@ in { mattermost-desktop mullvad-vpn neofetch - nixfmt nixpkgs-review plex-media-player plexamp @@ -44,7 +43,7 @@ in { # Enable my own hm modules themes.v.catppuccin.enable = true; - programs = { +programs = { v = { vscode.enable = true; nvim.enable = true; @@ -77,8 +76,11 @@ in { enable = true; profiles.default = { isDefault = true; }; }; + kitty = { + enable = true; + shellIntegration.enableZshIntegration = true; }; - +}; # Syncthing services.syncthing.enable = true; xdg.userDirs = let home = config.home.homeDirectory; diff --git a/common/hm-modules/catppuccin.nix b/common/hm-modules/catppuccin/default.nix similarity index 87% rename from common/hm-modules/catppuccin.nix rename to common/hm-modules/catppuccin/default.nix index e4c97c5a..ee6c76b3 100644 --- a/common/hm-modules/catppuccin.nix +++ b/common/hm-modules/catppuccin/default.nix @@ -1,6 +1,7 @@ { config, pkgs, lib, ... }: with lib; -let cfg = config.themes.v.catppuccin; +let + cfg = config.themes.v.catppuccin; in { options.themes.v.catppuccin = { enable = mkEnableOption "catppuccin"; }; config = let @@ -13,6 +14,9 @@ in { package = pkgs.bibata-cursors-translucent; }; + programs.kitty.theme = "Catppuccin-Frappe"; + programs.kitty.font.name = "DejaVuSansMono Nerd Font"; + gtk = { enable = true; theme = { diff --git a/common/hm-modules/default.nix b/common/hm-modules/default.nix index bd774cfc..af1e0614 100644 --- a/common/hm-modules/default.nix +++ b/common/hm-modules/default.nix @@ -1,3 +1,3 @@ { ... }: { - imports = [ ./catppuccin.nix ./nvim ./riff.nix ./vscode.nix ./git.nix ./rust.nix ]; + imports = [ ./catppuccin ./nvim ./riff.nix ./vscode.nix ./git.nix ./rust.nix ]; } diff --git a/common/hm-modules/nvim/default.nix b/common/hm-modules/nvim/default.nix index c5174970..ddc9a4cf 100644 --- a/common/hm-modules/nvim/default.nix +++ b/common/hm-modules/nvim/default.nix @@ -1,12 +1,20 @@ -{ config, pkgs, lib, ... }: -let cfg = config.programs.v.nvim; -in with lib; { - options.programs.v.nvim = { enable = mkEnableOption "nvim"; }; +{ + config, + pkgs, + lib, + ... +}: +let + cfg = config.programs.v.nvim; +in +with lib; +{ + options.programs.v.nvim = { + enable = mkEnableOption "nvim"; + }; config = mkIf cfg.enable { home.packages = with pkgs; [ fd ]; - home.file.".config/nvim/lua/startup/themes/my_theme.lua" = { - source = ./dashboard.lua; - }; + home.file.".config/nvim/lua".source = ./lua; programs.nixvim = { enable = true; package = pkgs.neovim-unwrapped; @@ -55,16 +63,22 @@ in with lib; { key = "fr"; action = ":Telescope frecency"; } + { + mode = "n"; + key = "ob"; + action = "require('obsidian_picker').obsidian_picker"; + lua = true; + } # Commenting { mode = "n"; - key = ""; + key = ""; action = "require('Comment.api').toggle.linewise.current"; lua = true; } { mode = "x"; - key = ""; + key = ""; action = '' function() local esc = vim.api.nvim_replace_termcodes( @@ -138,8 +152,7 @@ in with lib; { mode = "n"; key = "nf"; lua = true; - action = - "function() require('neotest').run.run(vim.fn.expand('%')) end"; + action = "function() require('neotest').run.run(vim.fn.expand('%')) end"; } # LSP { @@ -162,6 +175,9 @@ in with lib; { extraConfigLua = ""; plugins = { + image = { + enable = true; + }; bufferline.enable = true; nix.enable = true; luasnip.enable = true; @@ -170,7 +186,6 @@ in with lib; { enable = true; theme = "my_theme"; }; - none-ls.enable = false; obsidian = { enable = true; settings = { @@ -210,7 +225,7 @@ in with lib; { end return tostring(os.time()) .. "-" .. suffix end - ''; + ''; }; }; fidget = { @@ -219,7 +234,9 @@ in with lib; { ignoreDoneAlready = true; ignore = [ "ltex" ]; }; - notification = { overrideVimNotify = true; }; + notification = { + overrideVimNotify = true; + }; }; neotest = { enable = true; @@ -252,8 +269,20 @@ in with lib; { extensions.fzf-native.enable = true; extensions.fzf-native.fuzzy = true; extensions.frecency.enable = true; + extraOptions = { }; }; comment-nvim.enable = true; + none-ls = { + enable = true; + sources = { + formatting = { + nixfmt = { + enable = true; + package = pkgs.nixfmt-rfc-style; + }; + }; + }; + }; lsp = { enable = true; keymaps = { @@ -274,6 +303,7 @@ in with lib; { nil_ls.enable = true; dockerls.enable = true; rust-analyzer = { + enable = true; installCargo = false; installRustc = false; }; @@ -285,12 +315,15 @@ in with lib; { enabled = true; cache_config = true; }; - pycodestyle = { maxLineLength = 100; }; + pycodestyle = { + maxLineLength = 100; + }; }; }; elixirls.enable = true; clangd.enable = true; yamlls.enable = true; + lua-ls.enable = true; }; }; trouble.enable = true; @@ -306,13 +339,11 @@ in with lib; { enable = true; autoEnableSources = true; settings = { - snippet.expand = - "function(args) require('luasnip').lsp_expand(args.body) end"; + cmdline.":".sources = [ { name = "path"; } ]; + snippet.expand = "function(args) require('luasnip').lsp_expand(args.body) end"; mapping = { - "" = - "cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})"; - "" = - "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})"; + "" = "cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})"; + "" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})"; "" = "cmp.mapping.confirm({ select = true })"; "" = "cmp.mapping.complete()"; "" = "cmp.mapping.close()"; diff --git a/common/hm-modules/nvim/lua/obsidian_picker.lua b/common/hm-modules/nvim/lua/obsidian_picker.lua new file mode 100644 index 00000000..cf23df4b --- /dev/null +++ b/common/hm-modules/nvim/lua/obsidian_picker.lua @@ -0,0 +1,44 @@ +local pickers = require "telescope.pickers" +local finders = require "telescope.finders" +local conf = require("telescope.config").values +local actions = require("telescope.actions") +local action_state = require("telescope.actions.state") + +local obsidian_commands = require("obsidian.commands").commands +local results = {} +for key, _ in pairs(obsidian_commands) do + table.insert(results, string.sub(key, 9)) +end + +local obsidian_picker = function(opts) + opts = opts or require("telescope.themes").get_dropdown{} + pickers.new(opts, { + prompt_title = "Obsidian", + finder = finders.new_table { + results = results, + -- entry_maker = function(entry) + -- return { + -- value = entry, + -- display = entry[1], + -- ordinal = entry[1], + -- } + -- end + }, + sorter = conf.generic_sorter(opts), + attach_mappings = function(prompt_bufnr, map) + actions.select_default:replace(function() + actions.close(prompt_bufnr) + local selection = action_state.get_selected_entry() + vim.cmd(':Obsidian' .. selection[1]) + end) + return true + end, + }):find() +end + +-- obsidian_picker() + +return { + obsidian_picker = obsidian_picker +} + diff --git a/common/hm-modules/nvim/dashboard.lua b/common/hm-modules/nvim/lua/startup/themes/my_theme.lua similarity index 100% rename from common/hm-modules/nvim/dashboard.lua rename to common/hm-modules/nvim/lua/startup/themes/my_theme.lua diff --git a/common/hm-modules/nvim/obsidian_picker.lua b/common/hm-modules/nvim/obsidian_picker.lua new file mode 100644 index 00000000..0a2276d1 --- /dev/null +++ b/common/hm-modules/nvim/obsidian_picker.lua @@ -0,0 +1,35 @@ +local pickers = require "telescope.pickers" +local finders = require "telescope.finders" +local conf = require("telescope.config").values +local actions = require("telescope.actions") +local action_state = require("telescope.actions.state") + +local obsidian_commands = require("obsidian.commands").commands +local results = {} +for key, _ in pairs(obsidian_commands) do + table.insert(results, string.sub(key, 9)) +end + +local obsidian_picker = function(opts) + opts = opts or require("telescope.themes").get_dropdown {} + pickers.new(opts, { + prompt_title = "Obsidian", + finder = finders.new_table { + results = results, + }, + sorter = conf.generic_sorter(opts), + attach_mappings = function(prompt_bufnr, map) + actions.select_default:replace(function() + actions.close(prompt_bufnr) + local selection = action_state.get_selected_entry() + vim.cmd(':Obsidian' .. selection[1]) + end) + return true + end, + }):find() +end + + +return { + obsidian_picker = obsidian_picker +} diff --git a/common/modules/gnome/hm.nix b/common/modules/gnome/hm.nix index babdec76..95e3cdf4 100644 --- a/common/modules/gnome/hm.nix +++ b/common/modules/gnome/hm.nix @@ -1,4 +1,4 @@ -{ lib, ... }: +{ lib, pkgs, ... }: with lib.hm.gvariant; let @@ -120,7 +120,7 @@ in { } // generate_custom_keybindings { "terminal" = { binding = "Return"; - command = "kgx"; + command = "${pkgs.kitty}/bin/kitty"; name = "Open Terminal"; }; "firefox" = { diff --git a/flake.lock b/flake.lock index 4f963e81..8667aff4 100644 --- a/flake.lock +++ b/flake.lock @@ -764,11 +764,11 @@ "systems": "systems_10" }, "locked": { - "lastModified": 1701680307, - "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -840,11 +840,11 @@ ] }, "locked": { - "lastModified": 1703887061, - "narHash": "sha256-gGPa9qWNc6eCXT/+Z5/zMkyYOuRZqeFZBDbopNZQkuY=", + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", "owner": "hercules-ci", "repo": "gitignore.nix", - "rev": "43e1aa1308018f37118e34d3a9cb4f5e75dc11d5", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", "type": "github" }, "original": { @@ -918,11 +918,11 @@ ] }, "locked": { - "lastModified": 1710714957, - "narHash": "sha256-eZCxuF58YWgaJMMRrn8oRkwRhxooe5kBS/s2wRVr9PA=", + "lastModified": 1710820906, + "narHash": "sha256-2bNMraoRB4pdw/HtxgYTFeMhEekBZeQ53/a8xkqpbZc=", "owner": "nix-community", "repo": "home-manager", - "rev": "7b3fca5adcf6c709874a8f2e0c364fe9c58db989", + "rev": "022464438a85450abb23d93b91aa82e0addd71fb", "type": "github" }, "original": { @@ -944,11 +944,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1710754079, - "narHash": "sha256-i2GEmGDjFP8K86x5OcH0JbCoYZqLW5H+P866pVTSxU4=", + "lastModified": 1710837180, + "narHash": "sha256-WVkLclGrUliLJUl+XaJplo09VdxyqHxZtkEmmDW2QYY=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "67dbf85b7c35b5e0be476facf1b360b791e4a3ae", + "rev": "ded8d23709f94aedb1407bee9e26581f258e9e3a", "type": "github" }, "original": { @@ -1393,11 +1393,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1710803033, - "narHash": "sha256-7sRXMRZPHUbHY9n3unU5/2SxT50MH9uJAFr1vkjiQYc=", + "lastModified": 1710861126, + "narHash": "sha256-q8fiy9mgUvTAt2OMjiVpQgDlykyGury9Fpsm0jekBfY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c2f60aeadc7af3f832c1ffa86bae06518d227fbf", + "rev": "2dcadb7087e38314cebb15af65f8f2a15d2940cc", "type": "github" }, "original": { @@ -1408,11 +1408,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1710631334, - "narHash": "sha256-rL5LSYd85kplL5othxK5lmAtjyMOBg390sGBTb3LRMM=", + "lastModified": 1710806803, + "narHash": "sha256-qrxvLS888pNJFwJdK+hf1wpRCSQcqA6W5+Ox202NDa0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c75037bbf9093a2acb617804ee46320d6d1fea5a", + "rev": "b06025f1533a1e07b6db3e75151caa155d1c7eb3", "type": "github" }, "original": { @@ -1449,11 +1449,11 @@ "pre-commit-hooks": "pre-commit-hooks" }, "locked": { - "lastModified": 1710799652, - "narHash": "sha256-TWX1slRN1IQcalrY64ltQUpVhbxGnT0PaIHqNcC0VtY=", + "lastModified": 1710936779, + "narHash": "sha256-ecYnUzSWqRae10pp7J6ZE2BznTPJ9f8sLiIoDBQtRBw=", "owner": "pta2002", "repo": "nixvim", - "rev": "975f1ca526e37c9cb9c646399f03613ea77f5ec2", + "rev": "4f6e90212c7ec56d7c03611fb86befa313e7f61f", "type": "github" }, "original": { @@ -1464,11 +1464,11 @@ }, "nur": { "locked": { - "lastModified": 1710833135, - "narHash": "sha256-vtF350PUNgnQpVSy0EPS5uwza8gIFpaIx9dDk14EWI4=", + "lastModified": 1710940845, + "narHash": "sha256-hDL4J2VgG0fmCuq+X1M6e7nVp2a5xHl05PfQZlANhkQ=", "owner": "nix-community", "repo": "NUR", - "rev": "cee2a9bfe726df39af812591e8b17e8a2f319bd5", + "rev": "1593636f37dc0b788e75fb843916ce1afd21fcd0", "type": "github" }, "original": { @@ -1509,11 +1509,11 @@ ] }, "locked": { - "lastModified": 1708018599, - "narHash": "sha256-M+Ng6+SePmA8g06CmUZWi1AjG2tFBX9WCXElBHEKnyM=", + "lastModified": 1710843117, + "narHash": "sha256-b6iKQeHegzpc697rxTPA3bpwGN3m50eLCgdQOmceFuE=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "5df5a70ad7575f6601d91f0efec95dd9bc619431", + "rev": "e8dc1b4fe80c6fcededde7700e6a23bcdf7f3347", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 778b809b..a7e96a9a 100644 --- a/flake.nix +++ b/flake.nix @@ -139,16 +139,10 @@ deploy.packages.${system}.deploy-rs deadnix statix - # nixfmt - # nixpkgs-fmt nixUnstable - # nil vault yamllint jq - # (vault-push-approle-envs self { }) - # (vault-push-approles self { }) - # fast-repl fup-repl ]; }; From 05b317d2752bd5388c9857be436cebd91d518309 Mon Sep 17 00:00:00 2001 From: Vivian Date: Thu, 21 Mar 2024 17:20:29 +0100 Subject: [PATCH 26/88] more nvim config --- common/hm-modules/nvim/default.nix | 45 ++++++++++++++++++++------- common/hm-modules/rust.nix | 49 +++++++++++++++++++----------- flake.nix | 2 ++ 3 files changed, 67 insertions(+), 29 deletions(-) diff --git a/common/hm-modules/nvim/default.nix b/common/hm-modules/nvim/default.nix index ddc9a4cf..51b01928 100644 --- a/common/hm-modules/nvim/default.nix +++ b/common/hm-modules/nvim/default.nix @@ -6,6 +6,15 @@ }: let cfg = config.programs.v.nvim; + nvim-nio = pkgs.vimUtils.buildVimPlugin { + name = "nvim-nio"; + src = pkgs.fetchFromGitHub { + owner = "nvim-neotest"; + repo = "nvim-nio"; + rev = "refs/tags/v1.8.0"; + sha256 = "sha256-RFmH+683vrg4BELwtAQqjV8oGkvRgzcd6kd5r1s3Jp8="; + }; + }; in with lib; { @@ -103,15 +112,20 @@ with lib; lua = true; } # Switch buffers + { + mode = "n"; + key = "q"; + action = ":bd"; # Delete buffer + } { mode = "n"; key = "s"; - action = ":bn"; + action = ":bn"; # Buffer next } { mode = "n"; key = "a"; - action = ":bp"; + action = ":bp"; # Buffer previous } # Change Indenting { @@ -119,6 +133,11 @@ with lib; key = ""; action = "<<_"; } + { + mode = "n"; + key = ""; + action = ">>_"; + } { mode = "v"; key = ""; @@ -165,6 +184,7 @@ with lib; extraPlugins = with pkgs.vimPlugins; [ FixCursorHold-nvim nvim-web-devicons + nvim-nio ]; colorschemes.catppuccin = { @@ -194,14 +214,14 @@ with lib; folder = "daily"; }; workspaces = [ - { - name = "notes"; - path = "~/src/notes"; - } { name = "uni"; path = "~/cloud/Documents/CESE/notes"; } + { + name = "notes"; + path = "~/src/notes"; + } ]; completion = { min_chars = 2; @@ -233,6 +253,7 @@ with lib; progress = { ignoreDoneAlready = true; ignore = [ "ltex" ]; + display.doneTtl = 5; }; notification = { overrideVimNotify = true; @@ -240,10 +261,13 @@ with lib; }; neotest = { enable = true; - adapters.plenary.enable = true; - adapters.rust = { - enable = true; - settings.args = [ "--no-capture" ]; + adapters = { + plenary.enable = true; + python.enable = true; + rust = { + enable = true; + settings.args = [ "--no-capture" ]; + }; }; }; treesitter = { @@ -334,7 +358,6 @@ with lib; }; vimtex.enable = true; floaterm.enable = true; - cmp = { enable = true; autoEnableSources = true; diff --git a/common/hm-modules/rust.nix b/common/hm-modules/rust.nix index 5a56c65f..d822f8d6 100644 --- a/common/hm-modules/rust.nix +++ b/common/hm-modules/rust.nix @@ -1,28 +1,41 @@ -{ pkgs, lib, config, ... }: +{ + pkgs, + lib, + config, + ... +}: with lib; -let cfg = config.programs.v.rust; -in { - options.programs.v.rust = { enable = mkEnableOption "rust"; }; +let + cfg = config.programs.v.rust; +in +{ + options.programs.v.rust.enable = mkEnableOption "rust"; + config = mkIf cfg.enable { home = { - packages = with pkgs; [ rustup cargo-nextest cargo-msrv cargo-dist cargo-cross]; + packages = with pkgs; [ + rustup + cargo-binutils + cargo-nextest + cargo-msrv + cargo-dist + cargo-cross + ]; - file = { - ".cargo/config.toml".text = '' - [registries.crates-io] - protocol = "sparse" + file.".cargo/config.toml".text = '' + [registries.crates-io] + protocol = "sparse" - [build] - rustc-wrapper = "${pkgs.sccache}/bin/sccache" + [build] + rustc-wrapper = "${pkgs.sccache}/bin/sccache" - [target.'cfg(not(target_arch = "mips"))'] - linker = "${pkgs.clang}/bin/clang" - rustflags = ["-C", "link-arg=-fuse-ld=${pkgs.mold}/bin/mold"] + [target.'cfg(not(target_arch = "mips"))'] + linker = "${pkgs.clang}/bin/clang" + rustflags = ["-C", "link-arg=-fuse-ld=${pkgs.mold}/bin/mold"] - [profile.rust-analyzer] - inherits = "dev" - ''; - }; + [profile.rust-analyzer] + inherits = "dev" + ''; sessionPath = [ "$HOME/.cargo/bin" ]; }; diff --git a/flake.nix b/flake.nix index a7e96a9a..61ccfcfc 100644 --- a/flake.nix +++ b/flake.nix @@ -133,6 +133,7 @@ devShells.default = channels.nixpkgs.mkShell { name = "devShell"; VAULT_ADDR = "http://vault.olympus:8200/"; + FLAKE = "/home/vivian/src/infrastructure-new"; packages = with pkgs; [ attic.packages.${system}.attic apply-local @@ -144,6 +145,7 @@ yamllint jq fup-repl + nh ]; }; }; From d629b5d4ed0bbd979101a8eb94b46ad978e1f1c2 Mon Sep 17 00:00:00 2001 From: Vivian Date: Thu, 21 Mar 2024 20:21:07 +0100 Subject: [PATCH 27/88] some cleanup --- common/desktop/home.nix | 5 - common/hm-modules/default.nix | 11 +- common/hm-modules/riff.nix | 28 -- flake.lock | 589 ++------------------------- flake.nix | 85 ++-- hosts/thalassa/null/home/default.nix | 1 - 6 files changed, 104 insertions(+), 615 deletions(-) delete mode 100644 common/hm-modules/riff.nix diff --git a/common/desktop/home.nix b/common/desktop/home.nix index dfc15b78..dccbe87d 100644 --- a/common/desktop/home.nix +++ b/common/desktop/home.nix @@ -50,11 +50,6 @@ programs = { rust.enable = true; }; - riff = { - enable = true; - direnv = true; - }; - firefox.enable = true; chromium = { diff --git a/common/hm-modules/default.nix b/common/hm-modules/default.nix index af1e0614..aabb18cb 100644 --- a/common/hm-modules/default.nix +++ b/common/hm-modules/default.nix @@ -1,3 +1,10 @@ -{ ... }: { - imports = [ ./catppuccin ./nvim ./riff.nix ./vscode.nix ./git.nix ./rust.nix ]; +{ ... }: +{ + imports = [ + ./catppuccin + ./nvim + ./vscode.nix + ./git.nix + ./rust.nix + ]; } diff --git a/common/hm-modules/riff.nix b/common/hm-modules/riff.nix deleted file mode 100644 index 509a782d..00000000 --- a/common/hm-modules/riff.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ config, pkgs, lib, inputs, ... }: -with lib; -let cfg = config.programs.riff; -in { - options.programs.riff = { - enable = mkEnableOption "riff"; - direnv = mkOption { - type = types.bool; - default = false; - description = '' - Whether to enable direnv support - ''; - }; - }; - config = mkIf cfg.enable { - home.packages = [ inputs.riff.packages.${pkgs.system}.riff ]; - - xdg.configFile."direnv/lib/riff.sh" = mkIf cfg.direnv { - executable = true; - text = '' - use_riff() { - watch_file Cargo.toml watch_file Cargo.lock - eval "$(riff --offline print-dev-env)" - } - ''; - }; - }; -} diff --git a/flake.lock b/flake.lock index 8667aff4..ad5f90dd 100644 --- a/flake.lock +++ b/flake.lock @@ -1,52 +1,13 @@ { "nodes": { - "alejandra": { - "inputs": { - "fenix": "fenix_2", - "flakeCompat": "flakeCompat", - "nixpkgs": [ - "webcord", - "dream2nix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1658427149, - "narHash": "sha256-ToD/1z/q5VHsLMrS2h96vjJoLho59eNRtknOUd19ey8=", - "owner": "kamadorueda", - "repo": "alejandra", - "rev": "f5a22afd2adfb249b4e68e0b33aa1f0fb73fb1be", - "type": "github" - }, - "original": { - "owner": "kamadorueda", - "repo": "alejandra", - "type": "github" - } - }, - "all-cabal-json": { - "flake": false, - "locked": { - "lastModified": 1665552503, - "narHash": "sha256-r14RmRSwzv5c+bWKUDaze6pXM7nOsiz1H8nvFHJvufc=", - "owner": "nix-community", - "repo": "all-cabal-json", - "rev": "d7c0434eebffb305071404edcf9d5cd99703878e", - "type": "github" - }, - "original": { - "owner": "nix-community", - "ref": "hackage", - "repo": "all-cabal-json", - "type": "github" - } - }, "attic": { "inputs": { "crane": "crane", "flake-compat": "flake-compat", "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs", + "nixpkgs": [ + "nixpkgs" + ], "nixpkgs-stable": "nixpkgs-stable" }, "locked": { @@ -83,7 +44,7 @@ "inputs": { "flake-compat": "flake-compat_2", "flake-utils": "flake-utils_2", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs", "stable": "stable" }, "locked": { @@ -104,7 +65,7 @@ "inputs": { "flake-compat": "flake-compat_3", "naersk": "naersk", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_2", "utils": "utils" }, "locked": { @@ -163,26 +124,10 @@ "type": "github" } }, - "crane_3": { - "flake": false, - "locked": { - "lastModified": 1670284777, - "narHash": "sha256-JF0pc0s4z/X+Iy+lNHOwUQ8I5bz+q7uX4HrKTNIEj24=", - "owner": "ipetkov", - "repo": "crane", - "rev": "2243fb9c872de25cb564a02d324ea6a5b9853052", - "type": "github" - }, - "original": { - "owner": "ipetkov", - "repo": "crane", - "type": "github" - } - }, "deploy": { "inputs": { "flake-compat": "flake-compat_4", - "nixpkgs": "nixpkgs_4", + "nixpkgs": "nixpkgs_3", "utils": "utils_2" }, "locked": { @@ -221,59 +166,12 @@ "type": "github" } }, - "devshell_2": { - "flake": false, - "locked": { - "lastModified": 1663445644, - "narHash": "sha256-+xVlcK60x7VY1vRJbNUEAHi17ZuoQxAIH4S4iUFUGBA=", - "owner": "numtide", - "repo": "devshell", - "rev": "e3dc3e21594fe07bdb24bdf1c8657acaa4cb8f66", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "devshell", - "type": "github" - } - }, - "dream2nix": { - "inputs": { - "alejandra": "alejandra", - "all-cabal-json": "all-cabal-json", - "crane": "crane_3", - "devshell": "devshell_2", - "flake-parts": "flake-parts_3", - "flake-utils-pre-commit": "flake-utils-pre-commit", - "ghc-utils": "ghc-utils", - "gomod2nix": "gomod2nix", - "mach-nix": "mach-nix", - "nix-pypi-fetcher": "nix-pypi-fetcher", - "nixpkgs": [ - "webcord", - "nixpkgs" - ], - "poetry2nix": "poetry2nix", - "pre-commit-hooks": "pre-commit-hooks_2" - }, - "locked": { - "lastModified": 1670715183, - "narHash": "sha256-l3OhVCCimrN1HFPfqfKAyzuMuPxNXZYLsI9w7AaQXv8=", - "owner": "nix-community", - "repo": "dream2nix", - "rev": "3d6f13ef9d4cb8c41bc83383bbec3e74865ef90d", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "dream2nix", - "type": "github" - } - }, "essentials": { "inputs": { "flake-utils": "flake-utils_3", - "nixpkgs": "nixpkgs_5" + "nixpkgs": [ + "nixpkgs" + ] }, "locked": { "lastModified": 1704366612, @@ -289,52 +187,6 @@ "type": "github" } }, - "fenix": { - "inputs": { - "nixpkgs": [ - "riff", - "nixpkgs" - ], - "rust-analyzer-src": "rust-analyzer-src" - }, - "locked": { - "lastModified": 1686896497, - "narHash": "sha256-IphIS1KpiFXp/j0v7mEMhtw51uvU5F0mqF2j4//7VAA=", - "owner": "nix-community", - "repo": "fenix", - "rev": "9c69d11badcd78710d7d8665bc3d2e1adc450ffe", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "fenix", - "type": "github" - } - }, - "fenix_2": { - "inputs": { - "nixpkgs": [ - "webcord", - "dream2nix", - "alejandra", - "nixpkgs" - ], - "rust-analyzer-src": "rust-analyzer-src_2" - }, - "locked": { - "lastModified": 1657607339, - "narHash": "sha256-HaqoAwlbVVZH2n4P3jN2FFPMpVuhxDy1poNOR7kzODc=", - "owner": "nix-community", - "repo": "fenix", - "rev": "b814c83d9e6aa5a28d0cf356ecfdafb2505ad37d", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "fenix", - "type": "github" - } - }, "flake-compat": { "flake": false, "locked": { @@ -519,24 +371,6 @@ "type": "github" } }, - "flake-parts_3": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib" - }, - "locked": { - "lastModified": 1668450977, - "narHash": "sha256-cfLhMhnvXn6x1vPm+Jow3RiFAUSCw/l1utktCw5rVA4=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "d591857e9d7dd9ddbfba0ea02b43b927c3c0f1fa", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, "flake-utils": { "locked": { "lastModified": 1667395993, @@ -571,21 +405,6 @@ "type": "github" } }, - "flake-utils-pre-commit": { - "locked": { - "lastModified": 1644229661, - "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "flake-utils_10": { "inputs": { "systems": "systems_11" @@ -777,38 +596,6 @@ "type": "github" } }, - "flakeCompat": { - "flake": false, - "locked": { - "lastModified": 1650374568, - "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "b4a34015c698c7793d592d66adbab377907a2be8", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "ghc-utils": { - "flake": false, - "locked": { - "lastModified": 1662774800, - "narHash": "sha256-1Rd2eohGUw/s1tfvkepeYpg8kCEXiIot0RijapUjAkE=", - "ref": "refs/heads/master", - "rev": "bb3a2d3dc52ff0253fb9c2812bd7aa2da03e0fea", - "revCount": 1072, - "type": "git", - "url": "https://gitlab.haskell.org/bgamari/ghc-utils" - }, - "original": { - "type": "git", - "url": "https://gitlab.haskell.org/bgamari/ghc-utils" - } - }, "gitignore": { "inputs": { "nixpkgs": [ @@ -874,22 +661,6 @@ "url": "https://git.0x76.dev/v/gnome-autounlock-keyring.git" } }, - "gomod2nix": { - "flake": false, - "locked": { - "lastModified": 1627572165, - "narHash": "sha256-MFpwnkvQpauj799b4QTBJQFEddbD02+Ln5k92QyHOSk=", - "owner": "tweag", - "repo": "gomod2nix", - "rev": "67f22dd738d092c6ba88e420350ada0ed4992ae8", - "type": "github" - }, - "original": { - "owner": "tweag", - "repo": "gomod2nix", - "type": "github" - } - }, "home-manager": { "inputs": { "nixpkgs": [ @@ -973,21 +744,6 @@ "type": "github" } }, - "mach-nix": { - "flake": false, - "locked": { - "lastModified": 1634711045, - "narHash": "sha256-m5A2Ty88NChLyFhXucECj6+AuiMZPHXNbw+9Kcs7F6Y=", - "owner": "DavHau", - "repo": "mach-nix", - "rev": "4433f74a97b94b596fa6cd9b9c0402104aceef5d", - "type": "github" - }, - "original": { - "id": "mach-nix", - "type": "indirect" - } - }, "mailserver": { "inputs": { "blobs": "blobs", @@ -1014,7 +770,7 @@ "microvm": { "inputs": { "flake-utils": "flake-utils_7", - "nixpkgs": "nixpkgs_6", + "nixpkgs": "nixpkgs_4", "spectrum": "spectrum" }, "locked": { @@ -1053,31 +809,10 @@ "type": "github" } }, - "naersk_2": { - "inputs": { - "nixpkgs": [ - "riff", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1686572087, - "narHash": "sha256-jXTut7ZSYqLEgm/nTk7TuVL2ExahTip605bLINklAnQ=", - "owner": "nix-community", - "repo": "naersk", - "rev": "8507af04eb40c5520bd35d9ce6f9d2342cea5ad1", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "naersk", - "type": "github" - } - }, "nix": { "inputs": { "lowdown-src": "lowdown-src", - "nixpkgs": "nixpkgs_10", + "nixpkgs": "nixpkgs_7", "nixpkgs-regression": "nixpkgs-regression" }, "locked": { @@ -1114,22 +849,6 @@ "type": "github" } }, - "nix-pypi-fetcher": { - "flake": false, - "locked": { - "lastModified": 1669065297, - "narHash": "sha256-UStjXjNIuIm7SzMOWvuYWIHBkPUKQ8Id63BMJjnIDoA=", - "owner": "DavHau", - "repo": "nix-pypi-fetcher", - "rev": "a9885ac6a091576b5195d547ac743d45a2a615ac", - "type": "github" - }, - "original": { - "owner": "DavHau", - "repo": "nix-pypi-fetcher", - "type": "github" - } - }, "nixlib": { "locked": { "lastModified": 1710636348, @@ -1183,32 +902,14 @@ }, "nixpkgs": { "locked": { - "lastModified": 1702539185, - "narHash": "sha256-KnIRG5NMdLIpEkZTnN5zovNYc0hhXjAgv6pfd5Z4c7U=", + "lastModified": 1696019113, + "narHash": "sha256-X3+DKYWJm93DRSdC5M6K5hLqzSya9BjibtBsuARoPco=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "aa9d4729cbc99dabacb50e3994dcefb3ea0f7447", + "rev": "f5892ddac112a1e9b3612c39af1b72987ee5783a", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-lib": { - "locked": { - "dir": "lib", - "lastModified": 1665349835, - "narHash": "sha256-UK4urM3iN80UXQ7EaOappDzcisYIuEURFRoGQ/yPkug=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "34c5293a71ffdb2fe054eb5288adc1882c1eb0b1", - "type": "github" - }, - "original": { - "dir": "lib", "owner": "NixOS", "ref": "nixos-unstable", "repo": "nixpkgs", @@ -1263,71 +964,7 @@ "type": "github" } }, - "nixpkgs_10": { - "locked": { - "lastModified": 1645296114, - "narHash": "sha256-y53N7TyIkXsjMpOG7RhvqJFGDacLs9HlyHeSTBioqYU=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "530a53dcbc9437363471167a5e4762c5fcfa34a1", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-21.05-small", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_11": { - "locked": { - "lastModified": 1696165369, - "narHash": "sha256-pd1cjFHCoEf9q5f9B0HhlOwwpBI9RP3HbUE6xjI7wAI=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "d7186d62bb68fac3c90f1d95515e613ef299e992", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_12": { - "locked": { - "lastModified": 1670507980, - "narHash": "sha256-riNZa0xzM1it3pzxciwALeMs+0CsBMWIW2FqulzK8vM=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "2787fc7d1e51404678614bf0fe92fc296746eec0", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs_2": { - "locked": { - "lastModified": 1696019113, - "narHash": "sha256-X3+DKYWJm93DRSdC5M6K5hLqzSya9BjibtBsuARoPco=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "f5892ddac112a1e9b3612c39af1b72987ee5783a", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_3": { "locked": { "lastModified": 1710159071, "narHash": "sha256-CT0WKgcmlcWZPZL/sSSICN/Vbm4Of0ZDgxc0GFf6sYU=", @@ -1343,7 +980,7 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_3": { "locked": { "lastModified": 1702272962, "narHash": "sha256-D+zHwkwPc6oYQ4G3A1HuadopqRwUY/JkMwHz1YF7j4Q=", @@ -1359,23 +996,7 @@ "type": "github" } }, - "nixpkgs_5": { - "locked": { - "lastModified": 1703438236, - "narHash": "sha256-aqVBq1u09yFhL7bj1/xyUeJjzr92fXVvQSSEx6AdB1M=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "5f64a12a728902226210bf01d25ec6cbb9d9265b", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_6": { + "nixpkgs_4": { "locked": { "lastModified": 1708475490, "narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=", @@ -1391,7 +1012,7 @@ "type": "github" } }, - "nixpkgs_7": { + "nixpkgs_5": { "locked": { "lastModified": 1710861126, "narHash": "sha256-q8fiy9mgUvTAt2OMjiVpQgDlykyGury9Fpsm0jekBfY=", @@ -1406,7 +1027,7 @@ "type": "indirect" } }, - "nixpkgs_8": { + "nixpkgs_6": { "locked": { "lastModified": 1710806803, "narHash": "sha256-qrxvLS888pNJFwJdK+hf1wpRCSQcqA6W5+Ox202NDa0=", @@ -1422,18 +1043,34 @@ "type": "github" } }, - "nixpkgs_9": { + "nixpkgs_7": { "locked": { - "lastModified": 1686736559, - "narHash": "sha256-YyUSVoOKIDAscTx7IZhF9x3qgZ9dPNF19fKk+4c5irc=", - "owner": "nixos", + "lastModified": 1645296114, + "narHash": "sha256-y53N7TyIkXsjMpOG7RhvqJFGDacLs9HlyHeSTBioqYU=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "ddf4688dc7aeb14e8a3c549cb6aa6337f187a884", + "rev": "530a53dcbc9437363471167a5e4762c5fcfa34a1", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixos-23.05", + "owner": "NixOS", + "ref": "nixos-21.05-small", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_8": { + "locked": { + "lastModified": 1696165369, + "narHash": "sha256-pd1cjFHCoEf9q5f9B0HhlOwwpBI9RP3HbUE6xjI7wAI=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "d7186d62bb68fac3c90f1d95515e613ef299e992", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } @@ -1445,7 +1082,7 @@ "flake-parts": "flake-parts_2", "home-manager": "home-manager_2", "nix-darwin": "nix-darwin", - "nixpkgs": "nixpkgs_8", + "nixpkgs": "nixpkgs_6", "pre-commit-hooks": "pre-commit-hooks" }, "locked": { @@ -1477,23 +1114,6 @@ "type": "github" } }, - "poetry2nix": { - "flake": false, - "locked": { - "lastModified": 1666918719, - "narHash": "sha256-BkK42fjAku+2WgCOv2/1NrPa754eQPV7gPBmoKQBWlc=", - "owner": "nix-community", - "repo": "poetry2nix", - "rev": "289efb187123656a116b915206e66852f038720e", - "type": "github" - }, - "original": { - "owner": "nix-community", - "ref": "1.36.0", - "repo": "poetry2nix", - "type": "github" - } - }, "pre-commit-hooks": { "inputs": { "flake-compat": "flake-compat_8", @@ -1553,53 +1173,6 @@ "type": "github" } }, - "pre-commit-hooks_2": { - "inputs": { - "flake-utils": [ - "webcord", - "dream2nix", - "flake-utils-pre-commit" - ], - "nixpkgs": [ - "webcord", - "dream2nix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1646153636, - "narHash": "sha256-AlWHMzK+xJ1mG267FdT8dCq/HvLCA6jwmx2ZUy5O8tY=", - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "rev": "b6bc0b21e1617e2b07d8205e7fae7224036dfa4b", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "type": "github" - } - }, - "riff": { - "inputs": { - "fenix": "fenix", - "naersk": "naersk_2", - "nixpkgs": "nixpkgs_9" - }, - "locked": { - "lastModified": 1690193312, - "narHash": "sha256-JZQoHRBpNM1ucZ9A9ZE3Q67z8AuaBa/WKIS2Wm8zHHo=", - "owner": "DeterminateSystems", - "repo": "riff", - "rev": "aec5418dbae0c468652eaac7f8f3d85ed83c89ce", - "type": "github" - }, - "original": { - "owner": "DeterminateSystems", - "repo": "riff", - "type": "github" - } - }, "root": { "inputs": { "attic": "attic", @@ -1615,48 +1188,12 @@ "microvm": "microvm", "nixos-generators": "nixos-generators", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_7", + "nixpkgs": "nixpkgs_5", "nixvim": "nixvim", "nur": "nur", - "riff": "riff", "t": "t", "vault-secrets": "vault-secrets", - "vault-unseal": "vault-unseal", - "webcord": "webcord" - } - }, - "rust-analyzer-src": { - "flake": false, - "locked": { - "lastModified": 1686818168, - "narHash": "sha256-yyoJmC17T6mXqthzgGiTKSdUJ0cTEuqQmkmd3iW4ay8=", - "owner": "rust-lang", - "repo": "rust-analyzer", - "rev": "ff864fbb9fc21f0cdae408fe8f5b2f43141b45a7", - "type": "github" - }, - "original": { - "owner": "rust-lang", - "ref": "nightly", - "repo": "rust-analyzer", - "type": "github" - } - }, - "rust-analyzer-src_2": { - "flake": false, - "locked": { - "lastModified": 1657557289, - "narHash": "sha256-PRW+nUwuqNTRAEa83SfX+7g+g8nQ+2MMbasQ9nt6+UM=", - "owner": "rust-lang", - "repo": "rust-analyzer", - "rev": "caf23f29144b371035b864a1017dbc32573ad56d", - "type": "github" - }, - "original": { - "owner": "rust-lang", - "ref": "nightly", - "repo": "rust-analyzer", - "type": "github" + "vault-unseal": "vault-unseal" } }, "rust-overlay": { @@ -2009,7 +1546,7 @@ "flake-compat": "flake-compat_9", "flake-utils": "flake-utils_11", "nix": "nix", - "nixpkgs": "nixpkgs_11", + "nixpkgs": "nixpkgs_8", "utils": "utils_4" }, "locked": { @@ -2046,42 +1583,6 @@ "type": "git", "url": "https://git.0x76.dev/v/vault-unseal.git" } - }, - "webcord": { - "inputs": { - "dream2nix": "dream2nix", - "nixpkgs": "nixpkgs_12", - "webcord": "webcord_2" - }, - "locked": { - "lastModified": 1707338607, - "narHash": "sha256-5UNW3kano8D4kbum+oRx18EjmJ1mLeOCwgGR1nWDwtg=", - "owner": "fufexan", - "repo": "webcord-flake", - "rev": "82ffefda8c5f663d895d24b7500d5f489b5d7d47", - "type": "github" - }, - "original": { - "owner": "fufexan", - "repo": "webcord-flake", - "type": "github" - } - }, - "webcord_2": { - "flake": false, - "locked": { - "lastModified": 1670713990, - "narHash": "sha256-e+y/M+/gjezHoNrdXeFhqtvxbPdhRSDOQlwK1nUhNfo=", - "owner": "SpacingBat3", - "repo": "WebCord", - "rev": "80ba858c025e0bb59510f7136211948d8ae10ece", - "type": "github" - }, - "original": { - "owner": "SpacingBat3", - "repo": "WebCord", - "type": "github" - } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 61ccfcfc..2f92f0e2 100644 --- a/flake.nix +++ b/flake.nix @@ -6,7 +6,6 @@ inputs = { nixpkgs.url = "nixpkgs/nixos-unstable-small"; - # nixpkgs_stable.url = "nixpkgs/nixos-23.05"; flake-utils-plus.url = "github:gytis-ivaskevicius/flake-utils-plus/v1.4.0"; @@ -20,10 +19,6 @@ home-manager.url = "github:nix-community/home-manager"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; - riff.url = "github:DeterminateSystems/riff"; - - webcord.url = "github:fufexan/webcord-flake"; - comma.url = "github:nix-community/comma"; mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver"; @@ -36,34 +31,47 @@ nixos-hardware.url = "github:nixos/nixos-hardware"; - lanzaboote = { - url = "github:nix-community/lanzaboote"; - - # Optional but recommended to limit the size of your system closure. - inputs.nixpkgs.follows = "nixpkgs"; - }; + lanzaboote.url = "github:nix-community/lanzaboote"; + lanzaboote.inputs.nixpkgs.follows = "nixpkgs"; vault-unseal.url = "git+https://git.0x76.dev/v/vault-unseal.git"; vault-unseal.inputs.nixpkgs.follows = "nixpkgs"; + gnome-autounlock-keyring.url = "git+https://git.0x76.dev/v/gnome-autounlock-keyring.git"; gnome-autounlock-keyring.inputs.nixpkgs.follows = "nixpkgs"; + t.url = "github:jdonszelmann/t-rs"; t.inputs.nixpkgs.follows = "nixpkgs"; attic.url = "github:zhaofengli/attic"; + attic.inputs.nixpkgs.follows = "nixpkgs"; # Website(s) essentials.url = "github:jdonszelmann/essentials"; + essentials.inputs.nixpkgs.follows = "nixpkgs"; }; - outputs = { self, nixpkgs, flake-utils-plus, nur, attic - , deploy, home-manager, gnome-autounlock-keyring, lanzaboote, t, ... }@inputs: + outputs = + { + self, + nixpkgs, + flake-utils-plus, + nur, + attic, + deploy, + home-manager, + gnome-autounlock-keyring, + lanzaboote, + t, + ... + }@inputs: let pkgs = self.pkgs.x86_64-linux.nixpkgs; apply-local = pkgs.writeShellScriptBin "apply-local" '' - deploy ".#$(cat /etc/hostname)" -s + nh os switch --ask ''; - in flake-utils-plus.lib.mkFlake { + in + flake-utils-plus.lib.mkFlake { # `self` and `inputs` arguments are required inherit self inputs; @@ -71,8 +79,13 @@ supportedSystems = [ "x86_64-linux" ]; # Channels config - channelsConfig = { allowUnfree = true; }; - sharedOverlays = [ (import ./pkgs) nur.overlay ]; + channelsConfig = { + allowUnfree = true; + }; + sharedOverlays = [ + (import ./pkgs) + nur.overlay + ]; # host defaults hostDefaults = { @@ -83,14 +96,19 @@ ./common ]; - specialArgs = { inherit self inputs home-manager; }; + specialArgs = { + inherit self inputs home-manager; + }; }; # hosts hosts = { # TODO: Figure out why this is reversed, and how/why it sets the FQDN "olympus.bastion" = { - modules = [ ./common/generic-vm.nix ./hosts/olympus/bastion ]; + modules = [ + ./common/generic-vm.nix + ./hosts/olympus/bastion + ]; }; aoife = { @@ -112,8 +130,7 @@ remoteBuild = true; profiles = { system = { - path = deploy.lib.x86_64-linux.activate.nixos - self.nixosConfigurations."olympus.bastion"; + path = deploy.lib.x86_64-linux.activate.nixos self.nixosConfigurations."olympus.bastion"; }; }; }; @@ -122,8 +139,7 @@ remoteBuild = true; fastConnection = true; hostname = "aoife"; - profiles.system.path = deploy.lib.x86_64-linux.activate.nixos - self.nixosConfigurations.aoife; + profiles.system.path = deploy.lib.x86_64-linux.activate.nixos self.nixosConfigurations.aoife; }; }; }; @@ -151,18 +167,17 @@ }; # Checks - checks = builtins.mapAttrs - (system: deployLib: deployLib.deployChecks self.deploy) deploy.lib // { - x86_64-linux.mac = pkgs.stdenvNoCC.mkDerivation { - name = "mac check"; - src = self; - dontBuild = true; - doCheck = true; - checkPhase = '' - echo "Hello World" - ''; - installPhase = "mkdir $out"; - }; + checks = builtins.mapAttrs (system: deployLib: deployLib.deployChecks self.deploy) deploy.lib // { + x86_64-linux.mac = pkgs.stdenvNoCC.mkDerivation { + name = "mac check"; + src = self; + dontBuild = true; + doCheck = true; + checkPhase = '' + echo "Hello World" + ''; + installPhase = "mkdir $out"; }; + }; }; } diff --git a/hosts/thalassa/null/home/default.nix b/hosts/thalassa/null/home/default.nix index ffd63dde..53ccf7f5 100644 --- a/hosts/thalassa/null/home/default.nix +++ b/hosts/thalassa/null/home/default.nix @@ -129,7 +129,6 @@ in gnome.nautilus grim # Screenshot tool inputs.comma.packages.${pkgs.system}.default - inputs.riff.packages.${pkgs.system}.riff inputs.webcord.packages.${pkgs.system}.default k9s kubectl From edfe487b8acef3d0d9d7b3692f4a3c52d94647f3 Mon Sep 17 00:00:00 2001 From: Vivian Date: Sat, 23 Mar 2024 12:23:14 +0100 Subject: [PATCH 28/88] default hyprland conf --- hosts/thalassa/aoife/home/default.nix | 7 + hosts/thalassa/aoife/home/hyprland.conf | 187 ++++++++++++++++++++++++ hosts/thalassa/aoife/home/hyprland.nix | 7 + 3 files changed, 201 insertions(+) create mode 100644 hosts/thalassa/aoife/home/hyprland.conf create mode 100644 hosts/thalassa/aoife/home/hyprland.nix diff --git a/hosts/thalassa/aoife/home/default.nix b/hosts/thalassa/aoife/home/default.nix index 367fbd75..2059881d 100644 --- a/hosts/thalassa/aoife/home/default.nix +++ b/hosts/thalassa/aoife/home/default.nix @@ -1,4 +1,9 @@ { pkgs, ... }: { + imports = [ + ./hyprland.nix + ]; + + # Custom dconf settings dconf.settings."org/gnome/desktop/input-sources" = { xkb-options = [ "caps:swapescape" ]; @@ -17,4 +22,6 @@ obsidian typst ]; + + ## Hyprland Config } diff --git a/hosts/thalassa/aoife/home/hyprland.conf b/hosts/thalassa/aoife/home/hyprland.conf new file mode 100644 index 00000000..91cc6011 --- /dev/null +++ b/hosts/thalassa/aoife/home/hyprland.conf @@ -0,0 +1,187 @@ + +# ####################################################################################### +# AUTOGENERATED HYPR CONFIG. +# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT, +# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS. +# ####################################################################################### + +# +# Please note not all available settings / options are set here. +# For a full list, see the wiki +# + +# See https://wiki.hyprland.org/Configuring/Monitors/ +monitor=,preferred,auto,auto + + +# See https://wiki.hyprland.org/Configuring/Keywords/ for more + +# Execute your favorite apps at launch +# exec-once = waybar & hyprpaper & firefox + +# Source a file (multi-file configs) +# source = ~/.config/hypr/myColors.conf + +# Set programs that you use +$terminal = kitty +$fileManager = dolphin +$menu = wofi --show drun + +# Some default env vars. +env = XCURSOR_SIZE,24 +env = QT_QPA_PLATFORMTHEME,qt6ct # change to qt6ct if you have that + +# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ +input { + kb_layout = us + kb_variant = + kb_model = + kb_options = + kb_rules = + + follow_mouse = 1 + + touchpad { + natural_scroll = no + } + + sensitivity = 0 # -1.0 to 1.0, 0 means no modification. +} + +general { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + gaps_in = 5 + gaps_out = 20 + border_size = 2 + col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg + col.inactive_border = rgba(595959aa) + + layout = dwindle + + # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on + allow_tearing = false +} + +decoration { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + rounding = 10 + + blur { + enabled = true + size = 3 + passes = 1 + } + + drop_shadow = yes + shadow_range = 4 + shadow_render_power = 3 + col.shadow = rgba(1a1a1aee) +} + +animations { + enabled = yes + + # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more + + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + + animation = windows, 1, 7, myBezier + animation = windowsOut, 1, 7, default, popin 80% + animation = border, 1, 10, default + animation = borderangle, 1, 8, default + animation = fade, 1, 7, default + animation = workspaces, 1, 6, default +} + +dwindle { + # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more + pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = yes # you probably want this +} + +master { + # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more + new_is_master = true +} + +gestures { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + workspace_swipe = true +} + +misc { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers +} + +# Example per-device config +# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more +device { + name = epic-mouse-v1 + sensitivity = -0.5 +} + +# Example windowrule v1 +# windowrule = float, ^(kitty)$ +# Example windowrule v2 +# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ +# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more +windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. + + +# See https://wiki.hyprland.org/Configuring/Keywords/ for more +$mainMod = SUPER + +# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more +bind = $mainMod, Q, exec, $terminal +bind = $mainMod, C, killactive, +bind = $mainMod, M, exit, +bind = $mainMod, E, exec, $fileManager +bind = $mainMod, V, togglefloating, +bind = $mainMod, R, exec, $menu +bind = $mainMod, P, pseudo, # dwindle +bind = $mainMod, J, togglesplit, # dwindle + +# Move focus with mainMod + arrow keys +bind = $mainMod, left, movefocus, l +bind = $mainMod, right, movefocus, r +bind = $mainMod, up, movefocus, u +bind = $mainMod, down, movefocus, d + +# Switch workspaces with mainMod + [0-9] +bind = $mainMod, 1, workspace, 1 +bind = $mainMod, 2, workspace, 2 +bind = $mainMod, 3, workspace, 3 +bind = $mainMod, 4, workspace, 4 +bind = $mainMod, 5, workspace, 5 +bind = $mainMod, 6, workspace, 6 +bind = $mainMod, 7, workspace, 7 +bind = $mainMod, 8, workspace, 8 +bind = $mainMod, 9, workspace, 9 +bind = $mainMod, 0, workspace, 10 + +# Move active window to a workspace with mainMod + SHIFT + [0-9] +bind = $mainMod SHIFT, 1, movetoworkspace, 1 +bind = $mainMod SHIFT, 2, movetoworkspace, 2 +bind = $mainMod SHIFT, 3, movetoworkspace, 3 +bind = $mainMod SHIFT, 4, movetoworkspace, 4 +bind = $mainMod SHIFT, 5, movetoworkspace, 5 +bind = $mainMod SHIFT, 6, movetoworkspace, 6 +bind = $mainMod SHIFT, 7, movetoworkspace, 7 +bind = $mainMod SHIFT, 8, movetoworkspace, 8 +bind = $mainMod SHIFT, 9, movetoworkspace, 9 +bind = $mainMod SHIFT, 0, movetoworkspace, 10 + +# Example special workspace (scratchpad) +bind = $mainMod, S, togglespecialworkspace, magic +bind = $mainMod SHIFT, S, movetoworkspace, special:magic + +# Scroll through existing workspaces with mainMod + scroll +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 + +# Move/resize windows with mainMod + LMB/RMB and dragging +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow diff --git a/hosts/thalassa/aoife/home/hyprland.nix b/hosts/thalassa/aoife/home/hyprland.nix new file mode 100644 index 00000000..4f8dd38e --- /dev/null +++ b/hosts/thalassa/aoife/home/hyprland.nix @@ -0,0 +1,7 @@ +{ pkgs, ... }: { + home.file.".config/hypr/hyprland.conf".source = ./hyprland.conf; + home.packages = with pkgs; [ + wofi + ]; + +} From 39c8317c9325396ebd1f6137baa6fc09f64ad592 Mon Sep 17 00:00:00 2001 From: Vivian Date: Sat, 23 Mar 2024 20:43:29 +0100 Subject: [PATCH 29/88] fix theming --- common/desktop/home.nix | 80 +++++--- common/hm-modules/catppuccin/default.nix | 51 +++-- common/hm-modules/nvim/default.nix | 19 +- .../hm-modules/nvim/lua/obsidian_picker.lua | 4 + common/modules/gnome/hm.nix | 46 ++--- hosts/thalassa/aoife/default.nix | 1 + hosts/thalassa/aoife/home/eww/eww.scss | 55 ++++++ hosts/thalassa/aoife/home/eww/eww.yuck | 75 ++++++++ hosts/thalassa/aoife/home/eww/scripts/getvol | 12 ++ hosts/thalassa/aoife/home/hyprland.conf | 71 ++----- hosts/thalassa/aoife/home/hyprland.nix | 179 +++++++++++++++++- 11 files changed, 467 insertions(+), 126 deletions(-) create mode 100644 hosts/thalassa/aoife/home/eww/eww.scss create mode 100644 hosts/thalassa/aoife/home/eww/eww.yuck create mode 100755 hosts/thalassa/aoife/home/eww/scripts/getvol diff --git a/common/desktop/home.nix b/common/desktop/home.nix index dccbe87d..bd4e201c 100644 --- a/common/desktop/home.nix +++ b/common/desktop/home.nix @@ -1,34 +1,47 @@ -{ pkgs, inputs, config, ... }: +{ + pkgs, + inputs, + config, + ... +}: let tex = pkgs.texlive.combine { inherit (pkgs.texlive) scheme-full; - dnd-5e-latex-template = { pkgs = [ pkgs.v.dnd-5e-latex-template ]; }; + dnd-5e-latex-template = { + pkgs = [ pkgs.v.dnd-5e-latex-template ]; + }; }; - my-python-packages = ps: with ps; [ pandas requests numpy scapy pyshark cryptography flask ]; -in { + my-python-packages = + ps: with ps; [ + pandas + requests + numpy + scapy + pyshark + cryptography + flask + ]; +in +{ home.packages = with pkgs; [ (python3.withPackages my-python-packages) btop calibre - celluloid + celluloid # video player cinny-desktop element-desktop fusee-launcher - fractal-next - foliate + foliate # epub reader gcc gimp - helix inputs.attic.packages.${pkgs.system}.attic inputs.comma.packages.${pkgs.system}.default - # inputs.webcord.packages.${pkgs.system}.default discord jetbrains.clion jetbrains.rust-rover kdenlive libreoffice-fresh mattermost-desktop - mullvad-vpn neofetch nixpkgs-review plex-media-player @@ -43,7 +56,7 @@ in { # Enable my own hm modules themes.v.catppuccin.enable = true; -programs = { + programs = { v = { vscode.enable = true; nvim.enable = true; @@ -64,31 +77,38 @@ programs = { zsh = { enable = true; - sessionVariables = { DIRENV_LOG_FORMAT = ""; }; + sessionVariables = { + DIRENV_LOG_FORMAT = ""; + }; }; thunderbird = { enable = true; - profiles.default = { isDefault = true; }; + profiles.default = { + isDefault = true; + }; + }; + kitty = { + enable = true; + shellIntegration.enableZshIntegration = true; }; - kitty = { - enable = true; - shellIntegration.enableZshIntegration = true; }; -}; # Syncthing services.syncthing.enable = true; - xdg.userDirs = let home = config.home.homeDirectory; - in { - enable = true; - createDirectories = true; - desktop = "${home}/.desktop"; - documents = "${home}/cloud/Documents"; - download = "${home}/dl"; - music = "${home}/cloud/Music"; - pictures = "${home}/cloud/Pictures"; - publicShare = "${home}/.publicShare"; - templates = "${home}/.templates"; - videos = "${home}/cloud/Videos"; - }; + xdg.userDirs = + let + home = config.home.homeDirectory; + in + { + enable = true; + createDirectories = true; + desktop = "${home}/.desktop"; + documents = "${home}/cloud/Documents"; + download = "${home}/dl"; + music = "${home}/cloud/Music"; + pictures = "${home}/cloud/Pictures"; + publicShare = "${home}/.publicShare"; + templates = "${home}/.templates"; + videos = "${home}/cloud/Videos"; + }; } diff --git a/common/hm-modules/catppuccin/default.nix b/common/hm-modules/catppuccin/default.nix index ee6c76b3..a997a6ec 100644 --- a/common/hm-modules/catppuccin/default.nix +++ b/common/hm-modules/catppuccin/default.nix @@ -1,26 +1,35 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: with lib; let cfg = config.themes.v.catppuccin; -in { - options.themes.v.catppuccin = { enable = mkEnableOption "catppuccin"; }; - config = let - theme = "Catppuccin-Frappe-Pink-Dark"; - cursorTheme = config.home.pointerCursor.name; - in mkIf cfg.enable { +in +{ + options.themes.v.catppuccin = { + enable = mkEnableOption "catppuccin"; + }; + config = mkIf cfg.enable { home.pointerCursor = { name = "Bibata_Ghost"; size = 24; package = pkgs.bibata-cursors-translucent; }; - programs.kitty.theme = "Catppuccin-Frappe"; - programs.kitty.font.name = "DejaVuSansMono Nerd Font"; + programs.kitty = { + theme = "Catppuccin-Frappe"; + font.name = "DejaVuSansMono Nerd Font"; + }; + + # home.sessionVariables.GTK_USE_PORTAL = "1"; gtk = { enable = true; theme = { - name = theme; + name = "Catppuccin-Frappe-Standard-Pink-Dark"; package = pkgs.catppuccin-gtk.override { accents = [ "pink" ]; variant = "frappe"; @@ -32,8 +41,25 @@ in { package = pkgs.papirus-icon-theme.override { color = "violet"; }; }; cursorTheme = { - name = cursorTheme; - inherit (config.home.pointerCursor) package size; + inherit (config.home.pointerCursor) name package size; + }; + }; + + xdg.configFile = { + "gtk-4.0/assets".source = "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}/gtk-4.0/assets"; + "gtk-4.0/gtk.css".source = "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}/gtk-4.0/gtk.css"; + "gtk-4.0/gtk-dark.css".source = "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}/gtk-4.0/gtk-dark.css"; + }; + + qt = { + enable = true; + platformTheme = "qtct"; + style = { + name = "Catppuccin-Frappe-Pink"; + package = pkgs.catppuccin-kde.override { + flavour = [ "frappe" ]; + accents = [ "pink" ]; + }; }; }; @@ -43,4 +69,3 @@ in { }; }; } - diff --git a/common/hm-modules/nvim/default.nix b/common/hm-modules/nvim/default.nix index 51b01928..7ca8dedd 100644 --- a/common/hm-modules/nvim/default.nix +++ b/common/hm-modules/nvim/default.nix @@ -115,7 +115,7 @@ with lib; { mode = "n"; key = "q"; - action = ":bd"; # Delete buffer + action = ":bd"; # Delete buffer } { mode = "n"; @@ -187,13 +187,13 @@ with lib; nvim-nio ]; + extraConfigLua = ""; + colorschemes.catppuccin = { enable = true; flavour = "frappe"; }; - extraConfigLua = ""; - plugins = { image = { enable = true; @@ -220,7 +220,7 @@ with lib; } { name = "notes"; - path = "~/src/notes"; + path = "~/cloud/Notes"; } ]; completion = { @@ -278,10 +278,12 @@ with lib; surround.enable = true; fugitive.enable = true; gitgutter.enable = true; + lualine = { enable = true; theme = "catppuccin"; }; + telescope = { enable = true; defaults.preview.ls_short = true; @@ -354,7 +356,14 @@ with lib; lspkind.enable = true; lspsaga = { enable = true; - lightbulb.virtualText = false; + lightbulb.enable = false; + }; + nvim-lightbulb = { + enable = true; + settings = { + autocmd.enabled = true; + number.enabled = true; + }; }; vimtex.enable = true; floaterm.enable = true; diff --git a/common/hm-modules/nvim/lua/obsidian_picker.lua b/common/hm-modules/nvim/lua/obsidian_picker.lua index cf23df4b..94a38a81 100644 --- a/common/hm-modules/nvim/lua/obsidian_picker.lua +++ b/common/hm-modules/nvim/lua/obsidian_picker.lua @@ -10,6 +10,10 @@ for key, _ in pairs(obsidian_commands) do table.insert(results, string.sub(key, 9)) end +Local = 100 +local Local = 3 +print(Local) + local obsidian_picker = function(opts) opts = opts or require("telescope.themes").get_dropdown{} pickers.new(opts, { diff --git a/common/modules/gnome/hm.nix b/common/modules/gnome/hm.nix index 95e3cdf4..381e49f2 100644 --- a/common/modules/gnome/hm.nix +++ b/common/modules/gnome/hm.nix @@ -34,29 +34,29 @@ in { "application/x-extension-html" = "firefox.desktop"; # Images - "image/bmp" = "org.gnome.eog.desktop"; - "image/gif" = "org.gnome.eog.desktop"; - "image/jpg" = "org.gnome.eog.desktop"; - "image/pjpeg" = "org.gnome.eog.desktop"; - "image/png" = "org.gnome.eog.desktop"; - "image/tiff" = "org.gnome.eog.desktop"; - "image/webp" = "org.gnome.eog.desktop"; - "image/x-bmp" = "org.gnome.eog.desktop"; - "image/x-gray" = "org.gnome.eog.desktop"; - "image/x-icb" = "org.gnome.eog.desktop"; - "image/x-ico" = "org.gnome.eog.desktop"; - "image/x-png" = "org.gnome.eog.desktop"; - "image/x-portable-anymap" = "org.gnome.eog.desktop"; - "image/x-portable-bitmap" = "org.gnome.eog.desktop"; - "image/x-portable-graymap" = "org.gnome.eog.desktop"; - "image/x-portable-pixmap" = "org.gnome.eog.desktop"; - "image/x-xbitmap" = "org.gnome.eog.desktop"; - "image/x-xpixmap" = "org.gnome.eog.desktop"; - "image/x-pcx" = "org.gnome.eog.desktop"; - "image/svg+xml" = "org.gnome.eog.desktop"; - "image/svg+xml-compressed" = "org.gnome.eog.desktop"; - "image/vnd.wap.wbmp" = "org.gnome.eog.desktop"; - "image/x-icns" = "org.gnome.eog.desktop"; + "image/bmp" = "org.gnome.Loupe.desktop"; + "image/gif" = "org.gnome.Loupe.desktop"; + "image/jpg" = "org.gnome.Loupe.desktop"; + "image/pjpeg" = "org.gnome.Loupe.desktop"; + "image/png" = "org.gnome.Loupe.desktop"; + "image/tiff" = "org.gnome.Loupe.desktop"; + "image/webp" = "org.gnome.Loupe.desktop"; + "image/x-bmp" = "org.gnome.Loupe.desktop"; + "image/x-gray" = "org.gnome.Loupe.desktop"; + "image/x-icb" = "org.gnome.Loupe.desktop"; + "image/x-ico" = "org.gnome.Loupe.desktop"; + "image/x-png" = "org.gnome.Loupe.desktop"; + "image/x-portable-anymap" = "org.gnome.Loupe.desktop"; + "image/x-portable-bitmap" = "org.gnome.Loupe.desktop"; + "image/x-portable-graymap" = "org.gnome.Loupe.desktop"; + "image/x-portable-pixmap" = "org.gnome.Loupe.desktop"; + "image/x-xbitmap" = "org.gnome.Loupe.desktop"; + "image/x-xpixmap" = "org.gnome.Loupe.desktop"; + "image/x-pcx" = "org.gnome.Loupe.desktop"; + "image/svg+xml" = "org.gnome.Loupe.desktop"; + "image/svg+xml-compressed" = "org.gnome.Loupe.desktop"; + "image/vnd.wap.wbmp" = "org.gnome.Loupe.desktop"; + "image/x-icns" = "org.gnome.Loupe.desktop"; }; dconf.settings = { diff --git a/hosts/thalassa/aoife/default.nix b/hosts/thalassa/aoife/default.nix index f47b388f..63fe3d19 100644 --- a/hosts/thalassa/aoife/default.nix +++ b/hosts/thalassa/aoife/default.nix @@ -37,6 +37,7 @@ }; home-manager.users.vivian = import ./home; + programs.hyprland.enable = true; # Enable Ozone rendering for Chromium and Electron apps. environment.sessionVariables.NIXOS_OZONE_WL = "1"; diff --git a/hosts/thalassa/aoife/home/eww/eww.scss b/hosts/thalassa/aoife/home/eww/eww.scss new file mode 100644 index 00000000..efa2a502 --- /dev/null +++ b/hosts/thalassa/aoife/home/eww/eww.scss @@ -0,0 +1,55 @@ +* { + all: unset; //Unsets everything so you can style everything from scratch +} + +//Global Styles +.bar { + background-color: #3a3a3a; + color: #b0b4bc; + padding: 10px; +} + +// Styles on classes (see eww.yuck for more information) + +.sidestuff slider { + all: unset; + color: #ffd5cd; +} + +.metric scale trough highlight { + all: unset; + background-color: #D35D6E; + color: #000000; + border-radius: 10px; +} +.metric scale trough { + all: unset; + background-color: #4e4e4e; + border-radius: 50px; + min-height: 3px; + min-width: 50px; + margin-left: 10px; + margin-right: 20px; +} +.metric scale trough highlight { + all: unset; + background-color: #D35D6E; + color: #000000; + border-radius: 10px; +} +.metric scale trough { + all: unset; + background-color: #4e4e4e; + border-radius: 50px; + min-height: 3px; + min-width: 50px; + margin-left: 10px; + margin-right: 20px; +} +.label-ram { + font-size: large; +} +.workspaces button:hover { + color: #D35D6E; +} + diff --git a/hosts/thalassa/aoife/home/eww/eww.yuck b/hosts/thalassa/aoife/home/eww/eww.yuck new file mode 100644 index 00000000..a4a27d2c --- /dev/null +++ b/hosts/thalassa/aoife/home/eww/eww.yuck @@ -0,0 +1,75 @@ +(defwidget bar [] + (centerbox :orientation "h" + (workspaces) + (music) + (sidestuff))) + +(defwidget sidestuff [] + (box :class "sidestuff" :orientation "h" :space-evenly false :halign "end" + (metric :label "🔊" + :value volume + :onchange "amixer -D pulse sset Master {}%") + (metric :label "" + :value {EWW_RAM.used_mem_perc} + :onchange "") + (metric :label "💾" + :value {round((1 - (EWW_DISK["/"].free / EWW_DISK["/"].total)) * 100, 0)} + :onchange "") + time)) + +(defwidget workspaces [] + (box :class "workspaces" + :orientation "h" + :space-evenly true + :halign "start" + :spacing 10 + (button :onclick "wmctrl -s 0" 1) + (button :onclick "wmctrl -s 1" 2) + (button :onclick "wmctrl -s 2" 3) + (button :onclick "wmctrl -s 3" 4) + (button :onclick "wmctrl -s 4" 5) + (button :onclick "wmctrl -s 5" 6) + (button :onclick "wmctrl -s 6" 7) + (button :onclick "wmctrl -s 7" 8) + (button :onclick "wmctrl -s 8" 9))) + +(defwidget music [] + (box :class "music" + :orientation "h" + :space-evenly false + :halign "center" + {music != "" ? "🎵${music}" : ""})) + + +(defwidget metric [label value onchange] + (box :orientation "h" + :class "metric" + :space-evenly false + (box :class "label" label) + (scale :min 0 + :max 101 + :active {onchange != ""} + :value value + :onchange onchange))) + + + +(deflisten music :initial "" + "playerctl --follow metadata --format '{{ artist }} - {{ title }}' || true") + +(defpoll volume :interval "1s" + "scripts/getvol") + +(defpoll time :interval "10s" + "date '+%H:%M %b %d, %Y'") + +(defwindow bar + :monitor 0 + :windowtype "dock" + :geometry (geometry :x "0%" + :y "0%" + :width "90%" + :height "10px" + :anchor "top center") + :reserve (struts :side "top" :distance "4%") + (bar)) diff --git a/hosts/thalassa/aoife/home/eww/scripts/getvol b/hosts/thalassa/aoife/home/eww/scripts/getvol new file mode 100755 index 00000000..4e4275d8 --- /dev/null +++ b/hosts/thalassa/aoife/home/eww/scripts/getvol @@ -0,0 +1,12 @@ +#!/bin/sh + +if command -v pamixer &>/dev/null; then + if [ true == $(pamixer --get-mute) ]; then + echo 0 + exit + else + pamixer --get-volume + fi +else + amixer -D pulse sget Master | awk -F '[^0-9]+' '/Left:/{print $3}' +fi diff --git a/hosts/thalassa/aoife/home/hyprland.conf b/hosts/thalassa/aoife/home/hyprland.conf index 91cc6011..e148387c 100644 --- a/hosts/thalassa/aoife/home/hyprland.conf +++ b/hosts/thalassa/aoife/home/hyprland.conf @@ -1,19 +1,6 @@ - -# ####################################################################################### -# AUTOGENERATED HYPR CONFIG. -# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT, -# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS. -# ####################################################################################### - -# -# Please note not all available settings / options are set here. -# For a full list, see the wiki -# - # See https://wiki.hyprland.org/Configuring/Monitors/ monitor=,preferred,auto,auto - # See https://wiki.hyprland.org/Configuring/Keywords/ for more # Execute your favorite apps at launch @@ -28,24 +15,14 @@ $fileManager = dolphin $menu = wofi --show drun # Some default env vars. -env = XCURSOR_SIZE,24 -env = QT_QPA_PLATFORMTHEME,qt6ct # change to qt6ct if you have that +# env = XCURSOR_SIZE,24 # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ input { - kb_layout = us - kb_variant = - kb_model = - kb_options = - kb_rules = - - follow_mouse = 1 - - touchpad { - natural_scroll = no - } - - sensitivity = 0 # -1.0 to 1.0, 0 means no modification. + kb_options=caps:escape + touchpad { + natural_scroll= true + } } general { @@ -101,11 +78,6 @@ dwindle { preserve_split = yes # you probably want this } -master { - # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more - new_is_master = true -} - gestures { # See https://wiki.hyprland.org/Configuring/Variables/ for more workspace_swipe = true @@ -113,37 +85,32 @@ gestures { misc { # See https://wiki.hyprland.org/Configuring/Variables/ for more - force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers + force_default_wallpaper = 2 # Set to 0 or 1 to disable the anime mascot wallpapers } -# Example per-device config -# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more -device { - name = epic-mouse-v1 - sensitivity = -0.5 -} - -# Example windowrule v1 -# windowrule = float, ^(kitty)$ -# Example windowrule v2 -# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ -# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more +# Window Rules windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. - +windowrulev2 = workspace 1 silent, class:^(Element)$ +windowrulev2 = workspace 1 silent, class:^(discord)$ +windowrulev2 = workspace 2 silent, class:^(firefox)$ +windowrulev2 = float,class:^(firefox)$,title:^(Picture-in-Picture)$ # See https://wiki.hyprland.org/Configuring/Keywords/ for more $mainMod = SUPER # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more -bind = $mainMod, Q, exec, $terminal -bind = $mainMod, C, killactive, -bind = $mainMod, M, exit, +bind = $mainMod, RETURN, exec, $terminal +bind = $mainMod, Q, killactive, +bind = $mainMod SHIFT, escape, exit, bind = $mainMod, E, exec, $fileManager bind = $mainMod, V, togglefloating, -bind = $mainMod, R, exec, $menu +bind = $mainMod, D, exec, $menu bind = $mainMod, P, pseudo, # dwindle bind = $mainMod, J, togglesplit, # dwindle +# Fullscreen +bind=SUPER,m,fullscreen + # Move focus with mainMod + arrow keys bind = $mainMod, left, movefocus, l bind = $mainMod, right, movefocus, r @@ -185,3 +152,5 @@ bind = $mainMod, mouse_up, workspace, e-1 # Move/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow + +# vim: ft=hyprlang diff --git a/hosts/thalassa/aoife/home/hyprland.nix b/hosts/thalassa/aoife/home/hyprland.nix index 4f8dd38e..2e5f3370 100644 --- a/hosts/thalassa/aoife/home/hyprland.nix +++ b/hosts/thalassa/aoife/home/hyprland.nix @@ -1,7 +1,178 @@ { pkgs, ... }: { - home.file.".config/hypr/hyprland.conf".source = ./hyprland.conf; - home.packages = with pkgs; [ - wofi - ]; + # home.file.".config/hypr/hyprland.conf".source = ./hyprland.conf; + + programs.wofi = { + enable = true; + }; + + programs.eww = { + enable = true; + package = pkgs.eww-wayland; + configDir = ./eww; + }; + + + wayland.windowManager.hyprland = { + enable = true; + systemd.enable = true; + extraConfig = '' +# See https://wiki.hyprland.org/Configuring/Monitors/ +monitor=,preferred,auto,auto + +# See https://wiki.hyprland.org/Configuring/Keywords/ for more + +# Execute your favorite apps at launch +# exec-once = waybar & hyprpaper & firefox + +# Source a file (multi-file configs) +# source = ~/.config/hypr/myColors.conf + +# Set programs that you use +$terminal = kitty +$fileManager = dolphin +$menu = wofi --show drun + +# Some default env vars. +# env = XCURSOR_SIZE,24 + +# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ +input { + kb_options=caps:escape + touchpad { + natural_scroll= true + } +} + +general { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + gaps_in = 5 + gaps_out = 20 + border_size = 2 + col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg + col.inactive_border = rgba(595959aa) + + layout = dwindle + + # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on + allow_tearing = false +} + +decoration { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + rounding = 10 + + blur { + enabled = true + size = 3 + passes = 1 + } + + drop_shadow = yes + shadow_range = 4 + shadow_render_power = 3 + col.shadow = rgba(1a1a1aee) +} + +animations { + enabled = yes + + # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more + + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + + animation = windows, 1, 7, myBezier + animation = windowsOut, 1, 7, default, popin 80% + animation = border, 1, 10, default + animation = borderangle, 1, 8, default + animation = fade, 1, 7, default + animation = workspaces, 1, 6, default +} + +dwindle { + # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more + pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = yes # you probably want this +} + +gestures { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + workspace_swipe = true +} + +misc { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + force_default_wallpaper = 2 # Set to 0 or 1 to disable the anime mascot wallpapers +} + +# Window Rules +windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. +windowrulev2 = workspace 1 silent, class:^(Element)$ +windowrulev2 = workspace 1 silent, class:^(discord)$ +windowrulev2 = workspace 2 silent, class:^(firefox)$ +windowrulev2 = float,class:^(firefox)$,title:^(Picture-in-Picture)$ + +# See https://wiki.hyprland.org/Configuring/Keywords/ for more +$mainMod = SUPER + +# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more +bind = $mainMod, RETURN, exec, $terminal +bind = $mainMod, Q, killactive, +bind = $mainMod SHIFT, escape, exit, +bind = $mainMod, E, exec, $fileManager +bind = $mainMod, V, togglefloating, +bind = $mainMod, D, exec, $menu +bind = $mainMod, P, pseudo, # dwindle +bind = $mainMod, J, togglesplit, # dwindle + +# Fullscreen +bind=SUPER,m,fullscreen + +# Move focus with mainMod + arrow keys +bind = $mainMod, left, movefocus, l +bind = $mainMod, right, movefocus, r +bind = $mainMod, up, movefocus, u +bind = $mainMod, down, movefocus, d + +# Switch workspaces with mainMod + [0-9] +bind = $mainMod, 1, workspace, 1 +bind = $mainMod, 2, workspace, 2 +bind = $mainMod, 3, workspace, 3 +bind = $mainMod, 4, workspace, 4 +bind = $mainMod, 5, workspace, 5 +bind = $mainMod, 6, workspace, 6 +bind = $mainMod, 7, workspace, 7 +bind = $mainMod, 8, workspace, 8 +bind = $mainMod, 9, workspace, 9 +bind = $mainMod, 0, workspace, 10 + +# Move active window to a workspace with mainMod + SHIFT + [0-9] +bind = $mainMod SHIFT, 1, movetoworkspace, 1 +bind = $mainMod SHIFT, 2, movetoworkspace, 2 +bind = $mainMod SHIFT, 3, movetoworkspace, 3 +bind = $mainMod SHIFT, 4, movetoworkspace, 4 +bind = $mainMod SHIFT, 5, movetoworkspace, 5 +bind = $mainMod SHIFT, 6, movetoworkspace, 6 +bind = $mainMod SHIFT, 7, movetoworkspace, 7 +bind = $mainMod SHIFT, 8, movetoworkspace, 8 +bind = $mainMod SHIFT, 9, movetoworkspace, 9 +bind = $mainMod SHIFT, 0, movetoworkspace, 10 + +# Example special workspace (scratchpad) +bind = $mainMod, S, togglespecialworkspace, magic +bind = $mainMod SHIFT, S, movetoworkspace, special:magic + +# Scroll through existing workspaces with mainMod + scroll +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 + +# Move/resize windows with mainMod + LMB/RMB and dragging +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow + +# vim: ft=hyprlang + ''; + }; } From 6215afa533984f54d17e9576f68abf127517abd3 Mon Sep 17 00:00:00 2001 From: Vivian Date: Sat, 23 Mar 2024 22:48:37 +0100 Subject: [PATCH 30/88] very simple waybar --- flake.lock | 62 ++--- flake.nix | 2 +- hosts/thalassa/aoife/hardware.nix | 20 +- hosts/thalassa/aoife/home/hyprland.nix | 301 ++++++++++++------------- 4 files changed, 189 insertions(+), 196 deletions(-) diff --git a/flake.lock b/flake.lock index ad5f90dd..79f19fe6 100644 --- a/flake.lock +++ b/flake.lock @@ -153,11 +153,11 @@ ] }, "locked": { - "lastModified": 1710156081, - "narHash": "sha256-4PMY6aumJi5dLFjBzF5O4flKXmadMNq3AGUHKYfchh0=", + "lastModified": 1711099426, + "narHash": "sha256-HzpgM/wc3aqpnHJJ2oDqPBkNsqWbW0WfWUO8lKu8nGk=", "owner": "numtide", "repo": "devshell", - "rev": "bc68b058dc7e6d4d6befc4ec6c60082b6e844b7d", + "rev": "2d45b54ca4a183f2fdcf4b19c895b64fbf620ee8", "type": "github" }, "original": { @@ -668,11 +668,11 @@ ] }, "locked": { - "lastModified": 1710820906, - "narHash": "sha256-2bNMraoRB4pdw/HtxgYTFeMhEekBZeQ53/a8xkqpbZc=", + "lastModified": 1711133180, + "narHash": "sha256-WJOahf+6115+GMl3wUfURu8fszuNeJLv9qAWFQl3Vmo=", "owner": "nix-community", "repo": "home-manager", - "rev": "022464438a85450abb23d93b91aa82e0addd71fb", + "rev": "1c2c5e4cabba4c43504ef0f8cc3f3dfa284e2dbb", "type": "github" }, "original": { @@ -689,11 +689,11 @@ ] }, "locked": { - "lastModified": 1710820906, - "narHash": "sha256-2bNMraoRB4pdw/HtxgYTFeMhEekBZeQ53/a8xkqpbZc=", + "lastModified": 1711133180, + "narHash": "sha256-WJOahf+6115+GMl3wUfURu8fszuNeJLv9qAWFQl3Vmo=", "owner": "nix-community", "repo": "home-manager", - "rev": "022464438a85450abb23d93b91aa82e0addd71fb", + "rev": "1c2c5e4cabba4c43504ef0f8cc3f3dfa284e2dbb", "type": "github" }, "original": { @@ -774,11 +774,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1710760349, - "narHash": "sha256-yqGeSnAB3Yeg02jtitzSGIuE21kq7+pWAdeGK3F9/cY=", + "lastModified": 1711159783, + "narHash": "sha256-nwl2Cygq7NrV9QcebJE/T/vXv7w+zLERD7ygHz0F5g8=", "owner": "astro", "repo": "microvm.nix", - "rev": "0e2223d8fd459725850bd9aff7e9d68ec329769a", + "rev": "d31f7c7d3194c51372134832a3a2a256773c161a", "type": "github" }, "original": { @@ -872,11 +872,11 @@ ] }, "locked": { - "lastModified": 1710722910, - "narHash": "sha256-P5p9+WQFuABoBXBKEK1ZYu8mD6q8j/cQwZ9OYb0oh2E=", + "lastModified": 1711108213, + "narHash": "sha256-Q8cwpA2LQOInqeXVckrfFlbzHB8HOWrYntuOxqn3A3g=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "e63df01c798b99a76dc2ec25481be7dd25cd1610", + "rev": "417a857dfb824e60930881a254dd67d6796f5884", "type": "github" }, "original": { @@ -1014,26 +1014,26 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1710861126, - "narHash": "sha256-q8fiy9mgUvTAt2OMjiVpQgDlykyGury9Fpsm0jekBfY=", + "lastModified": 1711223581, + "narHash": "sha256-gxwEymONInAXL6mM5c0JyIu18kANnL9ckJCKPrYnzxo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2dcadb7087e38314cebb15af65f8f2a15d2940cc", + "rev": "af8bf466f6a04f569f49b1d062fe4fab06fae357", "type": "github" }, "original": { "id": "nixpkgs", - "ref": "nixos-unstable-small", + "ref": "master", "type": "indirect" } }, "nixpkgs_6": { "locked": { - "lastModified": 1710806803, - "narHash": "sha256-qrxvLS888pNJFwJdK+hf1wpRCSQcqA6W5+Ox202NDa0=", + "lastModified": 1711001935, + "narHash": "sha256-URtGpHue7HHZK0mrHnSf8wJ6OmMKYSsoLmJybrOLFSQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b06025f1533a1e07b6db3e75151caa155d1c7eb3", + "rev": "20f77aa09916374aa3141cbc605c955626762c9a", "type": "github" }, "original": { @@ -1086,11 +1086,11 @@ "pre-commit-hooks": "pre-commit-hooks" }, "locked": { - "lastModified": 1710936779, - "narHash": "sha256-ecYnUzSWqRae10pp7J6ZE2BznTPJ9f8sLiIoDBQtRBw=", + "lastModified": 1711199922, + "narHash": "sha256-Oz5WNOPp95K4JLyoNQKyEdaUM5JzliC62jwTpGPqYNE=", "owner": "pta2002", "repo": "nixvim", - "rev": "4f6e90212c7ec56d7c03611fb86befa313e7f61f", + "rev": "7170aad28139cd3629b2b6ce4c9272bf41c2ad45", "type": "github" }, "original": { @@ -1101,11 +1101,11 @@ }, "nur": { "locked": { - "lastModified": 1710940845, - "narHash": "sha256-hDL4J2VgG0fmCuq+X1M6e7nVp2a5xHl05PfQZlANhkQ=", + "lastModified": 1711221702, + "narHash": "sha256-OXF5uu1CKPG+O2/I0ZT0m1iUcX3j91p4heSKHB0G9xM=", "owner": "nix-community", "repo": "NUR", - "rev": "1593636f37dc0b788e75fb843916ce1afd21fcd0", + "rev": "b1106d45a93dd804f3669d5271ff0bb03350d344", "type": "github" }, "original": { @@ -1129,11 +1129,11 @@ ] }, "locked": { - "lastModified": 1710843117, - "narHash": "sha256-b6iKQeHegzpc697rxTPA3bpwGN3m50eLCgdQOmceFuE=", + "lastModified": 1710923068, + "narHash": "sha256-6hOpUiuxuwpXXc/xfJsBUJeqqgGI+JMJuLo45aG3cKc=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "e8dc1b4fe80c6fcededde7700e6a23bcdf7f3347", + "rev": "e611897ddfdde3ed3eaac4758635d7177ff78673", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 2f92f0e2..cdeb0e9e 100644 --- a/flake.nix +++ b/flake.nix @@ -5,7 +5,7 @@ # * https://github.com/Infinidoge/nix-minecraft inputs = { - nixpkgs.url = "nixpkgs/nixos-unstable-small"; + nixpkgs.url = "nixpkgs/master"; flake-utils-plus.url = "github:gytis-ivaskevicius/flake-utils-plus/v1.4.0"; diff --git a/hosts/thalassa/aoife/hardware.nix b/hosts/thalassa/aoife/hardware.nix index bdee64b8..772120d3 100644 --- a/hosts/thalassa/aoife/hardware.nix +++ b/hosts/thalassa/aoife/hardware.nix @@ -1,4 +1,5 @@ -{ pkgs, ... }: { +{ pkgs, ... }: +{ environment.systemPackages = with pkgs; [ pciutils usbutils @@ -27,7 +28,16 @@ hardware.bolt.enable = true; - fprintd.enable = true; + fprintd = { + enable = true; + # fprintd test suite fails + package = pkgs.fprintd.overrideAttrs { + mesonCheckFlags = [ + "--no-suite" + "fprintd:TestPamFprintd" + ]; + }; + }; # Video Driver xserver = { @@ -57,11 +67,9 @@ # tpm enable = true; - pkcs11.enable = - true; # expose /run/current-system/sw/lib/libtpm2_pkcs11.so + pkcs11.enable = true; # expose /run/current-system/sw/lib/libtpm2_pkcs11.so tctiEnvironment.enable = true; }; }; # TPM2TOOLS_TCTI and TPM2_PKCS11_TCTI env variables - users.users.vivian.extraGroups = - [ "tss" ]; # tss group has access to TPM devices + users.users.vivian.extraGroups = [ "tss" ]; # tss group has access to TPM devices } diff --git a/hosts/thalassa/aoife/home/hyprland.nix b/hosts/thalassa/aoife/home/hyprland.nix index 2e5f3370..2751c5df 100644 --- a/hosts/thalassa/aoife/home/hyprland.nix +++ b/hosts/thalassa/aoife/home/hyprland.nix @@ -1,178 +1,163 @@ -{ pkgs, ... }: { - # home.file.".config/hypr/hyprland.conf".source = ./hyprland.conf; +{ pkgs, ... }: +{ + programs = { + wofi = { + enable = true; + }; - programs.wofi = { - enable = true; + eww = { + enable = true; + package = pkgs.eww-wayland; + configDir = ./eww; + }; + + waybar = { + enable = true; + settings = { + mainBar = { + layer = "top"; + position = "top"; + height = 30; + modules-left = [ "hyprland/workspaces" ]; + modules-center = [ "clock" ]; + modules-right = [ "wireplumber" "power-profiles-daemon" "network" "battery" ]; + }; + }; + systemd = { + enable = true; + target = "hyprland-session.target"; + }; + }; }; - programs.eww = { - enable = true; - package = pkgs.eww-wayland; - configDir = ./eww; - }; - - wayland.windowManager.hyprland = { enable = true; systemd.enable = true; + + settings = { + monitor = ",preferred,auto,auto"; + input = { + kb_options = "caps:escape"; + touchpad.natural_scroll = true; + }; + general = { + gaps_in = 5; + gaps_out = 20; + border_size = 2; + "col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg"; + "col.inactive_border" = "rgba(595959aa)"; + layout = "dwindle"; + # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on + allow_tearing = false; + }; + decoration = { + rounding = 10; + + blur = { + enabled = true; + size = 3; + passes = 1; + }; + + drop_shadow = "yes"; + shadow_range = 4; + shadow_render_power = 3; + "col.shadow" = "rgba(1a1a1aee)"; + }; + animations = { + enabled = "yes"; + + bezier = "myBezier, 0.05, 0.9, 0.1, 1.05"; + + animation = [ + "windows, 1, 7, myBezier" + "windowsOut, 1, 7, default, popin 80%" + "border, 1, 10, default" + "borderangle, 1, 8, default" + "fade, 1, 7, default" + "workspaces, 1, 6, default" + ]; + }; + dwindle = { + preserve_split = "yes"; + pseudotile = "yes"; + }; + gestures.workspace_swipe = true; + }; extraConfig = '' -# See https://wiki.hyprland.org/Configuring/Monitors/ -monitor=,preferred,auto,auto + $terminal = kitty + $fileManager = dolphin + $menu = wofi --show drun + misc { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + force_default_wallpaper = 2 # Set to 0 or 1 to disable the anime mascot wallpapers + disable_splash_rendering = true + } -# See https://wiki.hyprland.org/Configuring/Keywords/ for more + # Window Rules + windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. + windowrulev2 = workspace 1 silent, class:^(Element)$ + windowrulev2 = workspace 1 silent, class:^(discord)$ + windowrulev2 = workspace 2 silent, class:^(firefox)$ + windowrulev2 = float,class:^(firefox)$,title:^(Picture-in-Picture)$ -# Execute your favorite apps at launch -# exec-once = waybar & hyprpaper & firefox + # See https://wiki.hyprland.org/Configuring/Keywords/ for more + $mainMod = SUPER -# Source a file (multi-file configs) -# source = ~/.config/hypr/myColors.conf + # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more + bind = $mainMod, RETURN, exec, $terminal + bind = $mainMod, Q, killactive, + bind = $mainMod SHIFT, escape, exit, + bind = $mainMod, E, exec, $fileManager + bind = $mainMod, V, togglefloating, + bind = $mainMod, D, exec, $menu + bind = $mainMod, P, pseudo, # dwindle + bind = $mainMod, J, togglesplit, # dwindle -# Set programs that you use -$terminal = kitty -$fileManager = dolphin -$menu = wofi --show drun + # Fullscreen + bind=SUPER,m,fullscreen -# Some default env vars. -# env = XCURSOR_SIZE,24 + # Move focus with mainMod + arrow keys + bind = $mainMod, left, movefocus, l + bind = $mainMod, right, movefocus, r + bind = $mainMod, up, movefocus, u + bind = $mainMod, down, movefocus, d -# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ -input { - kb_options=caps:escape - touchpad { - natural_scroll= true - } -} + # Switch workspaces with mainMod + [0-9] + bind = $mainMod, 1, workspace, 1 + bind = $mainMod, 2, workspace, 2 + bind = $mainMod, 3, workspace, 3 + bind = $mainMod, 4, workspace, 4 + bind = $mainMod, 5, workspace, 5 + bind = $mainMod, 6, workspace, 6 + bind = $mainMod, 7, workspace, 7 + bind = $mainMod, 8, workspace, 8 + bind = $mainMod, 9, workspace, 9 + bind = $mainMod, 0, workspace, 10 -general { - # See https://wiki.hyprland.org/Configuring/Variables/ for more + # Move active window to a workspace with mainMod + SHIFT + [0-9] + bind = $mainMod SHIFT, 1, movetoworkspace, 1 + bind = $mainMod SHIFT, 2, movetoworkspace, 2 + bind = $mainMod SHIFT, 3, movetoworkspace, 3 + bind = $mainMod SHIFT, 4, movetoworkspace, 4 + bind = $mainMod SHIFT, 5, movetoworkspace, 5 + bind = $mainMod SHIFT, 6, movetoworkspace, 6 + bind = $mainMod SHIFT, 7, movetoworkspace, 7 + bind = $mainMod SHIFT, 8, movetoworkspace, 8 + bind = $mainMod SHIFT, 9, movetoworkspace, 9 + bind = $mainMod SHIFT, 0, movetoworkspace, 10 - gaps_in = 5 - gaps_out = 20 - border_size = 2 - col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg - col.inactive_border = rgba(595959aa) + # Example special workspace (scratchpad) + bind = $mainMod, S, togglespecialworkspace, magic + bind = $mainMod SHIFT, S, movetoworkspace, special:magic - layout = dwindle + # Scroll through existing workspaces with mainMod + scroll + bind = $mainMod, mouse_down, workspace, e+1 + bind = $mainMod, mouse_up, workspace, e-1 - # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on - allow_tearing = false -} - -decoration { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - - rounding = 10 - - blur { - enabled = true - size = 3 - passes = 1 - } - - drop_shadow = yes - shadow_range = 4 - shadow_render_power = 3 - col.shadow = rgba(1a1a1aee) -} - -animations { - enabled = yes - - # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more - - bezier = myBezier, 0.05, 0.9, 0.1, 1.05 - - animation = windows, 1, 7, myBezier - animation = windowsOut, 1, 7, default, popin 80% - animation = border, 1, 10, default - animation = borderangle, 1, 8, default - animation = fade, 1, 7, default - animation = workspaces, 1, 6, default -} - -dwindle { - # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more - pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below - preserve_split = yes # you probably want this -} - -gestures { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - workspace_swipe = true -} - -misc { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - force_default_wallpaper = 2 # Set to 0 or 1 to disable the anime mascot wallpapers -} - -# Window Rules -windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. -windowrulev2 = workspace 1 silent, class:^(Element)$ -windowrulev2 = workspace 1 silent, class:^(discord)$ -windowrulev2 = workspace 2 silent, class:^(firefox)$ -windowrulev2 = float,class:^(firefox)$,title:^(Picture-in-Picture)$ - -# See https://wiki.hyprland.org/Configuring/Keywords/ for more -$mainMod = SUPER - -# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more -bind = $mainMod, RETURN, exec, $terminal -bind = $mainMod, Q, killactive, -bind = $mainMod SHIFT, escape, exit, -bind = $mainMod, E, exec, $fileManager -bind = $mainMod, V, togglefloating, -bind = $mainMod, D, exec, $menu -bind = $mainMod, P, pseudo, # dwindle -bind = $mainMod, J, togglesplit, # dwindle - -# Fullscreen -bind=SUPER,m,fullscreen - -# Move focus with mainMod + arrow keys -bind = $mainMod, left, movefocus, l -bind = $mainMod, right, movefocus, r -bind = $mainMod, up, movefocus, u -bind = $mainMod, down, movefocus, d - -# Switch workspaces with mainMod + [0-9] -bind = $mainMod, 1, workspace, 1 -bind = $mainMod, 2, workspace, 2 -bind = $mainMod, 3, workspace, 3 -bind = $mainMod, 4, workspace, 4 -bind = $mainMod, 5, workspace, 5 -bind = $mainMod, 6, workspace, 6 -bind = $mainMod, 7, workspace, 7 -bind = $mainMod, 8, workspace, 8 -bind = $mainMod, 9, workspace, 9 -bind = $mainMod, 0, workspace, 10 - -# Move active window to a workspace with mainMod + SHIFT + [0-9] -bind = $mainMod SHIFT, 1, movetoworkspace, 1 -bind = $mainMod SHIFT, 2, movetoworkspace, 2 -bind = $mainMod SHIFT, 3, movetoworkspace, 3 -bind = $mainMod SHIFT, 4, movetoworkspace, 4 -bind = $mainMod SHIFT, 5, movetoworkspace, 5 -bind = $mainMod SHIFT, 6, movetoworkspace, 6 -bind = $mainMod SHIFT, 7, movetoworkspace, 7 -bind = $mainMod SHIFT, 8, movetoworkspace, 8 -bind = $mainMod SHIFT, 9, movetoworkspace, 9 -bind = $mainMod SHIFT, 0, movetoworkspace, 10 - -# Example special workspace (scratchpad) -bind = $mainMod, S, togglespecialworkspace, magic -bind = $mainMod SHIFT, S, movetoworkspace, special:magic - -# Scroll through existing workspaces with mainMod + scroll -bind = $mainMod, mouse_down, workspace, e+1 -bind = $mainMod, mouse_up, workspace, e-1 - -# Move/resize windows with mainMod + LMB/RMB and dragging -bindm = $mainMod, mouse:272, movewindow -bindm = $mainMod, mouse:273, resizewindow - -# vim: ft=hyprlang + # Move/resize windows with mainMod + LMB/RMB and dragging + bindm = $mainMod, mouse:272, movewindow + bindm = $mainMod, mouse:273, resizewindow ''; }; - } From ef35ed546e2c65f7c00ed07bb243f62664eaa3b7 Mon Sep 17 00:00:00 2001 From: Vivian Date: Tue, 2 Apr 2024 17:54:13 +0200 Subject: [PATCH 31/88] monitor mirroring --- common/default.nix | 2 + common/desktop/default.nix | 53 ++- common/desktop/home.nix | 2 + common/hm-modules/catppuccin/default.nix | 38 +- common/hm-modules/nvim/default.nix | 16 +- common/modules/gnome/default.nix | 21 +- flake.lock | 226 ++++++----- flake.nix | 17 +- hosts/thalassa/aoife/default.nix | 26 +- hosts/thalassa/aoife/home/default.nix | 1 + hosts/thalassa/aoife/home/eww/eww.scss | 173 ++++++--- hosts/thalassa/aoife/home/eww/eww.yuck | 223 +++++++---- .../aoife/home/eww/scripts/do-not-disturb.sh | 10 + .../thalassa/aoife/home/eww/scripts/volume.sh | 15 + hosts/thalassa/aoife/home/eww/scripts/wifi.sh | 11 + .../aoife/home/eww/scripts/workspaces.lua | 21 + .../aoife/home/eww/scripts/workspaces.sh | 10 + hosts/thalassa/aoife/home/hyprland.conf | 156 -------- hosts/thalassa/aoife/home/hyprland.nix | 367 ++++++++++++------ hosts/thalassa/aoife/home/waybar.css | 125 ++++++ 20 files changed, 977 insertions(+), 536 deletions(-) create mode 100755 hosts/thalassa/aoife/home/eww/scripts/do-not-disturb.sh create mode 100755 hosts/thalassa/aoife/home/eww/scripts/volume.sh create mode 100755 hosts/thalassa/aoife/home/eww/scripts/wifi.sh create mode 100755 hosts/thalassa/aoife/home/eww/scripts/workspaces.lua create mode 100755 hosts/thalassa/aoife/home/eww/scripts/workspaces.sh delete mode 100644 hosts/thalassa/aoife/home/hyprland.conf create mode 100644 hosts/thalassa/aoife/home/waybar.css diff --git a/common/default.nix b/common/default.nix index 2819aefe..ab350793 100644 --- a/common/default.nix +++ b/common/default.nix @@ -39,11 +39,13 @@ "https://nix-community.cachix.org" "https://nixpkgs-review-bot.cachix.org" "https://cachix.cachix.org" + "https://cosmic.cachix.org" ]; trusted-public-keys = [ "cachix.cachix.org-1:eWNHQldwUO7G2VkjpnjDbWwy4KQ/HNxht7H4SSoMckM=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" "nixpkgs-review-bot.cachix.org-1:eppgiDjPk7Hkzzz7XlUesk3rcEHqNDozGOrcLc8IqwE=" + "cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE=" ]; }; optimise = { diff --git a/common/desktop/default.nix b/common/desktop/default.nix index 976f7b2d..62e84a2a 100644 --- a/common/desktop/default.nix +++ b/common/desktop/default.nix @@ -1,4 +1,10 @@ -{ pkgs, lib, inputs, ... }: { +{ + pkgs, + lib, + inputs, + ... +}: +{ # Bootloader. boot = { kernelPackages = lib.mkDefault pkgs.linuxPackages_latest; @@ -14,29 +20,34 @@ }; }; - programs.nix-ld.enable = true; + # programs.nix-ld.enable = true; hardware.keyboard.qmk.enable = true; home-manager = { useGlobalPkgs = true; useUserPackages = true; users.vivian = import ./home.nix; - extraSpecialArgs = { inherit inputs; }; + extraSpecialArgs = { + inherit inputs; + }; }; + + hardware.pulseaudio.enable = false; services = { # Enable my config for the gnome desktop environment - v.gnome.enable = true; + v.gnome.enable = lib.mkDefault true; # Enable CUPS to print documents. printing.enable = true; pipewire = { enable = true; - alsa.enable = true; - alsa.support32Bit = true; + audio.enable = true; + # alsa.enable = true; + # alsa.support32Bit = true; pulse.enable = true; # If you want to use JACK applications, uncomment this - #jack.enable = true; + jack.enable = true; # use the example session manager (no others are packaged yet so this is enabled by default, # no need to redefine it in your config for now) @@ -62,15 +73,12 @@ }; # Global Packages - environment.systemPackages = with pkgs; [ wireguard-tools sbctl ]; # ++ (if config.virtualisation.podman.enable then [ pkgs.podman-compose ] else []); + environment.systemPackages = with pkgs; [ + wireguard-tools + sbctl + ]; # ++ (if config.virtualisation.podman.enable then [ pkgs.podman-compose ] else []); - # programs.virt-manager = { - # enable = true; - # }; - # Enable sound with pipewire. - sound.enable = true; - hardware.pulseaudio.enable = false; security.rtkit.enable = true; virtualisation = { @@ -88,23 +96,28 @@ noto-fonts-emoji dejavu_fonts (nerdfonts.override { - fonts = - [ "DejaVuSansMono" "Ubuntu" "DroidSansMono" "NerdFontsSymbolsOnly" ]; + fonts = [ + "DejaVuSansMono" + "Ubuntu" + "DroidSansMono" + "NerdFontsSymbolsOnly" + ]; }) ]; programs = { steam = { - enable = true; # Open ports in the firewall for Steam Remote Play remotePlay.openFirewall = true; package = pkgs.steam.override { - extraPkgs = pkgs: with pkgs; [ gamescope mangohud ]; + extraPkgs = + pkgs: with pkgs; [ + gamescope + mangohud + ]; }; }; - gamemode.enable = true; - adb.enable = true; }; networking = { diff --git a/common/desktop/home.nix b/common/desktop/home.nix index bd4e201c..7d780ad5 100644 --- a/common/desktop/home.nix +++ b/common/desktop/home.nix @@ -20,6 +20,8 @@ let pyshark cryptography flask + ipwhois + pyasn ]; in { diff --git a/common/hm-modules/catppuccin/default.nix b/common/hm-modules/catppuccin/default.nix index a997a6ec..3fabb170 100644 --- a/common/hm-modules/catppuccin/default.nix +++ b/common/hm-modules/catppuccin/default.nix @@ -7,6 +7,12 @@ with lib; let cfg = config.themes.v.catppuccin; + mako = pkgs.fetchFromGitHub { + owner = "catppuccin"; + repo = "mako"; + rev = "9dd088aa5f4529a3dd4d9760415e340664cb86df"; + sha256 = "sha256-nUzWkQVsIH4rrCFSP87mXAka6P+Td2ifNbTuP7NM/SQ="; + }; in { options.themes.v.catppuccin = { @@ -24,8 +30,6 @@ in font.name = "DejaVuSansMono Nerd Font"; }; - # home.sessionVariables.GTK_USE_PORTAL = "1"; - gtk = { enable = true; theme = { @@ -45,24 +49,28 @@ in }; }; - xdg.configFile = { - "gtk-4.0/assets".source = "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}/gtk-4.0/assets"; - "gtk-4.0/gtk.css".source = "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}/gtk-4.0/gtk.css"; - "gtk-4.0/gtk-dark.css".source = "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}/gtk-4.0/gtk-dark.css"; - }; - qt = { enable = true; platformTheme = "qtct"; - style = { - name = "Catppuccin-Frappe-Pink"; - package = pkgs.catppuccin-kde.override { - flavour = [ "frappe" ]; - accents = [ "pink" ]; - }; - }; + style.name = "kvantum"; }; + xdg.configFile = { + "Kvantum/kvantum.kvconfig".text = '' + [General] + theme=Catppuccin-Frappe-Pink + ''; + }; + + home.packages = with pkgs; [ + (catppuccin-kvantum.override { + accent = "Pink"; + variant = "Frappe"; + }) + ]; + + programs.mako.extraConfig = builtins.readFile "${mako}/src/frappe"; + programs.vscode = { userSettings."workbench.colorTheme" = "Catppuccin Frappé"; extensions = [ pkgs.vscode-extensions.catppuccin.catppuccin-vsc ]; diff --git a/common/hm-modules/nvim/default.nix b/common/hm-modules/nvim/default.nix index 7ca8dedd..53b966bf 100644 --- a/common/hm-modules/nvim/default.nix +++ b/common/hm-modules/nvim/default.nix @@ -40,6 +40,12 @@ with lib; clipboard.providers.wl-copy.enable = true; keymaps = [ + # General + { + mode = "n"; + key = ""; + action = ":noh"; + } # Telescope { mode = "n"; @@ -185,9 +191,12 @@ with lib; FixCursorHold-nvim nvim-web-devicons nvim-nio + nvim-surround ]; - extraConfigLua = ""; + extraConfigLua = " + require('nvim-surround').setup() + "; colorschemes.catppuccin = { enable = true; @@ -275,7 +284,7 @@ with lib; nixGrammars = true; disabledLanguages = [ "latex" ]; }; - surround.enable = true; + # surround.enable = true; fugitive.enable = true; gitgutter.enable = true; @@ -326,7 +335,8 @@ with lib; }; }; servers = { - nil_ls.enable = true; + cssls.enable = true; + nil_ls.enable = true; #NixOS dockerls.enable = true; rust-analyzer = { enable = true; diff --git a/common/modules/gnome/default.nix b/common/modules/gnome/default.nix index 964ca53c..333229ed 100644 --- a/common/modules/gnome/default.nix +++ b/common/modules/gnome/default.nix @@ -1,7 +1,14 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: with lib; -let cfg = config.services.v.gnome; -in { +let + cfg = config.services.v.gnome; +in +{ options.services.v.gnome = { enable = mkEnableOption "v.gnome"; hm = mkOption { @@ -36,7 +43,7 @@ in { }; # Enable the GNOME Desktop Environment. - displayManager.gdm.enable = true; + displayManager.gdm.enable = lib.mkDefault true; desktopManager.gnome.enable = true; }; udev.packages = with pkgs; [ gnome.gnome-settings-daemon ]; @@ -49,7 +56,11 @@ in { # Add Home-manager dconf stuff home-manager.sharedModules = mkIf cfg.hm [ ./hm.nix ]; environment.gnome.excludePackages = - (with pkgs; [ gnome-photos gnome-tour gnome-connections ]) + (with pkgs; [ + gnome-photos + gnome-tour + gnome-connections + ]) ++ (with pkgs.gnome; [ atomix # puzzle game epiphany # web browser diff --git a/flake.lock b/flake.lock index 79f19fe6..b1bdf562 100644 --- a/flake.lock +++ b/flake.lock @@ -11,11 +11,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1707922053, - "narHash": "sha256-wSZjK+rOXn+UQiP1NbdNn5/UW6UcBxjvlqr2wh++MbM=", + "lastModified": 1711742460, + "narHash": "sha256-0O4v6e4a1toxXZ2gf5INhg4WPE5C5T+SVvsBt+45Mcc=", "owner": "zhaofengli", "repo": "attic", - "rev": "6eabc3f02fae3683bffab483e614bebfcd476b21", + "rev": "4dbdbee45728d8ce5788db6461aaaa89d98081f0", "type": "github" }, "original": { @@ -48,11 +48,11 @@ "stable": "stable" }, "locked": { - "lastModified": 1706509311, - "narHash": "sha256-QQKQ6r3CID8aXn2ZXZ79ZJxdCOeVP+JTnOctDALErOw=", + "lastModified": 1711386353, + "narHash": "sha256-gWEpb8Hybnoqb4O4tmpohGZk6+aerAbJpywKcFIiMlg=", "owner": "zhaofengli", "repo": "colmena", - "rev": "c84ccd0a7a712475e861c2b111574472b1a8d0cd", + "rev": "cd65ef7a25cdc75052fbd04b120aeb066c3881db", "type": "github" }, "original": { @@ -111,11 +111,11 @@ ] }, "locked": { - "lastModified": 1710003968, - "narHash": "sha256-g8+K+mLiNG5uch35Oy9oDQBAmGSkCcqrd0Jjme7xiG0=", + "lastModified": 1711299236, + "narHash": "sha256-6/JsyozOMKN8LUGqWMopKTSiK8N79T8Q+hcxu2KkTXg=", "owner": "ipetkov", "repo": "crane", - "rev": "10484f86201bb94bd61ecc5335b1496794fedb78", + "rev": "880573f80d09e18a11713f402b9e6172a085449f", "type": "github" }, "original": { @@ -131,11 +131,11 @@ "utils": "utils_2" }, "locked": { - "lastModified": 1708091384, - "narHash": "sha256-dTGGw2y8wvfjr+J9CjQbfdulOq72hUG17HXVNxpH1yE=", + "lastModified": 1711733382, + "narHash": "sha256-XuKlYhc9Hk6jMIIwWTP6CTQVUWi0Sq3nJApnUJk6bu8=", "owner": "serokell", "repo": "deploy-rs", - "rev": "0a0187794ac7f7a1e62cda3dabf8dc041f868790", + "rev": "2bad21828ee2c5d1e42588d5f4c53f5b10300c6a", "type": "github" }, "original": { @@ -203,6 +203,22 @@ "type": "github" } }, + "flake-compat_10": { + "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-compat_2": { "flake": false, "locked": { @@ -284,6 +300,22 @@ } }, "flake-compat_7": { + "flake": false, + "locked": { + "lastModified": 1688025799, + "narHash": "sha256-ktpB4dRtnksm9F5WawoIkEneh1nrEvuxb5lJFt1iOyw=", + "owner": "nix-community", + "repo": "flake-compat", + "rev": "8bf105319d44f6b9f0d764efa4fdef9f1cc9ba1c", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_8": { "locked": { "lastModified": 1696426674, "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", @@ -297,7 +329,7 @@ "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" } }, - "flake-compat_8": { + "flake-compat_9": { "flake": false, "locked": { "lastModified": 1696426674, @@ -313,22 +345,6 @@ "type": "github" } }, - "flake-compat_9": { - "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-parts": { "inputs": { "nixpkgs-lib": [ @@ -511,11 +527,11 @@ "systems": "systems_5" }, "locked": { - "lastModified": 1701680307, - "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -605,11 +621,11 @@ ] }, "locked": { - "lastModified": 1703887061, - "narHash": "sha256-gGPa9qWNc6eCXT/+Z5/zMkyYOuRZqeFZBDbopNZQkuY=", + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", "owner": "hercules-ci", "repo": "gitignore.nix", - "rev": "43e1aa1308018f37118e34d3a9cb4f5e75dc11d5", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", "type": "github" }, "original": { @@ -648,11 +664,11 @@ ] }, "locked": { - "lastModified": 1702994344, - "narHash": "sha256-aJPjexHm6bLo+ky1Rw9nDStgXBYuxuWPmo5DSdjj23s=", + "lastModified": 1711359349, + "narHash": "sha256-dSHWgOtipLWgSSZFq9tvlaQF9b8Jfk/2mYCX4QS4x50=", "ref": "refs/heads/main", - "rev": "db96c4a4ebc05c8e4f1b427074fc5fe61c026998", - "revCount": 8, + "rev": "1017642795eb398881eff78a822621f2d2a93be7", + "revCount": 10, "type": "git", "url": "https://git.0x76.dev/v/gnome-autounlock-keyring.git" }, @@ -668,11 +684,11 @@ ] }, "locked": { - "lastModified": 1711133180, - "narHash": "sha256-WJOahf+6115+GMl3wUfURu8fszuNeJLv9qAWFQl3Vmo=", + "lastModified": 1711625603, + "narHash": "sha256-W+9dfqA9bqUIBV5u7jaIARAzMe3kTq/Hp2SpSVXKRQw=", "owner": "nix-community", "repo": "home-manager", - "rev": "1c2c5e4cabba4c43504ef0f8cc3f3dfa284e2dbb", + "rev": "c0ef0dab55611c676ad7539bf4e41b3ec6fa87d2", "type": "github" }, "original": { @@ -689,11 +705,11 @@ ] }, "locked": { - "lastModified": 1711133180, - "narHash": "sha256-WJOahf+6115+GMl3wUfURu8fszuNeJLv9qAWFQl3Vmo=", + "lastModified": 1711604890, + "narHash": "sha256-vbI/gxRTq/gHW1Q8z6D/7JG/qGNl3JTimUDX+MwnC3A=", "owner": "nix-community", "repo": "home-manager", - "rev": "1c2c5e4cabba4c43504ef0f8cc3f3dfa284e2dbb", + "rev": "3142bdcc470e1e291e1fbe942fd69e06bd00c5df", "type": "github" }, "original": { @@ -715,11 +731,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1710837180, - "narHash": "sha256-WVkLclGrUliLJUl+XaJplo09VdxyqHxZtkEmmDW2QYY=", + "lastModified": 1711442573, + "narHash": "sha256-/A3YzcY5erYOPojp5Ffwgxv4X5MTnRiWwuaXfgXbK2g=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "ded8d23709f94aedb1407bee9e26581f258e9e3a", + "rev": "df7ac26bd24fac8baa94d60a02c3e0f0d4d16368", "type": "github" }, "original": { @@ -774,11 +790,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1711159783, - "narHash": "sha256-nwl2Cygq7NrV9QcebJE/T/vXv7w+zLERD7ygHz0F5g8=", + "lastModified": 1711753492, + "narHash": "sha256-lLlXQBebD6wd2m7vjXg2zQ8tfJF2a70RL+zXdbaQqn0=", "owner": "astro", "repo": "microvm.nix", - "rev": "d31f7c7d3194c51372134832a3a2a256773c161a", + "rev": "1b7c70b198554d0f0306ec153c94906623437aed", "type": "github" }, "original": { @@ -836,11 +852,11 @@ ] }, "locked": { - "lastModified": 1710717205, - "narHash": "sha256-Wf3gHh5uV6W1TV/A8X8QJf99a5ypDSugY4sNtdJDe0A=", + "lastModified": 1711591334, + "narHash": "sha256-9d5ilxxq4CXw44eFw8VFrRneAKex7D8xjn95mwZjgf4=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "bcc8afd06e237df060c85bad6af7128e05fd61a3", + "rev": "f0dd0838c3558b59dc3b726d8ab89f5b5e35c297", "type": "github" }, "original": { @@ -851,11 +867,11 @@ }, "nixlib": { "locked": { - "lastModified": 1710636348, - "narHash": "sha256-/kB+ZWSdkZjbZ0FTqm0u84sf2jFS+30ysaEajmBjtoY=", + "lastModified": 1711241261, + "narHash": "sha256-knrTvpl81yGFHIpm1SsLDApe0thFkw1cl3ISAMPmP/0=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "fa827dda806c5aa98f454da4c567991ab8ce422c", + "rev": "b2a1eeef8c185f6bd27432b053ff09d773244cbc", "type": "github" }, "original": { @@ -864,6 +880,27 @@ "type": "github" } }, + "nixos-cosmic": { + "inputs": { + "flake-compat": "flake-compat_7", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1711761951, + "narHash": "sha256-De6fnc3EiBzaqtIZqPDfkODpS2WsOunVBcH7AOyzFEw=", + "owner": "lilyinstarlight", + "repo": "nixos-cosmic", + "rev": "cf817213c972b089351ad42c49616076915f07bd", + "type": "github" + }, + "original": { + "owner": "lilyinstarlight", + "repo": "nixos-cosmic", + "type": "github" + } + }, "nixos-generators": { "inputs": { "nixlib": "nixlib", @@ -872,11 +909,11 @@ ] }, "locked": { - "lastModified": 1711108213, - "narHash": "sha256-Q8cwpA2LQOInqeXVckrfFlbzHB8HOWrYntuOxqn3A3g=", + "lastModified": 1711626141, + "narHash": "sha256-0qV1pHeIyUZ18cp8ijQnMf7uV+Uk4+UqTCC6yGSGWvk=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "417a857dfb824e60930881a254dd67d6796f5884", + "rev": "63194fceafbfe583a9eb7d16ab499adc0a6c0bc2", "type": "github" }, "original": { @@ -887,11 +924,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1710783728, - "narHash": "sha256-eIsfu3c9JUBgm3cURSKTXLEI9Dlk1azo+MWKZVqrmkc=", + "lastModified": 1711352745, + "narHash": "sha256-luvqik+i3HTvCbXQZgB6uggvEcxI9uae0nmrgtXJ17U=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "1e679b9a9970780cd5d4dfe755a74a8f96d33388", + "rev": "9a763a7acc4cfbb8603bb0231fec3eda864f81c0", "type": "github" }, "original": { @@ -934,11 +971,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1702780907, - "narHash": "sha256-blbrBBXjjZt6OKTcYX1jpe9SRof2P9ZYWPzq22tzXAA=", + "lastModified": 1711460390, + "narHash": "sha256-akSgjDZL6pVHEfSE6sz1DNSXuYX6hq+P/1Z5IoYWs7E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1e2e384c5b7c50dbf8e9c441a9e58d85f408b01f", + "rev": "44733514b72e732bd49f5511bd0203dea9b9a434", "type": "github" }, "original": { @@ -950,11 +987,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1704874635, - "narHash": "sha256-YWuCrtsty5vVZvu+7BchAxmcYzTMfolSPP5io8+WYCg=", + "lastModified": 1710695816, + "narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3dc440faeee9e889fe2d1b4d25ad0f430d449356", + "rev": "614b4613980a522ba49f0d194531beddbb7220d3", "type": "github" }, "original": { @@ -1014,26 +1051,26 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1711223581, - "narHash": "sha256-gxwEymONInAXL6mM5c0JyIu18kANnL9ckJCKPrYnzxo=", + "lastModified": 1712004559, + "narHash": "sha256-87vZKDepF3ZqpinX5zarC5Xb9dwpGgmfcl4Woy26lYA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "af8bf466f6a04f569f49b1d062fe4fab06fae357", + "rev": "5476cea4892cedbf6f8bbebdb93ba07e3f5f5e38", "type": "github" }, "original": { "id": "nixpkgs", - "ref": "master", + "ref": "nixos-unstable-small", "type": "indirect" } }, "nixpkgs_6": { "locked": { - "lastModified": 1711001935, - "narHash": "sha256-URtGpHue7HHZK0mrHnSf8wJ6OmMKYSsoLmJybrOLFSQ=", + "lastModified": 1711523803, + "narHash": "sha256-UKcYiHWHQynzj6CN/vTcix4yd1eCu1uFdsuarupdCQQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "20f77aa09916374aa3141cbc605c955626762c9a", + "rev": "2726f127c15a4cc9810843b96cad73c7eb39e443", "type": "github" }, "original": { @@ -1078,7 +1115,7 @@ "nixvim": { "inputs": { "devshell": "devshell", - "flake-compat": "flake-compat_7", + "flake-compat": "flake-compat_8", "flake-parts": "flake-parts_2", "home-manager": "home-manager_2", "nix-darwin": "nix-darwin", @@ -1086,11 +1123,11 @@ "pre-commit-hooks": "pre-commit-hooks" }, "locked": { - "lastModified": 1711199922, - "narHash": "sha256-Oz5WNOPp95K4JLyoNQKyEdaUM5JzliC62jwTpGPqYNE=", + "lastModified": 1711745924, + "narHash": "sha256-ZYVrOg12pWNbY1hx1lOu3cwER6xalEHUUIXnfbkCtUY=", "owner": "pta2002", "repo": "nixvim", - "rev": "7170aad28139cd3629b2b6ce4c9272bf41c2ad45", + "rev": "4f83bcf2906c1c933316396221024f3482a7b086", "type": "github" }, "original": { @@ -1101,11 +1138,11 @@ }, "nur": { "locked": { - "lastModified": 1711221702, - "narHash": "sha256-OXF5uu1CKPG+O2/I0ZT0m1iUcX3j91p4heSKHB0G9xM=", + "lastModified": 1711789378, + "narHash": "sha256-aFHVJ0j7p54FyjpfJ2nVMv5MDXrP4ttL8efcWu1lxf0=", "owner": "nix-community", "repo": "NUR", - "rev": "b1106d45a93dd804f3669d5271ff0bb03350d344", + "rev": "9c84c5419c332d79fbd2b3644c62f978beccfff9", "type": "github" }, "original": { @@ -1116,7 +1153,7 @@ }, "pre-commit-hooks": { "inputs": { - "flake-compat": "flake-compat_8", + "flake-compat": "flake-compat_9", "flake-utils": "flake-utils_9", "gitignore": "gitignore_2", "nixpkgs": [ @@ -1129,11 +1166,11 @@ ] }, "locked": { - "lastModified": 1710923068, - "narHash": "sha256-6hOpUiuxuwpXXc/xfJsBUJeqqgGI+JMJuLo45aG3cKc=", + "lastModified": 1711519547, + "narHash": "sha256-Q7YmSCUJmDl71fJv/zD9lrOCJ1/SE/okZ2DsrmRjzhY=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "e611897ddfdde3ed3eaac4758635d7177ff78673", + "rev": "7d47a32e5cd1ea481fab33c516356ce27c8cef4a", "type": "github" }, "original": { @@ -1160,11 +1197,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1708018599, - "narHash": "sha256-M+Ng6+SePmA8g06CmUZWi1AjG2tFBX9WCXElBHEKnyM=", + "lastModified": 1710923068, + "narHash": "sha256-6hOpUiuxuwpXXc/xfJsBUJeqqgGI+JMJuLo45aG3cKc=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "5df5a70ad7575f6601d91f0efec95dd9bc619431", + "rev": "e611897ddfdde3ed3eaac4758635d7177ff78673", "type": "github" }, "original": { @@ -1186,6 +1223,7 @@ "lanzaboote": "lanzaboote", "mailserver": "mailserver", "microvm": "microvm", + "nixos-cosmic": "nixos-cosmic", "nixos-generators": "nixos-generators", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs_5", @@ -1208,11 +1246,11 @@ ] }, "locked": { - "lastModified": 1710641527, - "narHash": "sha256-R9JZEevtSyg7++LEryYJRrfyEe45azJxmu2k9VezEW0=", + "lastModified": 1711246447, + "narHash": "sha256-g9TOluObcOEKewFo2fR4cn51Y/jSKhRRo4QZckHLop0=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "50db54295d3922a3b7a40d580b84d75150b36c34", + "rev": "dcc802a6ec4e9cc6a1c8c393327f0c42666f22e4", "type": "github" }, "original": { @@ -1543,7 +1581,7 @@ }, "vault-secrets": { "inputs": { - "flake-compat": "flake-compat_9", + "flake-compat": "flake-compat_10", "flake-utils": "flake-utils_11", "nix": "nix", "nixpkgs": "nixpkgs_8", diff --git a/flake.nix b/flake.nix index cdeb0e9e..b26819f0 100644 --- a/flake.nix +++ b/flake.nix @@ -5,7 +5,7 @@ # * https://github.com/Infinidoge/nix-minecraft inputs = { - nixpkgs.url = "nixpkgs/master"; + nixpkgs.url = "nixpkgs/nixos-unstable-small"; flake-utils-plus.url = "github:gytis-ivaskevicius/flake-utils-plus/v1.4.0"; @@ -49,6 +49,11 @@ # Website(s) essentials.url = "github:jdonszelmann/essentials"; essentials.inputs.nixpkgs.follows = "nixpkgs"; + + nixos-cosmic = { + url = "github:lilyinstarlight/nixos-cosmic"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = @@ -63,6 +68,7 @@ gnome-autounlock-keyring, lanzaboote, t, + nixos-cosmic, ... }@inputs: let @@ -91,6 +97,14 @@ hostDefaults = { system = "x86_64-linux"; modules = [ + ({ pkgs, self, ...}: { + system.replaceRuntimeDependencies = [ + ({ + original = pkgs.xz; + replacement = pkgs.fixed-xz; + }) + ]; + }) home-manager.nixosModules.home-manager gnome-autounlock-keyring.nixosModules.default ./common @@ -114,6 +128,7 @@ aoife = { modules = [ lanzaboote.nixosModules.lanzaboote + nixos-cosmic.nixosModules.default ./common/desktop ./hosts/thalassa/aoife ]; diff --git a/hosts/thalassa/aoife/default.nix b/hosts/thalassa/aoife/default.nix index 63fe3d19..fb9f5d4b 100644 --- a/hosts/thalassa/aoife/default.nix +++ b/hosts/thalassa/aoife/default.nix @@ -2,7 +2,12 @@ # your system. Help is available in the configuration.nix(5) man page # and in the NixOS manual (accessible by running ‘nixos-help’). -{ inputs, lib, pkgs, ... }: +{ + inputs, + lib, + pkgs, + ... +}: { imports = [ ./hardware-configuration.nix @@ -37,7 +42,26 @@ }; home-manager.users.vivian = import ./home; + programs.hyprland.enable = true; + services.gnome-autounlock-keyring = { + enable = true; + # target = "hyprland-session.target"; + }; + + services.interception-tools = { + enable = true; + plugins = [ pkgs.interception-tools-plugins.caps2esc ]; + udevmonConfig = '' + - JOB: "${pkgs.interception-tools}/bin/intercept -g $DEVNODE | ${pkgs.interception-tools-plugins.caps2esc}/bin/caps2esc | ${pkgs.interception-tools}/bin/uinput -d $DEVNODE" + DEVICE: + EVENTS: + EV_KEY: [KEY_CAPSLOCK, KEY_ESC] + ''; + }; + + # services.desktopManager.cosmic.enable = true; + # services.displayManager.cosmic-greeter.enable = true; # Enable Ozone rendering for Chromium and Electron apps. environment.sessionVariables.NIXOS_OZONE_WL = "1"; diff --git a/hosts/thalassa/aoife/home/default.nix b/hosts/thalassa/aoife/home/default.nix index 2059881d..1a5e2341 100644 --- a/hosts/thalassa/aoife/home/default.nix +++ b/hosts/thalassa/aoife/home/default.nix @@ -21,6 +21,7 @@ localsend obsidian typst + prismlauncher ]; ## Hyprland Config diff --git a/hosts/thalassa/aoife/home/eww/eww.scss b/hosts/thalassa/aoife/home/eww/eww.scss index efa2a502..73435ed6 100644 --- a/hosts/thalassa/aoife/home/eww/eww.scss +++ b/hosts/thalassa/aoife/home/eww/eww.scss @@ -1,55 +1,138 @@ +$light-gray: #9699b7; + * { - all: unset; //Unsets everything so you can style everything from scratch + all: unset; //Unsets everything so you can style everything from scratch + font-family: "JetBrainsMono" +} + +tooltip { + background-color: $base; + border-radius: 5px +} + +button { + transition: background-color 200ms, color 200ms; +} + +.active { + color: $pink; + font-size: 1.4rem; +} + +.inactive { + color: $base; + font-size: 1.4rem; +} + +.inactive:hover { + color: $light-gray; } -//Global Styles .bar { - background-color: #3a3a3a; - color: #b0b4bc; - padding: 10px; + background-color: $mantle; } -// Styles on classes (see eww.yuck for more information) - -.sidestuff slider { - all: unset; - color: #ffd5cd; +.clock { + font-weight: bold; + background-color: $base; + color: $text; + border-radius: 10px; + padding: 0.2rem; + margin: 0.5rem; } -.metric scale trough highlight { - all: unset; - background-color: #D35D6E; - color: #000000; - border-radius: 10px; -} -.metric scale trough { - all: unset; - background-color: #4e4e4e; - border-radius: 50px; - min-height: 3px; - min-width: 50px; - margin-left: 10px; - margin-right: 20px; -} -.metric scale trough highlight { - all: unset; - background-color: #D35D6E; - color: #000000; - border-radius: 10px; -} -.metric scale trough { - all: unset; - background-color: #4e4e4e; - border-radius: 50px; - min-height: 3px; - min-width: 50px; - margin-left: 10px; - margin-right: 20px; -} -.label-ram { - font-size: large; -} -.workspaces button:hover { - color: #D35D6E; +.date { + font-size: 1.5rem; + color: $text; } + +.battery { + font-family: monospace; + font-size: 1.5rem; + color: $teal; +} + +.volume, +.dnd, +.wifi { + font-family: monospace; + font-size: 1.5rem; + color: $mauve; + padding: 0 5px; +} + + +// battery menu +.batterywindow { + background-color: $mantle; + border-radius: 5px; + font-size: 18px; + font-weight: normal; + color: $text; + + progressbar { + border-radius: 5px; + } + + progressbar progress { + background-color: $green; + } + + progressbar trough { + background-color: $base; + } + + .batterymenu { + padding: 10px; + } + +} + +// Calendar +.cal { + background-color: $mantle; + border-radius: 5px; + font-size: 18px; + font-weight: normal; + + .cal-in { + padding: 0px 10px 0px 10px; + color: $text; + + .cal { + &.highlight { + padding: 20px; + } + + padding: 5px 5px 5px 5px; + margin-left: 10px; + } + } +} + +calender { + color: $text; +} + +calendar:selected { + color: $mauve; +} + +calendar.header { + color: $overlay0; + font-weight: bold; +} + +calendar.button { + color: $base; +} + +calendar.highlight { + color: $overlay0; + font-weight: bold; +} + +calendar:indeterminate { + color: $text; +} \ No newline at end of file diff --git a/hosts/thalassa/aoife/home/eww/eww.yuck b/hosts/thalassa/aoife/home/eww/eww.yuck index a4a27d2c..04673aff 100644 --- a/hosts/thalassa/aoife/home/eww/eww.yuck +++ b/hosts/thalassa/aoife/home/eww/eww.yuck @@ -1,75 +1,164 @@ (defwidget bar [] - (centerbox :orientation "h" - (workspaces) - (music) - (sidestuff))) + (centerbox + :orientation "v" + (box + :valign "start" + :hexpand false + :vexpand false + :orientation "v" + :space-evenly false + ) + + (workspaces + :halign "center" + :vexpand true + :hexpand false + :orientation "v" + ) + + (box :valign "end" :hexpand false :vexpand true :orientation "v" :space-evenly false + (wifi) + (do-not-disturb) + (volume) + (battery) + (time) + ) + ) +) -(defwidget sidestuff [] - (box :class "sidestuff" :orientation "h" :space-evenly false :halign "end" - (metric :label "🔊" - :value volume - :onchange "amixer -D pulse sset Master {}%") - (metric :label "" - :value {EWW_RAM.used_mem_perc} - :onchange "") - (metric :label "💾" - :value {round((1 - (EWW_DISK["/"].free / EWW_DISK["/"].total)) * 100, 0)} - :onchange "") - time)) +;; ━━━ BATTERY ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +(defwidget battery [] + (eventbox :onclick "eww open batterywindow --toggle" + (label + :text `${ + EWW_BATTERY.BAT0.status == "Charging" ? "" : + EWW_BATTERY.BAT0.capacity < 10 ? "" : + EWW_BATTERY.BAT0.capacity < 20 ? "" : + EWW_BATTERY.BAT0.capacity < 30 ? "" : + EWW_BATTERY.BAT0.capacity < 40 ? "" : + EWW_BATTERY.BAT0.capacity < 50 ? "" : + EWW_BATTERY.BAT0.capacity < 60 ? "" : + EWW_BATTERY.BAT0.capacity < 70 ? "" : + EWW_BATTERY.BAT0.capacity < 80 ? "" : + EWW_BATTERY.BAT0.capacity < 90 ? "" : "" + }` + :class "battery" + )) +) +(defwidget batterymenu [] + (box :orientation "v" + :class "batterymenu" + (label :text "${EWW_BATTERY.BAT0.status}: ${EWW_BATTERY.BAT0.capacity}%") + (progress :value "${EWW_BATTERY.BAT0.capacity}" :orientation "h") ; TODO: change class (and color) on low juice + ) +) + +(defwindow batterywindow + :monitor 0 + :geometry (geometry + :x "53px" + :y "30px" + :anchor "bottom left" + ) + (batterymenu) +) + +; ━━━ do-not-disturb ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +(defvar dnd "") +(defwidget do-not-disturb [] + (eventbox + :orientation "h" + :halign "center" + :space-evenly false + :onclick "nohup ./scripts/do-not-disturb.sh &" + (label + :text {dnd} + :class "dnd" + ) + ) +) + +;; ━━━ WIFI ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +(defpoll wifi :interval "30s" "./scripts/wifi.sh") + +(defwidget wifi [] + (box + :orientation "h" + :halign "center" + :space-evenly false + (label + :text {wifi.icon} + :tooltip {wifi.status} + :class "wifi" + ) + ) +) + +;; ━━━ VOLUME ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +(defpoll volume :interval "1s" "./scripts/volume.sh") +(defwidget volume [] + (eventbox + :orientation "h" + :halign "center" + :space-evenly false + :onclick "pamixer -t" + (label + :text {volume.icon} + :tooltip "${volume.percent}%" + :class "volume" + ) + ) +) + +;; ━━━ TIME ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +(defpoll hour :interval "10s" "date +%H") +(defpoll minute :interval "10s" "date +%M") +(defpoll dateVar :interval "600s" "date '+%A %d.%m.%y'") + +(defwidget time [] + (eventbox + :cursor "hand" + :hexpand false + :vexpand false + :tooltip "${dateVar}" + :onclick "eww open calendar --toggle &" + (box :orientation "v" :hexpand false :vexpand false :space-evenly false :class "clock" + (label :class "date" :text "${hour}") + + (label :class "date" :text "${minute}") + ) + ) +) + +;; Calendar +(defpoll calendar_day :interval "20h" "date '+%d'") +(defpoll calendar_year :interval "20h" "date '+%Y'") +(defwidget cal [] + (box :class "cal" :orientation "v" + (box :class "cal-in" + (calendar :class "cal" + :day calendar_day + :year calendar_year)))) + +(defwindow calendar + :monitor 0 + :geometry (geometry :x "53px" + :y "5px" + :anchor "bottom left" + :width "270px" + :height "60px") + (cal)) + +(deflisten workspaces_listen "./scripts/workspaces.sh") (defwidget workspaces [] - (box :class "workspaces" - :orientation "h" - :space-evenly true - :halign "start" - :spacing 10 - (button :onclick "wmctrl -s 0" 1) - (button :onclick "wmctrl -s 1" 2) - (button :onclick "wmctrl -s 2" 3) - (button :onclick "wmctrl -s 3" 4) - (button :onclick "wmctrl -s 4" 5) - (button :onclick "wmctrl -s 5" 6) - (button :onclick "wmctrl -s 6" 7) - (button :onclick "wmctrl -s 7" 8) - (button :onclick "wmctrl -s 8" 9))) - -(defwidget music [] - (box :class "music" - :orientation "h" - :space-evenly false - :halign "center" - {music != "" ? "🎵${music}" : ""})) - - -(defwidget metric [label value onchange] - (box :orientation "h" - :class "metric" - :space-evenly false - (box :class "label" label) - (scale :min 0 - :max 101 - :active {onchange != ""} - :value value - :onchange onchange))) - - - -(deflisten music :initial "" - "playerctl --follow metadata --format '{{ artist }} - {{ title }}' || true") - -(defpoll volume :interval "1s" - "scripts/getvol") - -(defpoll time :interval "10s" - "date '+%H:%M %b %d, %Y'") + (literal :content workspaces_listen)) (defwindow bar :monitor 0 - :windowtype "dock" - :geometry (geometry :x "0%" - :y "0%" - :width "90%" - :height "10px" - :anchor "top center") - :reserve (struts :side "top" :distance "4%") + :exclusive false + :geometry (geometry :height "1080px" :x "-4px" :y "0px" + :width "52px" + :anchor "top left") + :stacking "fg" (bar)) diff --git a/hosts/thalassa/aoife/home/eww/scripts/do-not-disturb.sh b/hosts/thalassa/aoife/home/eww/scripts/do-not-disturb.sh new file mode 100755 index 00000000..fe35e03c --- /dev/null +++ b/hosts/thalassa/aoife/home/eww/scripts/do-not-disturb.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env nix-shell +#! nix-shell -p jq -i bash + +if makoctl mode | rg -q "do-not-disturb"; then + eww update dnd="" + makoctl mode -r do-not-disturb > /dev/null +else + eww update dnd="" + makoctl mode -a do-not-disturb > /dev/null +fi diff --git a/hosts/thalassa/aoife/home/eww/scripts/volume.sh b/hosts/thalassa/aoife/home/eww/scripts/volume.sh new file mode 100755 index 00000000..57797371 --- /dev/null +++ b/hosts/thalassa/aoife/home/eww/scripts/volume.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +per="???" + +if pamixer --get-mute | rg -q true; then + icon="婢" +elif [ "$per" -gt 66 ]; then + icon="墳" # high +elif [ "$per" -gt 33 ]; then + icon="奔" # med +else + icon="奄" #low +fi + +printf "{\"icon\": \"${icon}\", \"percent\": \"${per}\"}" diff --git a/hosts/thalassa/aoife/home/eww/scripts/wifi.sh b/hosts/thalassa/aoife/home/eww/scripts/wifi.sh new file mode 100755 index 00000000..e3601ad0 --- /dev/null +++ b/hosts/thalassa/aoife/home/eww/scripts/wifi.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +if wpa_cli status | rg -q "wpa_state=COMPLETED"; then + icon="直" + status="Connected" +else + icon="睊" + status="offline" +fi + +printf "{\"icon\": \"${icon}\", \"status\": \"${status}\"}" diff --git a/hosts/thalassa/aoife/home/eww/scripts/workspaces.lua b/hosts/thalassa/aoife/home/eww/scripts/workspaces.lua new file mode 100755 index 00000000..43b14785 --- /dev/null +++ b/hosts/thalassa/aoife/home/eww/scripts/workspaces.lua @@ -0,0 +1,21 @@ +#!/usr/bin/env lua + +aw = io.popen("hyprctl monitors | grep active | sed 's/()/(1)/g' | sort | awk 'NR>1{print $1}' RS='(' FS=')'") +active_workspace = aw:read("*a") +aw:close() + +box = "(box :orientation \"v\" :spacing 1 :space-evenly \"true\" " + +for i = 1,10 do + if i == tonumber(active_workspace) then + local btn = "(button :class \"active\" :onclick \"hyprctl dispatch workspace "..i.." \" \"\")" + box = box .. btn + else + local btn = "(button :class \"inactive\" :onclick \"hyprctl dispatch workspace "..i.."\" \"\")" + box = box .. btn + end +end + +box = box .. ")" + +print(box) diff --git a/hosts/thalassa/aoife/home/eww/scripts/workspaces.sh b/hosts/thalassa/aoife/home/eww/scripts/workspaces.sh new file mode 100755 index 00000000..23cc9225 --- /dev/null +++ b/hosts/thalassa/aoife/home/eww/scripts/workspaces.sh @@ -0,0 +1,10 @@ +#!/bin/sh +workspaces() { + ./scripts/workspaces.lua +} + +workspaces + +tail -f /tmp/hypr/$HYPRLAND_INSTANCE_SIGNATURE/hyprland.log | grep --line-buffered "Changed to workspace" | while read -r; do + workspaces +done diff --git a/hosts/thalassa/aoife/home/hyprland.conf b/hosts/thalassa/aoife/home/hyprland.conf deleted file mode 100644 index e148387c..00000000 --- a/hosts/thalassa/aoife/home/hyprland.conf +++ /dev/null @@ -1,156 +0,0 @@ -# See https://wiki.hyprland.org/Configuring/Monitors/ -monitor=,preferred,auto,auto - -# See https://wiki.hyprland.org/Configuring/Keywords/ for more - -# Execute your favorite apps at launch -# exec-once = waybar & hyprpaper & firefox - -# Source a file (multi-file configs) -# source = ~/.config/hypr/myColors.conf - -# Set programs that you use -$terminal = kitty -$fileManager = dolphin -$menu = wofi --show drun - -# Some default env vars. -# env = XCURSOR_SIZE,24 - -# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ -input { - kb_options=caps:escape - touchpad { - natural_scroll= true - } -} - -general { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - - gaps_in = 5 - gaps_out = 20 - border_size = 2 - col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg - col.inactive_border = rgba(595959aa) - - layout = dwindle - - # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on - allow_tearing = false -} - -decoration { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - - rounding = 10 - - blur { - enabled = true - size = 3 - passes = 1 - } - - drop_shadow = yes - shadow_range = 4 - shadow_render_power = 3 - col.shadow = rgba(1a1a1aee) -} - -animations { - enabled = yes - - # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more - - bezier = myBezier, 0.05, 0.9, 0.1, 1.05 - - animation = windows, 1, 7, myBezier - animation = windowsOut, 1, 7, default, popin 80% - animation = border, 1, 10, default - animation = borderangle, 1, 8, default - animation = fade, 1, 7, default - animation = workspaces, 1, 6, default -} - -dwindle { - # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more - pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below - preserve_split = yes # you probably want this -} - -gestures { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - workspace_swipe = true -} - -misc { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - force_default_wallpaper = 2 # Set to 0 or 1 to disable the anime mascot wallpapers -} - -# Window Rules -windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. -windowrulev2 = workspace 1 silent, class:^(Element)$ -windowrulev2 = workspace 1 silent, class:^(discord)$ -windowrulev2 = workspace 2 silent, class:^(firefox)$ -windowrulev2 = float,class:^(firefox)$,title:^(Picture-in-Picture)$ - -# See https://wiki.hyprland.org/Configuring/Keywords/ for more -$mainMod = SUPER - -# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more -bind = $mainMod, RETURN, exec, $terminal -bind = $mainMod, Q, killactive, -bind = $mainMod SHIFT, escape, exit, -bind = $mainMod, E, exec, $fileManager -bind = $mainMod, V, togglefloating, -bind = $mainMod, D, exec, $menu -bind = $mainMod, P, pseudo, # dwindle -bind = $mainMod, J, togglesplit, # dwindle - -# Fullscreen -bind=SUPER,m,fullscreen - -# Move focus with mainMod + arrow keys -bind = $mainMod, left, movefocus, l -bind = $mainMod, right, movefocus, r -bind = $mainMod, up, movefocus, u -bind = $mainMod, down, movefocus, d - -# Switch workspaces with mainMod + [0-9] -bind = $mainMod, 1, workspace, 1 -bind = $mainMod, 2, workspace, 2 -bind = $mainMod, 3, workspace, 3 -bind = $mainMod, 4, workspace, 4 -bind = $mainMod, 5, workspace, 5 -bind = $mainMod, 6, workspace, 6 -bind = $mainMod, 7, workspace, 7 -bind = $mainMod, 8, workspace, 8 -bind = $mainMod, 9, workspace, 9 -bind = $mainMod, 0, workspace, 10 - -# Move active window to a workspace with mainMod + SHIFT + [0-9] -bind = $mainMod SHIFT, 1, movetoworkspace, 1 -bind = $mainMod SHIFT, 2, movetoworkspace, 2 -bind = $mainMod SHIFT, 3, movetoworkspace, 3 -bind = $mainMod SHIFT, 4, movetoworkspace, 4 -bind = $mainMod SHIFT, 5, movetoworkspace, 5 -bind = $mainMod SHIFT, 6, movetoworkspace, 6 -bind = $mainMod SHIFT, 7, movetoworkspace, 7 -bind = $mainMod SHIFT, 8, movetoworkspace, 8 -bind = $mainMod SHIFT, 9, movetoworkspace, 9 -bind = $mainMod SHIFT, 0, movetoworkspace, 10 - -# Example special workspace (scratchpad) -bind = $mainMod, S, togglespecialworkspace, magic -bind = $mainMod SHIFT, S, movetoworkspace, special:magic - -# Scroll through existing workspaces with mainMod + scroll -bind = $mainMod, mouse_down, workspace, e+1 -bind = $mainMod, mouse_up, workspace, e-1 - -# Move/resize windows with mainMod + LMB/RMB and dragging -bindm = $mainMod, mouse:272, movewindow -bindm = $mainMod, mouse:273, resizewindow - -# vim: ft=hyprlang diff --git a/hosts/thalassa/aoife/home/hyprland.nix b/hosts/thalassa/aoife/home/hyprland.nix index 2751c5df..6505e2ec 100644 --- a/hosts/thalassa/aoife/home/hyprland.nix +++ b/hosts/thalassa/aoife/home/hyprland.nix @@ -1,5 +1,32 @@ -{ pkgs, ... }: +{ pkgs, config, ... }: { + + systemd.user.services.mako = { + Install = { + WantedBy = [ "graphical-session.target" ]; + }; + Service = { + Type = "dbus"; + BusName = "org.freedesktop.Notifications"; + + ExecCondition = '' + ${pkgs.bash}/bin/bash -c '[ -n "$WAYLAND_DISPLAY" ]' + ''; + + ExecStart = '' + ${pkgs.mako}/bin/mako + ''; + + ExecReload = '' + ${pkgs.mako}/bin/makoctl reload + ''; + + Restart = "on-failure"; + RestartSec = 1; + TimeoutStopSec = 10; + }; + }; + programs = { wofi = { enable = true; @@ -7,12 +34,14 @@ eww = { enable = true; - package = pkgs.eww-wayland; configDir = ./eww; }; + mako.enable = true; + waybar = { enable = true; + style = ./waybar.css; settings = { mainBar = { layer = "top"; @@ -20,7 +49,57 @@ height = 30; modules-left = [ "hyprland/workspaces" ]; modules-center = [ "clock" ]; - modules-right = [ "wireplumber" "power-profiles-daemon" "network" "battery" ]; + modules-right = [ + "wireplumber" + "power-profiles-daemon" + "network" + "battery" + ]; + + wireplumber = { + format = "󰕾 {volume}%"; + format-muted = "󰖁"; + }; + + network = { + format-wifi = "󰖩 {essid} ({signalStrength}%)"; + format-ethernet = "󰈀 {ifname}: {ipaddr}/{cidr}"; + format-disconnected = "󰌙 "; + tooltip-format = "{ifname}: {ipaddr}"; + }; + + power-profiles-daemon = { + format = "{icon}"; + format-icons = { + performance = "󰓅"; + balanced = "󰾅"; + power-saver = "󰾆"; + }; + }; + + battery = { + states = { + warning = 30; + critical = 15; + }; + + format = "󱐋 {capacity}%"; + format-discharging = "{icon} {capacity}%"; + + format-icons = [ + "󰂎" + "󰁺" + "󰁻" + "󰁼" + "󰁽" + "󰁾" + "󰁿" + "󰂀" + "󰂁" + "󰂂" + "󰁹" + ]; + }; }; }; systemd = { @@ -30,134 +109,164 @@ }; }; - wayland.windowManager.hyprland = { - enable = true; - systemd.enable = true; + wayland.windowManager.hyprland = + let + toggle_mirror = pkgs.writeScriptBin "toggle_mirror.sh" '' + #!/usr/bin/env bash + if [ $(hyprctl monitors all -j | ${pkgs.jq}/bin/jq '.[1].activeWorkspace.id') = '-1' ]; then + hyprctl keyword monitor ",preferred,auto,1" + else + hyprctl keyword monitor ",preferred,auto,1,mirror,eDP-1" + fi + ''; + in + { + enable = true; + systemd.enable = true; - settings = { - monitor = ",preferred,auto,auto"; - input = { - kb_options = "caps:escape"; - touchpad.natural_scroll = true; - }; - general = { - gaps_in = 5; - gaps_out = 20; - border_size = 2; - "col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg"; - "col.inactive_border" = "rgba(595959aa)"; - layout = "dwindle"; - # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on - allow_tearing = false; - }; - decoration = { - rounding = 10; + settings = + let + inherit (builtins) genList concatLists toString; + wpctl = "${pkgs.wireplumber}/bin/wpctl"; + brightnessctl = "${pkgs.brightnessctl}/bin/brightnessctl"; + menu = "${config.programs.wofi.package}/bin/wofi --show run,drun"; + terminal = "${config.programs.kitty.package}/bin/kitty"; + fileManager = "${pkgs.gnome.nautilus}/bin/nautilus"; + in + { + "$mod" = "SUPER"; + exec-once = [ + "dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP" + "systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP" + ]; + monitor = [ + "eDP-1, 3840x2400@60,0x0,2" + ",highres,auto,1" + ]; + input = { + touchpad.natural_scroll = true; + }; + general = { + gaps_in = 5; + gaps_out = 20; + border_size = 2; + "col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg"; + "col.inactive_border" = "rgba(595959aa)"; + layout = "dwindle"; + # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on + allow_tearing = false; + }; + decoration = { + rounding = 10; - blur = { - enabled = true; - size = 3; - passes = 1; + blur = { + enabled = true; + size = 3; + passes = 1; + }; + + drop_shadow = "yes"; + shadow_range = 4; + shadow_render_power = 3; + "col.shadow" = "rgba(1a1a1aee)"; + }; + animations = { + enabled = "yes"; + + bezier = "myBezier, 0.05, 0.9, 0.1, 1.05"; + + animation = [ + "windows, 1, 7, myBezier" + "windowsOut, 1, 7, default, popin 80%" + "border, 1, 10, default" + "borderangle, 1, 8, default" + "fade, 1, 7, default" + "workspaces, 1, 6, default" + ]; + }; + dwindle = { + preserve_split = "yes"; + pseudotile = "yes"; + }; + gestures.workspace_swipe = true; + + misc = { + force_default_wallpaper = 1; + disable_splash_rendering = true; + }; + + windowrulev2 = [ + "suppressevent maximize, class:.* # You'll probably like this." + "workspace 1 silent, class:^(Element)$" + "workspace 1 silent, class:^(discord)$" + "workspace 2 silent, class:^(firefox)$" + "float,class:^(firefox)$,title:^(Picture-in-Picture)$" + ]; + + # l -> works when screen is locked + # e -> repeats when held + bindel = [ + ",XF86AudioRaiseVolume,exec,${wpctl} set-volume @DEFAULT_AUDIO_SINK@ 5%+" + ",XF86AudioLowerVolume,exec,${wpctl} set-volume @DEFAULT_AUDIO_SINK@ 5%-" + ",XF86MonBrightnessUp,exec,${brightnessctl} -q s +5%" + ",XF86MonBrightnessDown,exec,${brightnessctl} -q s 5%-" + ]; + + bindl = [ ",XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" ]; + + bind = + [ + "$mod, RETURN, exec, ${terminal}" + "$mod, Q, killactive," + "$mod SHIFT, escape, exit," + "$mod, E, exec, ${fileManager}" + "$mod, V, togglefloating," + "$mod, D, exec, ${menu}" + "$mod, P, pseudo, # dwindle" + "$mod, J, togglesplit, # dwindle" + "SUPER,m,fullscreen" + + # Move focus with arrow keys + "$mod, left, movefocus, l" + "$mod, right, movefocus, r" + "$mod, up, movefocus, u" + "$mod, down, movefocus, d" + + # Scratch workspace + "$mod, S, togglespecialworkspace, magic" + "$mod SHIFT, S, movetoworkspace, special:magic" + + # PrintScreen + ",Print,exec, grimblast copysave area /home/vivian/cloud/Pictures/Screenshots/$(date --iso=seconds).png" + ] + ++ ( + # workspaces + # binds $mod + [shift +] {1..10} to [move to] workspace {1..10} + concatLists ( + genList ( + x: + let + ws = + let + c = (x + 1) / 10; + in + toString (x + 1 - (c * 10)); + in + [ + "$mod, ${ws}, workspace, ${toString (x + 1)}" + "$mod SHIFT, ${ws}, movetoworkspacesilent, ${toString (x + 1)}" + ] + ) 10 + ) + + ); + + # Bind mouse + bindm = [ + # Move/resize windows with mod + LMB/RMB and dragging + "$mod, mouse:272, movewindow" + "$mod, mouse:273, resizewindow" + ]; }; - - drop_shadow = "yes"; - shadow_range = 4; - shadow_render_power = 3; - "col.shadow" = "rgba(1a1a1aee)"; - }; - animations = { - enabled = "yes"; - - bezier = "myBezier, 0.05, 0.9, 0.1, 1.05"; - - animation = [ - "windows, 1, 7, myBezier" - "windowsOut, 1, 7, default, popin 80%" - "border, 1, 10, default" - "borderangle, 1, 8, default" - "fade, 1, 7, default" - "workspaces, 1, 6, default" - ]; - }; - dwindle = { - preserve_split = "yes"; - pseudotile = "yes"; - }; - gestures.workspace_swipe = true; }; - extraConfig = '' - $terminal = kitty - $fileManager = dolphin - $menu = wofi --show drun - misc { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - force_default_wallpaper = 2 # Set to 0 or 1 to disable the anime mascot wallpapers - disable_splash_rendering = true - } - - # Window Rules - windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. - windowrulev2 = workspace 1 silent, class:^(Element)$ - windowrulev2 = workspace 1 silent, class:^(discord)$ - windowrulev2 = workspace 2 silent, class:^(firefox)$ - windowrulev2 = float,class:^(firefox)$,title:^(Picture-in-Picture)$ - - # See https://wiki.hyprland.org/Configuring/Keywords/ for more - $mainMod = SUPER - - # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more - bind = $mainMod, RETURN, exec, $terminal - bind = $mainMod, Q, killactive, - bind = $mainMod SHIFT, escape, exit, - bind = $mainMod, E, exec, $fileManager - bind = $mainMod, V, togglefloating, - bind = $mainMod, D, exec, $menu - bind = $mainMod, P, pseudo, # dwindle - bind = $mainMod, J, togglesplit, # dwindle - - # Fullscreen - bind=SUPER,m,fullscreen - - # Move focus with mainMod + arrow keys - bind = $mainMod, left, movefocus, l - bind = $mainMod, right, movefocus, r - bind = $mainMod, up, movefocus, u - bind = $mainMod, down, movefocus, d - - # Switch workspaces with mainMod + [0-9] - bind = $mainMod, 1, workspace, 1 - bind = $mainMod, 2, workspace, 2 - bind = $mainMod, 3, workspace, 3 - bind = $mainMod, 4, workspace, 4 - bind = $mainMod, 5, workspace, 5 - bind = $mainMod, 6, workspace, 6 - bind = $mainMod, 7, workspace, 7 - bind = $mainMod, 8, workspace, 8 - bind = $mainMod, 9, workspace, 9 - bind = $mainMod, 0, workspace, 10 - - # Move active window to a workspace with mainMod + SHIFT + [0-9] - bind = $mainMod SHIFT, 1, movetoworkspace, 1 - bind = $mainMod SHIFT, 2, movetoworkspace, 2 - bind = $mainMod SHIFT, 3, movetoworkspace, 3 - bind = $mainMod SHIFT, 4, movetoworkspace, 4 - bind = $mainMod SHIFT, 5, movetoworkspace, 5 - bind = $mainMod SHIFT, 6, movetoworkspace, 6 - bind = $mainMod SHIFT, 7, movetoworkspace, 7 - bind = $mainMod SHIFT, 8, movetoworkspace, 8 - bind = $mainMod SHIFT, 9, movetoworkspace, 9 - bind = $mainMod SHIFT, 0, movetoworkspace, 10 - - # Example special workspace (scratchpad) - bind = $mainMod, S, togglespecialworkspace, magic - bind = $mainMod SHIFT, S, movetoworkspace, special:magic - - # Scroll through existing workspaces with mainMod + scroll - bind = $mainMod, mouse_down, workspace, e+1 - bind = $mainMod, mouse_up, workspace, e-1 - - # Move/resize windows with mainMod + LMB/RMB and dragging - bindm = $mainMod, mouse:272, movewindow - bindm = $mainMod, mouse:273, resizewindow - ''; - }; } diff --git a/hosts/thalassa/aoife/home/waybar.css b/hosts/thalassa/aoife/home/waybar.css new file mode 100644 index 00000000..bdd07a44 --- /dev/null +++ b/hosts/thalassa/aoife/home/waybar.css @@ -0,0 +1,125 @@ +/* Catppucin Frappe */ +@define-color base #303446; +@define-color mantle #292c3c; +@define-color crust #232634; + +@define-color text #c6d0f5; +@define-color subtext0 #a5adce; +@define-color subtext1 #b5bfe2; + +@define-color surface0 #414559; +@define-color surface1 #51576d; +@define-color surface2 #626880; + +@define-color overlay0 #737994; +@define-color overlay1 #838ba7; +@define-color overlay2 #949cbb; + +@define-color blue #8caaee; +@define-color lavender #babbf1; +@define-color sapphire #85c1dc; +@define-color sky #99d1db; +@define-color teal #81c8be; +@define-color green #a6d189; +@define-color yellow #e5c890; +@define-color peach #ef9f76; +@define-color maroon #ea999c; +@define-color red #e78284; +@define-color mauve #ca9ee6; +@define-color pink #f4b8e4; +@define-color flamingo #eebebe; +@define-color rosewater #f2d5cf; + + +window { + border: none; + font-family: DejaVuSansM Nerd Font, sans-serif; + font-size: 13px; + color: @text; +} + +window#waybar { + color: @text; + background-color: rgba(0, 0, 0, 0); + transition-property: background-color; + transition-duration: 0.5s; + transition-duration: .5s; +} + +window#waybar.hidden { + opacity: 0.2; +} + +#workspaces { + /* background: @overlay0; */ +} + +#workspaces button { + color: @text; + background: @background3; + /* margin: 7px 5px 10px 5px; */ +} + +#workspaces button:hover { + background: @surface0; + color: @text; +} + +#workspaces button.active { + color: @crust; + background: @overlay2; + border: none; +} + +#clock, +#battery, +#network, +#power-profiles-daemon, +#wireplumber { + padding: 0px 20px; + border-radius: 8px; + margin-left: 5px; + color: @crust; +} + +#wireplumber { + padding: 0px 20px 0px 17px; + background-color: @teal; +} + +#network { + padding: 0px 15px 0px 20px; + background-color: @green; +} + +#battery { + background-color: @lavender; +} + +#clock { + background-color: @pink; +} + +#power-profiles-daemon { + background-color: @mauve; +} + +@keyframes blink { + to { + background-color: rgba(30, 34, 42, 0.5); + color: #abb2bf; + } +} + +#battery.critical:not(.charging) { + color: #f53c3c; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +label:focus { + background-color: #000000; +} From 46151ed25b698789c8cd01c3067c6e7fb7cd9cf9 Mon Sep 17 00:00:00 2001 From: Vivian Date: Wed, 3 Apr 2024 10:45:17 +0200 Subject: [PATCH 32/88] various updates --- flake.lock | 313 +++++++------------------ flake.nix | 20 -- hosts/thalassa/aoife/default.nix | 6 +- hosts/thalassa/aoife/home/hyprland.nix | 42 +++- hosts/thalassa/aoife/home/waybar.css | 2 +- 5 files changed, 120 insertions(+), 263 deletions(-) diff --git a/flake.lock b/flake.lock index b1bdf562..0dfd34d1 100644 --- a/flake.lock +++ b/flake.lock @@ -61,27 +61,6 @@ "type": "github" } }, - "comma": { - "inputs": { - "flake-compat": "flake-compat_3", - "naersk": "naersk", - "nixpkgs": "nixpkgs_2", - "utils": "utils" - }, - "locked": { - "lastModified": 1710529178, - "narHash": "sha256-PW9OS/ccRxigP0ikk1XR4QhQX4j9+ALQz0FMKXF3yRA=", - "owner": "nix-community", - "repo": "comma", - "rev": "1085a5af2907f537cae91c6279c98951dbc45cea", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "comma", - "type": "github" - } - }, "crane": { "inputs": { "nixpkgs": [ @@ -126,16 +105,16 @@ }, "deploy": { "inputs": { - "flake-compat": "flake-compat_4", - "nixpkgs": "nixpkgs_3", - "utils": "utils_2" + "flake-compat": "flake-compat_3", + "nixpkgs": "nixpkgs_2", + "utils": "utils" }, "locked": { - "lastModified": 1711733382, - "narHash": "sha256-XuKlYhc9Hk6jMIIwWTP6CTQVUWi0Sq3nJApnUJk6bu8=", + "lastModified": 1711973905, + "narHash": "sha256-UFKME/N1pbUtn+2Aqnk+agUt8CekbpuqwzljivfIme8=", "owner": "serokell", "repo": "deploy-rs", - "rev": "2bad21828ee2c5d1e42588d5f4c53f5b10300c6a", + "rev": "88b3059b020da69cbe16526b8d639bd5e0b51c8b", "type": "github" }, "original": { @@ -203,22 +182,6 @@ "type": "github" } }, - "flake-compat_10": { - "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-compat_2": { "flake": false, "locked": { @@ -284,38 +247,6 @@ } }, "flake-compat_6": { - "flake": false, - "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_7": { - "flake": false, - "locked": { - "lastModified": 1688025799, - "narHash": "sha256-ktpB4dRtnksm9F5WawoIkEneh1nrEvuxb5lJFt1iOyw=", - "owner": "nix-community", - "repo": "flake-compat", - "rev": "8bf105319d44f6b9f0d764efa4fdef9f1cc9ba1c", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_8": { "locked": { "lastModified": 1696426674, "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", @@ -329,7 +260,7 @@ "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" } }, - "flake-compat_9": { + "flake-compat_7": { "flake": false, "locked": { "lastModified": 1696426674, @@ -345,6 +276,22 @@ "type": "github" } }, + "flake-compat_8": { + "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-parts": { "inputs": { "nixpkgs-lib": [ @@ -423,7 +370,7 @@ }, "flake-utils_10": { "inputs": { - "systems": "systems_11" + "systems": "systems_10" }, "locked": { "lastModified": 1710146030, @@ -455,7 +402,7 @@ }, "flake-utils_12": { "inputs": { - "systems": "systems_13" + "systems": "systems_12" }, "locked": { "lastModified": 1681202837, @@ -488,7 +435,7 @@ }, "flake-utils_3": { "inputs": { - "systems": "systems_3" + "systems": "systems_2" }, "locked": { "lastModified": 1701680307, @@ -506,7 +453,7 @@ }, "flake-utils_4": { "inputs": { - "systems": "systems_4" + "systems": "systems_3" }, "locked": { "lastModified": 1694529238, @@ -524,7 +471,7 @@ }, "flake-utils_5": { "inputs": { - "systems": "systems_5" + "systems": "systems_4" }, "locked": { "lastModified": 1710146030, @@ -542,7 +489,7 @@ }, "flake-utils_6": { "inputs": { - "systems": "systems_6" + "systems": "systems_5" }, "locked": { "lastModified": 1710146030, @@ -560,7 +507,7 @@ }, "flake-utils_7": { "inputs": { - "systems": "systems_8" + "systems": "systems_7" }, "locked": { "lastModified": 1705309234, @@ -578,7 +525,7 @@ }, "flake-utils_8": { "inputs": { - "systems": "systems_9" + "systems": "systems_8" }, "locked": { "lastModified": 1701680307, @@ -596,7 +543,7 @@ }, "flake-utils_9": { "inputs": { - "systems": "systems_10" + "systems": "systems_9" }, "locked": { "lastModified": 1710146030, @@ -684,11 +631,11 @@ ] }, "locked": { - "lastModified": 1711625603, - "narHash": "sha256-W+9dfqA9bqUIBV5u7jaIARAzMe3kTq/Hp2SpSVXKRQw=", + "lastModified": 1712093955, + "narHash": "sha256-94I0sXz6fiVBvUAk2tg6t3UpM5rOImj4JTSTNFbg64s=", "owner": "nix-community", "repo": "home-manager", - "rev": "c0ef0dab55611c676ad7539bf4e41b3ec6fa87d2", + "rev": "80546b220e95a575c66c213af1b09fe255299438", "type": "github" }, "original": { @@ -705,11 +652,11 @@ ] }, "locked": { - "lastModified": 1711604890, - "narHash": "sha256-vbI/gxRTq/gHW1Q8z6D/7JG/qGNl3JTimUDX+MwnC3A=", + "lastModified": 1711625603, + "narHash": "sha256-W+9dfqA9bqUIBV5u7jaIARAzMe3kTq/Hp2SpSVXKRQw=", "owner": "nix-community", "repo": "home-manager", - "rev": "3142bdcc470e1e291e1fbe942fd69e06bd00c5df", + "rev": "c0ef0dab55611c676ad7539bf4e41b3ec6fa87d2", "type": "github" }, "original": { @@ -721,7 +668,7 @@ "lanzaboote": { "inputs": { "crane": "crane_2", - "flake-compat": "flake-compat_5", + "flake-compat": "flake-compat_4", "flake-parts": "flake-parts", "flake-utils": "flake-utils_6", "nixpkgs": [ @@ -763,11 +710,11 @@ "mailserver": { "inputs": { "blobs": "blobs", - "flake-compat": "flake-compat_6", + "flake-compat": "flake-compat_5", "nixpkgs": [ "nixpkgs" ], - "utils": "utils_3" + "utils": "utils_2" }, "locked": { "lastModified": 1710449465, @@ -786,7 +733,7 @@ "microvm": { "inputs": { "flake-utils": "flake-utils_7", - "nixpkgs": "nixpkgs_4", + "nixpkgs": "nixpkgs_3", "spectrum": "spectrum" }, "locked": { @@ -803,32 +750,10 @@ "type": "github" } }, - "naersk": { - "inputs": { - "nixpkgs": [ - "comma", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1698420672, - "narHash": "sha256-/TdeHMPRjjdJub7p7+w55vyABrsJlt5QkznPYy55vKA=", - "owner": "nix-community", - "repo": "naersk", - "rev": "aeb58d5e8faead8980a807c840232697982d47b9", - "type": "github" - }, - "original": { - "owner": "nix-community", - "ref": "master", - "repo": "naersk", - "type": "github" - } - }, "nix": { "inputs": { "lowdown-src": "lowdown-src", - "nixpkgs": "nixpkgs_7", + "nixpkgs": "nixpkgs_6", "nixpkgs-regression": "nixpkgs-regression" }, "locked": { @@ -852,11 +777,11 @@ ] }, "locked": { - "lastModified": 1711591334, - "narHash": "sha256-9d5ilxxq4CXw44eFw8VFrRneAKex7D8xjn95mwZjgf4=", + "lastModified": 1711763326, + "narHash": "sha256-sXcesZWKXFlEQ8oyGHnfk4xc9f2Ip0X/+YZOq3sKviI=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "f0dd0838c3558b59dc3b726d8ab89f5b5e35c297", + "rev": "36524adc31566655f2f4d55ad6b875fb5c1a4083", "type": "github" }, "original": { @@ -867,11 +792,11 @@ }, "nixlib": { "locked": { - "lastModified": 1711241261, - "narHash": "sha256-knrTvpl81yGFHIpm1SsLDApe0thFkw1cl3ISAMPmP/0=", + "lastModified": 1711846064, + "narHash": "sha256-cqfX0QJNEnge3a77VnytM0Q6QZZ0DziFXt6tSCV8ZSc=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "b2a1eeef8c185f6bd27432b053ff09d773244cbc", + "rev": "90b1a963ff84dc532db92f678296ff2499a60a87", "type": "github" }, "original": { @@ -880,27 +805,6 @@ "type": "github" } }, - "nixos-cosmic": { - "inputs": { - "flake-compat": "flake-compat_7", - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1711761951, - "narHash": "sha256-De6fnc3EiBzaqtIZqPDfkODpS2WsOunVBcH7AOyzFEw=", - "owner": "lilyinstarlight", - "repo": "nixos-cosmic", - "rev": "cf817213c972b089351ad42c49616076915f07bd", - "type": "github" - }, - "original": { - "owner": "lilyinstarlight", - "repo": "nixos-cosmic", - "type": "github" - } - }, "nixos-generators": { "inputs": { "nixlib": "nixlib", @@ -909,11 +813,11 @@ ] }, "locked": { - "lastModified": 1711626141, - "narHash": "sha256-0qV1pHeIyUZ18cp8ijQnMf7uV+Uk4+UqTCC6yGSGWvk=", + "lastModified": 1711932680, + "narHash": "sha256-CEpVtyB7uyRprTuiG+lpWWMvM/C0CbY/dbBuxT5BDwM=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "63194fceafbfe583a9eb7d16ab499adc0a6c0bc2", + "rev": "1f4c32ca4295bb7cca1e48a2f39b65490b249b0b", "type": "github" }, "original": { @@ -1002,22 +906,6 @@ } }, "nixpkgs_2": { - "locked": { - "lastModified": 1710159071, - "narHash": "sha256-CT0WKgcmlcWZPZL/sSSICN/Vbm4Of0ZDgxc0GFf6sYU=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "0fbcc4b2e8571f4af39be41752581ea09dd9ab06", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_3": { "locked": { "lastModified": 1702272962, "narHash": "sha256-D+zHwkwPc6oYQ4G3A1HuadopqRwUY/JkMwHz1YF7j4Q=", @@ -1033,7 +921,7 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_3": { "locked": { "lastModified": 1708475490, "narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=", @@ -1049,13 +937,13 @@ "type": "github" } }, - "nixpkgs_5": { + "nixpkgs_4": { "locked": { - "lastModified": 1712004559, - "narHash": "sha256-87vZKDepF3ZqpinX5zarC5Xb9dwpGgmfcl4Woy26lYA=", + "lastModified": 1712047400, + "narHash": "sha256-P1ddj7Anx1zQXyn1RqLcleA3ZL/8cmewWjdm2nR7mc8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5476cea4892cedbf6f8bbebdb93ba07e3f5f5e38", + "rev": "43f956227e7bbcb11aa54ce1294f6b5bdf6c8fad", "type": "github" }, "original": { @@ -1064,13 +952,13 @@ "type": "indirect" } }, - "nixpkgs_6": { + "nixpkgs_5": { "locked": { - "lastModified": 1711523803, - "narHash": "sha256-UKcYiHWHQynzj6CN/vTcix4yd1eCu1uFdsuarupdCQQ=", + "lastModified": 1711703276, + "narHash": "sha256-iMUFArF0WCatKK6RzfUJknjem0H9m4KgorO/p3Dopkk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2726f127c15a4cc9810843b96cad73c7eb39e443", + "rev": "d8fe5e6c92d0d190646fb9f1056741a229980089", "type": "github" }, "original": { @@ -1080,7 +968,7 @@ "type": "github" } }, - "nixpkgs_7": { + "nixpkgs_6": { "locked": { "lastModified": 1645296114, "narHash": "sha256-y53N7TyIkXsjMpOG7RhvqJFGDacLs9HlyHeSTBioqYU=", @@ -1096,7 +984,7 @@ "type": "github" } }, - "nixpkgs_8": { + "nixpkgs_7": { "locked": { "lastModified": 1696165369, "narHash": "sha256-pd1cjFHCoEf9q5f9B0HhlOwwpBI9RP3HbUE6xjI7wAI=", @@ -1115,19 +1003,19 @@ "nixvim": { "inputs": { "devshell": "devshell", - "flake-compat": "flake-compat_8", + "flake-compat": "flake-compat_6", "flake-parts": "flake-parts_2", "home-manager": "home-manager_2", "nix-darwin": "nix-darwin", - "nixpkgs": "nixpkgs_6", + "nixpkgs": "nixpkgs_5", "pre-commit-hooks": "pre-commit-hooks" }, "locked": { - "lastModified": 1711745924, - "narHash": "sha256-ZYVrOg12pWNbY1hx1lOu3cwER6xalEHUUIXnfbkCtUY=", + "lastModified": 1712057047, + "narHash": "sha256-o5KSQO82/sCgaaSsZONTeb+P47MXo0bbp+eID9I0CwI=", "owner": "pta2002", "repo": "nixvim", - "rev": "4f83bcf2906c1c933316396221024f3482a7b086", + "rev": "7baefc8aa587931827797db7fbd55a733179dc79", "type": "github" }, "original": { @@ -1138,11 +1026,11 @@ }, "nur": { "locked": { - "lastModified": 1711789378, - "narHash": "sha256-aFHVJ0j7p54FyjpfJ2nVMv5MDXrP4ttL8efcWu1lxf0=", + "lastModified": 1712127152, + "narHash": "sha256-LPFdS9oxJfLsIPn3/59p/n43EgUV3InMZdhlhmMg8WI=", "owner": "nix-community", "repo": "NUR", - "rev": "9c84c5419c332d79fbd2b3644c62f978beccfff9", + "rev": "9d71b5e8ad6127de490d4715170ce32e767f2d0f", "type": "github" }, "original": { @@ -1153,7 +1041,7 @@ }, "pre-commit-hooks": { "inputs": { - "flake-compat": "flake-compat_9", + "flake-compat": "flake-compat_7", "flake-utils": "flake-utils_9", "gitignore": "gitignore_2", "nixpkgs": [ @@ -1166,11 +1054,11 @@ ] }, "locked": { - "lastModified": 1711519547, - "narHash": "sha256-Q7YmSCUJmDl71fJv/zD9lrOCJ1/SE/okZ2DsrmRjzhY=", + "lastModified": 1711760932, + "narHash": "sha256-DqUTQ2iAAqSDwMhKBqvi24v0Oc7pD3LCK/0FCG//TdA=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "7d47a32e5cd1ea481fab33c516356ce27c8cef4a", + "rev": "c11e43aed6f17336c25cd120eac886b96c455731", "type": "github" }, "original": { @@ -1214,7 +1102,6 @@ "inputs": { "attic": "attic", "colmena": "colmena", - "comma": "comma", "deploy": "deploy", "essentials": "essentials", "flake-utils-plus": "flake-utils-plus", @@ -1223,10 +1110,9 @@ "lanzaboote": "lanzaboote", "mailserver": "mailserver", "microvm": "microvm", - "nixos-cosmic": "nixos-cosmic", "nixos-generators": "nixos-generators", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_5", + "nixpkgs": "nixpkgs_4", "nixvim": "nixvim", "nur": "nur", "t": "t", @@ -1351,21 +1237,6 @@ "type": "github" } }, - "systems_13": { - "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, @@ -1511,24 +1382,6 @@ "inputs": { "systems": "systems" }, - "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "utils_2": { - "inputs": { - "systems": "systems_2" - }, "locked": { "lastModified": 1701680307, "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", @@ -1543,9 +1396,9 @@ "type": "github" } }, - "utils_3": { + "utils_2": { "inputs": { - "systems": "systems_7" + "systems": "systems_6" }, "locked": { "lastModified": 1709126324, @@ -1561,9 +1414,9 @@ "type": "github" } }, - "utils_4": { + "utils_3": { "inputs": { - "systems": "systems_12" + "systems": "systems_11" }, "locked": { "lastModified": 1694529238, @@ -1581,11 +1434,11 @@ }, "vault-secrets": { "inputs": { - "flake-compat": "flake-compat_10", + "flake-compat": "flake-compat_8", "flake-utils": "flake-utils_11", "nix": "nix", - "nixpkgs": "nixpkgs_8", - "utils": "utils_4" + "nixpkgs": "nixpkgs_7", + "utils": "utils_3" }, "locked": { "lastModified": 1705066493, diff --git a/flake.nix b/flake.nix index b26819f0..8342fc5f 100644 --- a/flake.nix +++ b/flake.nix @@ -6,9 +6,7 @@ inputs = { nixpkgs.url = "nixpkgs/nixos-unstable-small"; - flake-utils-plus.url = "github:gytis-ivaskevicius/flake-utils-plus/v1.4.0"; - nur.url = "github:nix-community/NUR"; colmena.url = "github:zhaofengli/colmena"; deploy.url = "github:serokell/deploy-rs"; @@ -19,8 +17,6 @@ home-manager.url = "github:nix-community/home-manager"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; - comma.url = "github:nix-community/comma"; - mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver"; mailserver.inputs.nixpkgs.follows = "nixpkgs"; @@ -46,14 +42,8 @@ attic.url = "github:zhaofengli/attic"; attic.inputs.nixpkgs.follows = "nixpkgs"; - # Website(s) essentials.url = "github:jdonszelmann/essentials"; essentials.inputs.nixpkgs.follows = "nixpkgs"; - - nixos-cosmic = { - url = "github:lilyinstarlight/nixos-cosmic"; - inputs.nixpkgs.follows = "nixpkgs"; - }; }; outputs = @@ -68,7 +58,6 @@ gnome-autounlock-keyring, lanzaboote, t, - nixos-cosmic, ... }@inputs: let @@ -97,14 +86,6 @@ hostDefaults = { system = "x86_64-linux"; modules = [ - ({ pkgs, self, ...}: { - system.replaceRuntimeDependencies = [ - ({ - original = pkgs.xz; - replacement = pkgs.fixed-xz; - }) - ]; - }) home-manager.nixosModules.home-manager gnome-autounlock-keyring.nixosModules.default ./common @@ -128,7 +109,6 @@ aoife = { modules = [ lanzaboote.nixosModules.lanzaboote - nixos-cosmic.nixosModules.default ./common/desktop ./hosts/thalassa/aoife ]; diff --git a/hosts/thalassa/aoife/default.nix b/hosts/thalassa/aoife/default.nix index fb9f5d4b..af1cf94b 100644 --- a/hosts/thalassa/aoife/default.nix +++ b/hosts/thalassa/aoife/default.nix @@ -44,9 +44,10 @@ home-manager.users.vivian = import ./home; programs.hyprland.enable = true; + services.gnome.gnome-keyring.enable = true; services.gnome-autounlock-keyring = { enable = true; - # target = "hyprland-session.target"; + target = "hyprland-session.target"; }; services.interception-tools = { @@ -60,9 +61,6 @@ ''; }; - # services.desktopManager.cosmic.enable = true; - # services.displayManager.cosmic-greeter.enable = true; - # Enable Ozone rendering for Chromium and Electron apps. environment.sessionVariables.NIXOS_OZONE_WL = "1"; diff --git a/hosts/thalassa/aoife/home/hyprland.nix b/hosts/thalassa/aoife/home/hyprland.nix index 6505e2ec..4b25d03c 100644 --- a/hosts/thalassa/aoife/home/hyprland.nix +++ b/hosts/thalassa/aoife/home/hyprland.nix @@ -3,7 +3,7 @@ systemd.user.services.mako = { Install = { - WantedBy = [ "graphical-session.target" ]; + WantedBy = [ "hyprland-session.target" ]; }; Service = { Type = "dbus"; @@ -59,6 +59,7 @@ wireplumber = { format = "󰕾 {volume}%"; format-muted = "󰖁"; + on-click = "wpctl set-mute @DEFAULT_SINK@ toggle"; }; network = { @@ -112,13 +113,20 @@ wayland.windowManager.hyprland = let toggle_mirror = pkgs.writeScriptBin "toggle_mirror.sh" '' - #!/usr/bin/env bash + #!${pkgs.stdenv.shell} if [ $(hyprctl monitors all -j | ${pkgs.jq}/bin/jq '.[1].activeWorkspace.id') = '-1' ]; then hyprctl keyword monitor ",preferred,auto,1" else hyprctl keyword monitor ",preferred,auto,1,mirror,eDP-1" fi ''; + startup = pkgs.writeScriptBin "startup.sh" '' + #!${pkgs.stdenv.shell} + + firefox & + discord & + element-desktop & + ''; in { enable = true; @@ -136,8 +144,7 @@ { "$mod" = "SUPER"; exec-once = [ - "dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP" - "systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP" + "${startup}/bin/startup.sh" ]; monitor = [ "eDP-1, 3840x2400@60,0x0,2" @@ -148,7 +155,7 @@ }; general = { gaps_in = 5; - gaps_out = 20; + gaps_out = 10; border_size = 2; "col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg"; "col.inactive_border" = "rgba(595959aa)"; @@ -156,6 +163,17 @@ # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on allow_tearing = false; }; + group = { + "col.border_active" = "rgba(33ccffee) rgba(00ff99ee) 45deg"; + "col.border_inactive" = "rgba(595959aa)"; + + groupbar = { + font_size = 16; + "col.active" = "rgba(babbf1aa)"; + "col.inactive" = "rgba(414559aa)"; + text_color = "rgba(232634ff)"; + }; + }; decoration = { rounding = 10; @@ -191,8 +209,10 @@ gestures.workspace_swipe = true; misc = { - force_default_wallpaper = 1; + force_default_wallpaper = 2; disable_splash_rendering = true; + # disable_hyprland_logo = true; + disable_autoreload = true; }; windowrulev2 = [ @@ -201,6 +221,7 @@ "workspace 1 silent, class:^(discord)$" "workspace 2 silent, class:^(firefox)$" "float,class:^(firefox)$,title:^(Picture-in-Picture)$" + "group set always,onworkspace:1 " ]; # l -> works when screen is locked @@ -224,7 +245,7 @@ "$mod, D, exec, ${menu}" "$mod, P, pseudo, # dwindle" "$mod, J, togglesplit, # dwindle" - "SUPER,m,fullscreen" + "$mod,m,fullscreen" # Move focus with arrow keys "$mod, left, movefocus, l" @@ -235,9 +256,14 @@ # Scratch workspace "$mod, S, togglespecialworkspace, magic" "$mod SHIFT, S, movetoworkspace, special:magic" + # Groups aka Tabs + "$mod,g,togglegroup" + "$mod,tab,changegroupactive" # PrintScreen - ",Print,exec, grimblast copysave area /home/vivian/cloud/Pictures/Screenshots/$(date --iso=seconds).png" + ",Print,exec,${pkgs.grimblast}/bin/grimblast copysave area /home/vivian/cloud/Pictures/Screenshots/$(date --iso=seconds).png" + # Toggle Mirror for external displays on/off + ",XF86Display,exec,${toggle_mirror}/bin/toggle_mirror.sh" ] ++ ( # workspaces diff --git a/hosts/thalassa/aoife/home/waybar.css b/hosts/thalassa/aoife/home/waybar.css index bdd07a44..b60c70ae 100644 --- a/hosts/thalassa/aoife/home/waybar.css +++ b/hosts/thalassa/aoife/home/waybar.css @@ -56,7 +56,7 @@ window#waybar.hidden { #workspaces button { color: @text; - background: @background3; + /* background: @background3; */ /* margin: 7px 5px 10px 5px; */ } From f70a18723f7330df090f52d408f0f74fb55884d5 Mon Sep 17 00:00:00 2001 From: Vivian Date: Wed, 24 Apr 2024 12:05:59 +0200 Subject: [PATCH 33/88] various updates --- assets/wallpaper-nix-pink.png | Bin 0 -> 60838 bytes common/desktop/home.nix | 5 +- common/hm-modules/catppuccin/default.nix | 13 +- common/hm-modules/nvim/default.nix | 2 +- common/hm-modules/rust.nix | 11 +- common/users/default.nix | 28 +++- flake.lock | 98 ++++++------ flake.nix | 2 +- hosts/thalassa/aoife/default.nix | 18 ++- hosts/thalassa/aoife/domain.crt | 21 +++ hosts/thalassa/aoife/home/default.nix | 4 +- hosts/thalassa/aoife/home/hyprland.nix | 87 ++++++++--- hosts/thalassa/aoife/home/starship.nix | 17 +++ hosts/thalassa/aoife/uni.nix | 19 ++- hosts/thalassa/null/home/default.nix | 183 ++++++++++++++++++++--- pkgs/default.nix | 3 +- pkgs/hyprland-workspaces/default.nix | 20 +++ 17 files changed, 415 insertions(+), 116 deletions(-) create mode 100644 assets/wallpaper-nix-pink.png create mode 100644 hosts/thalassa/aoife/domain.crt create mode 100644 hosts/thalassa/aoife/home/starship.nix create mode 100644 pkgs/hyprland-workspaces/default.nix diff --git a/assets/wallpaper-nix-pink.png b/assets/wallpaper-nix-pink.png new file mode 100644 index 0000000000000000000000000000000000000000..e8a88d7899e8b13dc38167723e00c9a263f7e748 GIT binary patch literal 60838 zcmeAS@N?(olHy`uVBq!ia0y~y;Adc9;3(i=Vqjp9zZ0X%z`*vkDkP#LD6w3jpeR2r zGbdG{q_QAYA+;hije()!*4yc^o1SR!wcd|Bs>8_QlwtYD?F?Vq&(9CfM8}rC{&pm! z^h@;ZiN`t(Ib`Q5TfX`K=XXnep~pE>k*#5Subl|ov!f(0sz&zj&SeqvULP;Kx7Yp) z`|k?h7pJ!T{JP+3_-wmh_G(qzR~9e7?|bFh?}I-+Hck)MetX&Fee0*K9y=o6cmA;r zoOZqW%e)2qw~4Mc|6RwOy#LnMjTgWDYOS96d#3fW?^*NziyyA`etAa8`tn)R^h(JI z@BN+L-T6_hTdr`}syWa9=&1Ay*7bzn7oOdVbS*_lu>EUj4dv<+#{<>tnpr zc6e`Z$ee1aZFnW){mVJME9SKv>N4g#H`9i*U~b4IFWb3W=9ew&>~t*?cTc*?fubK~BWpK0Dz)4p09-W-+ubgG0_=gCXG-SM`E*Y7Jhx75k& z`t*OFM9Vs3(vy$5zKfG&Q+nBa|Chy&$A4;KVvIRnef_kwR&6o};`+sE=KJo_o}`zO zT3RLSzXXjZT!`7+$g9J=CTPl!jh8wWu8Ztm6=s_I>Q?r;rCDpQz7jo}chk#YYgXFX zJ5{IGn&fVc%sv}k{;?-xRk(TnyL;BzWohsB+?BlWd%{F_Nhvp3vs)i7sy{S7eI;`F zS+m-2s@nQrlCP$&){U=S?yK>3Q|a~G-MRPw3S_Cb2lvgZdb8#6@_OgDys!PA>o1sg zZ^g;xE3z5)0~TL@liXGE)I~pyL2aRmz;aChnf$s(v#?wC76qO)qgn z0Uhhkd0!f1Cx|Z+-?_gfdc!B?yidDNv~u6oSNd+87r$^@p42S{C<;Qq_H|+F& zZS=-y@eALW`YjKOkH6pc-{(uYZ%fP9tEKCLx49^tu(_hU)zAG)=i#emalT7euRoe> zy>-jps;v*RSNUFN(pUMu?U>Q4cB^SAMwdC)9=OJ0?soRfy;HAr!pgLd3U3y`U{%K5#jz0WLp8xJzs-u$3)ERbdLEn}XbX{RTs@OiB4b=-XI zjnwZ2Yi0@xsj}SRt-c#{m9Jjoa>9eg>5IiyaDR`sujKX5cGB2(&Hu6c^ED?kgp3ROI*iy1a)-N!?{pMbsO*Kd3)2D9G4q_0OzNB#euC7D< zUf%!L4>Vr*xr?(PlC^(FQS7bW6^4sv9XKK|**{owqyHTLyD3K^CB@x82VZ-!mGjZ| zTSp#sJ=f9Sw7f!oPy2pH*;t;+yIHJDH@aE$g_wU@RxK-gyE3`)^GfAeZ||r+^6}oz z7X5W!qHvE{)Qm%{`(^L!Enb#i`3oS8N)rR$y;KCj*LzG7M6GUv8qms&iOIu1?_xZvx!H~sRQ!(mH4 zEA@$M>i7AruH6x{*WdiYN!d5i-_N>So%kw_XWAT-j>5Z6DU+huCi3Rqyq6-}{NtJ- z`>MFwUvX#J*>_yL`ysQxXcnVlM`E$w^MoxjMW?x(w!Id-#c{IX(dP6SQ?Bnxyu-iB z-?2hzC+Ai9)sxcK6}-5x*{ri;OY&ro`;31(b{{<~ZE9R}|H6FL{7tFxR>isg+YZgM zn(6IW{Ov~10z(5wWxWortc1|DYf@T8@?I6M`1(uX*=`}8t+C&>x;#8nGC{0a?a00M zsC9wYpWZ2ZaZ%W4S<3my;}3cZS4?PR%RL?LJF7oL@2LK%vdi-#=kE@#&DdXNw@UKe z@ynCHGyGk@$iw{_Fd8*X6b9UQ-!gtd2PQHs|u>+}3^9W}QAQ_w!k+QPNBez66C@ z)1MnzI_347Ef#mrb_#AW(`)+~nlM?=VT)K-chPI5^ToD@Y!-bkEwV3TJH^kC(sinx zM~frY<*t`w;I)0}b59f-oKi78m8WxF@57{^*MU`!{Y3rUt-Ibd=BiiMr*Cbs&kGYyZ)ZtUa-6iS zFLR#qdCuj}ucibY&J0Pqy(Y;0)Zc{N-zF6#{T5E;+pl@ie(QgqFW>!2Ry5lF5f8dj zv8QVC%9jibj4heY&H^{w3q)BCvUe<=Jb6*~lpp(-Tu?gJ{J5^B z{QmK~-+3f^NkLu3!FE)yP?CpW4XER+|PD}Q>Lo4{+Ls7W&yX5eNk-L&)(vTiT3Avq-K7x zDV!3aQMTdE!8Iu>jszbubiJx^e|~A?!#zhM*ItQuJ?~HJ!#&$JohhB=?2#nsEuiS& z#+w?Fpy;>St*g`It-8&h=Dv89=|1a>BrL@OTDeYsZ2o`necstaPg-V+_%SRLzx_{w zaaUPm+TCsY`*U|!GO^5S)L#2`y;;Ld|4XlPb<0@3tXJO9s2*#i;?8y9 zi#XST-;%Y#d>wa~_GahhudSV9#~}GitCU$rhH0_uskrYI<>l%5|L0|X{m!iHUexY( zY}XwI2HuLykcg59UmvUF{9L`nl>DSry^7od1`x2ZuP8`N&Q2{+NJ>r5%(GQ`zk9!u zLS~AsQn;zFfp39xYDT68?tx|+m%sQCX6ih6pSa-+*Mm-a&RqMQ#DyTolzX zzk?Nn!^p}dKe-g-JWm%}C6N7ADf!8nDOO-+a-vDHL6U`~u2Hg~k*ROsx zTI!k^8zvd2SSF)7RKgAh8Bj#reLE|lC9kGi*gf7Y?U%|6Vp@m3-Z#z5}*LLat!daRWi~u zK!^n7B$lM*7v{b~$jHjT(#pUj#K_Rf*wV_xLfgQ|$^c1yeoAIqB_Y*z zpv++diE@w3;*$KLO0WBi)qL6boGw%S2;c3&SKcT?0c)GZQn@^&T+q@A1%**d zNDAN4;2I4sl0twa#iOZfG`L6#0g@DtrY@=l7Z;*Cm714gt5mLJZ^y3ozmtK1fwRCP zvY3H^?=T269?xHq!oa}5UgGKN%KnU#MOcG(vw4O(1A_vCr;B4q#jQ8D90eH^cn%mi zoKQKl-=^e?-oy*#@6X7A`fL!~(4@`?VS&hi#0EAH4Z%h{7a$A}>Cna~1)?GNgnI!{j5Z4xMw#bEMORI7BCEjW0vVKh4s$_~#rB}&8A0)WyC1H)(wbF_sCNeLiwvrx5ZDxu;%#|76#v^QKikAv12ikNWKgcL0d3<{$`3JVGbhS5ZW2#e8thzJXZp;OW*dvk-_-QY9r)TwjlPXCYEKgnll z(I>8b*VgC!u8G~X%WFG$NwC6aPDpVn`S$Hc|0@SW_3FMY442!hzRfr9&aTqm|Nj2} zcs<0gEG#c>?R?MF^wg)%u0{EzrKdl?`tM|lmiBIi|J>ax-~7>!JfpcnHq>8bvL&x{ zUE$=Ny;8M>hRXvNyC{A9ZofWi$A_1%>!sd$rapZpQ+d{O<(xTt%R6Vi`r^I+ckItT zSw4A?YZa2Aj+vP~e-iWSXHMmF3%)7V&)k~)`T55;pVyt8{fk#V?#3>Q7g|=lGB+MR z_?IoF+xKC~uX)vZ{mK1zZ-?L9S@`%5r|=wmkZ}&jyt2TaoG?@9crU>bTe}w))t%+wy;&9^IP1SF}ph*Sh3Q5#kIXNF8Jp=vR06_qiQg`t*PO*}7d-sPo3RntMAgm6Te2(PE3SQCeRZ_+{DU zwEuCj{Wgov>0K{8uuzuY@`fX5CW|3O4N?Uv2><;yEB^ZF(rO+VsoV4F|6O!Hoo+8( zCAzbk6F+34dh{~SKndM#T8w(%*yZ^WEF$c(;6AmjE zElP?7F&T_bNpH6g=nt>A)&6?2+WXPXpQ|=)Dk&{(|M$0fozg@fvzzJjzyJU9JcCDd z`GN;WX4lP|J3s#W^t{-hO>g|qhfJMrJq2V=L(d~#aE0!W_Oj%_!mqmS9oh+ZFij=VBlSSQJvrJb{_kJ!WCTEk>;>-y$<%9{ORp7wp zxh&{>&)$vqwtsx%E1YcIR1*61PiLS;{fQYDPlklO2sL?oVdM7=!LJLM_xk-Tw8j%_(<=lb(}RfIOqJ^JUP@TIGv3&RUPw2D6yH{~n;|C>+h z%Et-KuWO~>{`z+J`-a0Z0U$RxJcBk^jE-)3T|YhWx29xGOiud7%CoPw%hwxy(JJER z=9e>6x^Px~^CtG#y2`ekv=1{bu6&b|E&|d&K@rjzYUsJJ= zMPGxC!eIz_FLvKdnYnzciF*3i-T6m~m9C14hNh;6a>^lhfze~O9Tc_RK{awP!gxP%C{g21D-&)_U3@#B@ zltWXA?d$(@AI{vfw`t9r+Hckh+b&1`el}bC`8nRbU5mEmR`W}X9SIZeJn}F+cBV(# zqwU{2Q;JU9*x2cEXeHPwSM;Gyu@eKkmzp4Vtv^cJ|%X;nS7*$_u~+(^u`#kdQTCcRAF~{5-o_I_-JNKfCxl zyDAUA;(uhh_>-*lrca-4eS0TcBD(U;n>kHQq1^E&pZKOd7oSt|SsxTcm6MOEs=hxr zYwEgHWi=2}k4l3Z#0^!!d-D6I{p4-F@#^sX-AdN__S+^`{oN;NZJx)ow`-pI+$)=^ zzx&)v{QsUe|Hhumw(T1?gsx^jZ*}@3#EZ)Lkb>*g*+ut#_%pUkcg@=S`I+{|IU&1N zt;)H*?OZcI_pUA%rHfl?e?Q%vp8o7x*R5@`Rd@X-tqgfqzNz$l-24BPen-#Ey5}~)8qF3ZCo?K_=tY){Y`aOyDHADOS-ZV$hgn?%`)=10XmL6>>-OIAJT1`@PX4*( zYU=wFbJTY{S=heqe{SrH&^P6O3fF#nJ(1H|vf$;>%3f*qTgUz^^Zh-qdR;Pj^U#W9 zXjYlK>(>`S!4;1-3H}$n%^4ORqBFxp^NW_y$tM#wCJT4E{LNeJI$cjyeV#~(`tNzg zWr4fP{LDZuS)d24&`Vz(yP5e4Hh~j#sVAhPwjy}{w-A@$sq4R$pEi zZkTap#hN{Le(kEdzPK;v_HzFhws$tAo&9w4yyZ=hLmGCeK#KM&TV4I{iT66)`fjDM z&H2uci|(iARjPf_;)>pC_2JCsS5GfR?zCif@9Q}**P#4QOG)WeXjphd!yYh} zU$1e982w%qEp+ln-RWPi?v_t|e?zcJ^luw~{*_fb-mR~`P@z#zrI{ped5$<*@BaU8O<`}b-po=x-r_euktY+ucTv}gkC?cz5VJ-v2TP~*w1!0SiLI$pkdRry%G zCC*i8qD0Zr8!k$L=F_t;SO3>*mzS%$T$X?D&#zkJImw{#bl3~6re2-BIkAHC%ZEw( zd~a{*e=A@gxu@dm>h*1Lu7#fG*SX8bvWt5yo8%r-nL4+1?e}>n;4Ab+}7Z z``MYoCUDC5>IzL6{_E{OCzx=7nhzUgA6?s;J>Bk~%ZpHxtc#1@TRwkt)%%H&uyp#nrTqEVHa`Bhe4bEMw^sT4s;B2x`ssoVsDl}he?tG5 z+k&p&=cQ&wU(nd*T=V{Ay4jit!79}s1gvB#A~vOKe1zh%p=O_v~*^%ZMIa1p1VJmu|;vWJr|D+ip| zGvB}Kv&{4U`2nF}a#fu637})t-dg`l+mh9*pHJ;8 zcLOI7Nhe4GIU(}$)vL)~`CSf*{{1@@XL=ni>sx<*#>V8oyDqGLQT;8lb#3?lzt3gN zUVXCtVf6CXrY{$do2`v{+5>I@8MQ!C>IBEIy2LuRiG{s9Pe`dExhmQ*(n)m%k}60efa9binF_j`a0) zQ6FBu;t=^Xdv#vlTY>DXtY_1vU0ZT_p}5hHu8k+JnEz3#-T$~>Tkod+7rvT*58F?t z+rN&1c%}>LnZk8D-X0fR@n}Y0?Ch;?C2lL`MQnWZ*Z#ld7p!)Jr|V+mdg8m)mX4)OzOk&lZdGg$JK#ita9JjXQc^ z;`C=GIX_D4Ur%@+A8=t$4t zs^9O+SBd`go%O}O{>SxSQx}!Jt(spJ^`bR=>Qwz1Mpq*teIf;D5))o}`K9pxf@Bu1 znWn$ePlkl$JpXa5nLq#M>suFATRb>pJnPNnclZDQR7^g;Y}01v^}oJKet#RW{~Vez z&TH$c15LOrKkT@iY<;98^ywkZV5jv;GpE{q*mU~eS^2#C`|FQ0wztK7>ihco-WsfB!!%@4ajj-~WT6 zf-`R2xx^Wo`m|306rKvk(A+;W`}6&OR@GO33u-*!|Nrx~#reXzmp@8MOJ9WY$QfJB z^s4=O{)^?`EoyIXx5vG_rRp7aZtm+p;N$`Ct6r?D`R%V9aCE^o+31oNGPf1;qW1pU z8|mL3=epT%u9u(HN9{U={hpKmiPz|VF}i&9W#!}J)|DVdBNXU7O|}PQNGF z=oI(wQ{=E_O{}h-yhY@>i!hI2>oJN8!`FY+iYDmp-#o{ zn28>2|EE@)#9aZ`vM$gXPN2c`{XV%~CqAo(XKwHr#>U##|7p3f+GE)!K55fc*OIO; z?$5iuy!^$|+^DUu_D1?!=YoUaj5;I;S`sgucXM0NRlUDD(ebg`M%hQ|>-X==dZ@iH z{9@*V20r%h|BuIS{#3-?yGMoTa^=gu`^#6amNf;L;qXitQl}i+kb3u)|Kj}*pPOfe%2c_^@BQ;>dH&v~bHL%yqyTXR%VTrl zI?+b0Ut6=TZ%V#?gRk)Q^7;Gz-bh{;esPQQ@p;SVTw37R?6$Ux-{$j~3#V6Vt)F3E zxJVe>T;PCKumU|@o8~^ZlW3js%=`L(yK}`gxwpQ=&Ngd}JKE6g{=`&I%BZX)EH3ZG zR-MWZ2jA95KW_oM!3o+*Zh7){|Cuf~#n|8coo@xS%imXhUANnLz0&p#ACAQT+4FhA zgXcSH|Nb(U+j0LUIA624KuTQ>PhYFrH*f7b9TffJzD*7(^UHa@-+!Ly$Id% z_Od$D<_L?-pwP&jo55WUjt)rd3(VMh`hJ(2BKzEmu$=aY$$sZ$!=r+OAJ?smpTGC> zyLSD3OZdS79l-+W>U`kY@$L~vh~e8QpSinc9V_douMYpRZQj)-mp^+Qy#Vq}!w2ZZ zz{8v0e%?Q(KU2QZ>0ia&_m6CjvkI$+O`W=X{_E4#{`Q;y{r&zGq=A8>59*jDp5=ed zm_pxN-;%o8?{1Ry5m{+7oyr%A=EZw8?r(g2b@%&A>>$@DxIk;G30kL5pW9bo!@^bh zahLTYo8#v1=5MUMdn41V3bq!&>U;6sXp`Jq?{uS~woQcEwyHe7#!9NS#QMvL8+;pA z?MZq#H~8+E(wxt;uIAhSTVe;YiJ=iXnBx>09Blk$o4osi3F>+~&8E&3zHM0tE@NwN z|BadctbhK5b?cz63xK-rfL-jzvdYp@7Ot1&mn=8RCi(iF-E-;Etdd)QW6bU5+1G!~ z?*0M^f$2~;Z980F<;k*Y$MYwjrOYw~Z!6~gc+mWG^Za7t>y0I$Pn$d^Lp98TX?QDr z{eRNI`N{z&n(g;0pDT{3cs^Iux_sCC@7q-QZTCD~pAGdkOvj#?#>dasu`T1S=r^_rpohfizmEe?(2Iia5;1;x4M6s@q5+R)AnvpIwu2B ztmFVmv>i>eX3bjs@AoVYkxxI4+MhXfuJ^4>__^8J(=H}`|2(hW;nK^UkG-<9vbKQJ zdItlvxKp~eHfG<}MK(;WU;dw~ES&fF&&S7?uZF&RZkzq{>!z(d!^d)&!akFB*RN z<*giWG**4i-4&VLH~0!Kzqu0#!f~8gV6W?(8bOGUvEb zz=_ND^97z;?yLH~Wm9hS-SgF_vM(=te`|-QJjmY-C!no!rPPDT-`y5;P5a4vyX39p zZN+K%_xEMo+MD;xHtF@Pt@-xfW1@KU6i&J*E~O| zZocl%jlX~1o|O%cij7`pm({PXkOGxu*SDZP5SUSc^!!xxx_E$<$G zH-7`Fi1_Tj{;@b;c<%@2)u~h8J~=M!N_^eu9SM&B~w{2ew-p?50ZNcPU! z+VfUmd+oQIm)zwFjq90rZ_kM=d0zt2p#<$#b}WmHHjn-D##vC~$<5hn$13|kjq2>j zYTrL!-&$~LO4nR#NLuYsfkyQvG26;`mQ@+kX5Zfyz5WK@#-i`*!r#q$mG&>ntmebP zPdCrMgv4AZH0Dx5!$bLYzuv|nV)Wd7yP8nvjdO*dM4?}Q|L>ptRV!D{43CPM?3WEL z1O-APqd?Kfu<`05=jUR-OMbHLpRsP;DvjG)-MwJ0Zj*Q#CD9{uW9 z7Mip7<*azyU*8tlUjBTlYt^SudpDje*|jU_`?>s|iq_`!`x4K(|KAe?E=Q|=$-nC; z=K6CVG|*AM>q{;)G;}U5be0E?>o!PurKaw;{l{6W!2I?9!w<2yw_S;{`S$DeZu#OZ z&uX@=+VttSTg;Z^zgBC(?o`r&jEM>O|Mjzr7Czzg{r?yK_?Q@r%A(ZBna^srUVs04 z@fTx|T7gPPhzPjJ!qcwS#(?Nx0{pN)1m1f zu4nT9*Ji#7llOjjd|yqdGpgHLt|H;L)q3-P_GjlCY}~cT37Y&NwQs|X%zNvC_lLdx z(#Uf?`N4%K?a-&9+{=9~&eY#pc5>3x&(EN-#13_nb#cDTdd`%6?(Q*j=gtn#{@5)3 z@6*dmOJ@ap@7e`Q){x9%2(1=BUfTHm;4B9Xw%YGa`g-SN!)LAY%RXmc{k#*DUm_rG znE}a)4HBMelk0yS^!??ap~hpoc7to-+N0;~{}lXulWzK4{?xYI=#uweEXoz8PJIg= zI%$Z2bW0l~UK*FoP!pIoJ%8Wl?(X$>EVm{-_dEM@cli5Vt8;E&yD=^PPUU{_I_tyW z)(gW%XihGiIQe?Pv6<6fF(;n%U3%-g)rxD6-swh*{r_lpHuJ)QgUdo!->d#L^TxFK z9xDGn#c$t!CjZ8^>U?u>x;@ekDaMZ+-MV=FWfmtB@KDFC`)T{Xo>&}h_jC2LJtfEA zU%q;EqwfBc51jS?56_YRcV0YS2o%K%t7@ddGX)zj>~MYkP__1Jqr+FbU)Ed0E`?70 ztnSxS8EsedajF0PD(!7g)1N*$x90)-{~y`&7yEx*0@Cl`1IhXhI(t5?-fhxYU|aC* z=}y+(EZuccI|{yLcPHJRyy{aI>tyw#Ki66OKcxNt=lbvSYa{Cth55llsYe^wf05m(yy*F)v|Q_JQFr#FeYN(t5j~uj1L}aX%XfYL`(bJR*7xCe)`c#A zCkO6>ci2D*iH;rfoc*q_EK0n0UcIL90-Vp-VSUEB3C zmhih=QnvqnSX>-BwEp%`{O;%T?nZAvTK3NO_7?kn!Tt50+n?XHxHuVHCkLuR8qXKM zJSyFPnPt%`=fuF->uj@i^M1eCY@U9ur{L=Bu=RD%PevBb`~7FOTJ75T?=R(VXa^U+ zuxdeR#qEXeSxgtdLFVeBy4T+~Pkw%^H&D0o-;a+kU#+^~x92ird)?jm%2%IWZ`xFB zs{@Jw0b6KkVtO*TC^5<1dw${C+pn27Zu&57W&9?K zO0U$&NEfa-HcN}Xzq@g6yKDQoyR%IGPm}-jCe&O#SQCvvDL`Eudg{|bC6)PdJzQ_^Md|0F~(Z{a( zss5M78?TH@BGyiQ)z!s1S*yTGwcDNa*WPVpFO##eXfw7gxxrffjoDg6Z0p-= zr=c+i?d}~seNunN|2L<!eUi0y(trDa`<#Bp zJsq{;oV!bx7+9z4*ZydJ-g{0r<4Gbo<1bj+)zwuBVlo`s`r{k>3_e2|?zHeAcvdi{nEk6F2u><_vqeY{oge|z=x7h#va`xpO*8dm_F zF=Sbj`~C0cN&B8Q|9^k-bls$1hfX(7xBK;Dn!g?A-YtLo?DvKC%T1i0uwL2!-tFlY z%aX58lighfDNkemWrIVHC|DKg(I=`^d(;So*sDJ)|rvfDFqxtngx!U(Wf#wS0a_-r{AtS-R`$o?bOwzgMg( zb8Yq4S4BS_3eLMLs$3tFe*Kl*gA7P&X7PfgsirAY=URVmTK$D_-<8Yu|0jL7Juhpo z7#k~EmD%jpf9llf-X~YOx^DNqDbAQ1`|e|R{fxQO-$Q~_01>23#V<0&>$Yd>*EZ;1 zHL!lZ@o9eE{VfmYi=W<>cUD&?=kDh83rnAxBZT%CjGD7(6@fa!WB2I z^Y=Zf1Vv241Lz!F%kl*)ZeDqO{u28SuHw3qY^8}Sw(fW_FLSqfKHuIgb%)!{vqZN} zpIvfefBoI~FKv#;#YDG%g=F#qX#HT*e=lGa=Lh|-GDS&ir*_5ej+1P!AKssRq&56n)Jo6g&!me1g})r z|J`YK;JVTOWuEbyEb5#>BP(Al<=vB$QWh6?LDeMx`pb@5tLwkb-dXD2F1*gVvdHy*@p;}|Ej!Ko&QF+YQ~y~6(l%*< z4rU*kaC<|+uk!ut`9JX5*nVqE(F)D}2pQ4T`*P{mykft^!omf!-`}eDc$Txwzy5C=e!q7 zORayc*jD?CW&7KI>hote?zVbxBT)|AI66@S^?L)Wx&K9$AJf$0tFzZmoi%IL&d0~D zF1fsLy4jPijhzePVq*fXyqOo=mj2+_JL|`nnvVHGJTT!QH1S<7eR0)a_`&Vh;dj=h z9>0|zbbmwA(ci_-TH>O**TsIf{&%Cn?9U6{rINe1SJ!>o54FAkV*P}RLMNYW4!^sG ze}ns;lE3fw@7R%W=}A}YZYTZR2TPTUxwx8cWUa2X>c-o*_xJ3$y6-Neq?~XP z>VU;x?Ovt$HrRq%3D=@-?ydYh>Gym7z3V_zsJ!xWN5bO&oP2Lo-`?qR2$FClq3c_X z!u{$FGC%LR#(txD-i{}?*1WkB)tztiiO1P4o|$w| z9ojBShL%Ooe*J3=&tiI0$X@?^Pn7n{Ri|2mm$k%&8);WRI5BbNp2KVA+;QJmUn+2R zPUS)VqEFJ$bZ4w;Rq|pnxQWbA@GAe`^4kCZ7KVR(veo`y%Ew1%?%d`)eEd$`6U~Js zMaMR&ZvXTC>pZaH6At$v%?buyDU%F?e9*Kgd^kGw!7;Ac+qpFU-dW(-{7|)a_SUyA zc7oDK0}ph{6|8GR=G9f-(`;p{M9*54YFWNK!gJ@w>Fqwe>t=qgvpZPK$iQ&mfAVv? z$4ge7-_Q8|j9FEMU>+ zwZZ!NnbN&R`{!B~zk6RRAKz2X)*zAsJw5YZ z;;RFVOI>d_$GI-Qop*k1xc<_-l}{(WEe`%vzViR_!+w^hK`vroSgE!-@$j=Ckarjw zdU|?JZQ4|knmRk!kF!Md=GH9N&6~o{&X}n5UAWV2xs9d5g2cG`qUZbG@0II6ZX*lQ zHNol+bkX*o%XRryt~x9)%xVh(DEZ&zq47L5kJ3w(?LdE8}M@J309k2KzbQk{1;za zdv4eNe|z`)rIq=Wt-VuQoqzGnnKxFY`_5@^ui5zM?tM^CBO}8!+O+stmu4`(-P+&< zt1X^q5k@-C)HEa(%FAIzPMR?M7I2R@>J7O=H6M`_dI;Tr#PdXQTcbJ2FQg9 zr7qx=Xbderulr>A-(Ass5vrrF6JwaWEAQHrx2wa?OWRt#2sOzo{;<*hPa^L!B$I88HsX{J&URYHObC7p-UeK0ezP8viQo z>?#e-c~%7h7gnEG8~=Ywbl$pu=X>22C%>;YVM#7{`rx^?m$wZc$S)Iuph5C5aChM1 zKJ&X0U$nfo<<9~i21 ziH9lFAs;N>p0h4`eU-aPbn@^05&N>I=Phe;v5A{7eY%GVQ>?3r@#f<1@2>vr-1^E? zqUfitqC~^ze?K-aCneAaJPaO?3@iO!y;7i*I@CvREb*3aTK|GslN zu3vQ3Q(d;`SLW4kg@5b6=5R#qUz73r)>3X;aKB+f6Vx|~7ni2@XQVyY|9Q?0ZGFN1 z*J)mwZ!Rz2v_a%Es2arR-K@u6Fjf+mOoftM2S$TVC*5%Oz^iXpxX9ytngy z=6$;tp*lZ5EH<5AvuO6pwBv2Oo89|(sziDBf1dkTfBzaOyNpNgKRaFcGW)(<(4N}W z4?&UBa0Qw}Irgl%Gw1TVJ;pCWL#9pje|JCLJoxgOhlk7ZBILhl`R#l<&B}Myo9q1+ zdoGtdU;4Oly<{~gQamD|L3+UYXWP23v(5RdL^r$l+}K#RH*eXpQ=2}W)aT=<616OS zHK*#d?(g@%W=7u3zx%OUV9W1GcK%0_ryi37851;(6*6&s0>=y|nJ(i?5p^TiGBc%!HY6?oC~O*xEY_ z!UJz?&v(sSnYV0{i&Ef(>C-!oGsn8BNZD?_ZTtK2sZuF3$%2QbiWw!(-FMF{1G&PZ z5b7C*?7}~Vxw}g^t3+Rm=|udxczoB)UuJrdn=0=7c3i*cX{Y+Ow|6S%$CtfHu64ff zD6u;&KXUJ-6`+9}hpx?#@`NSS#JK9)-|y~96CJ`Qb{toK_Ec4flb5&Ur2f8$xEPr) zTIcp`k52PDXSXNevva@Ag0i~;U%vO(&NF!ea?6BY(DdP0dPa4+N$z#M7oj?G=6Q!7 z`Ij1Ncx}s@Ync;qVRgoZMMpWqV|T7!C)Vj=_v>r1V#Yhu!=F!kmq`|ZjPa<2ddcC` z+W7xhqVu_{L`7AP2D9;8IGZrj_|w%vE-gFE=D0rT*Msmb^Zbiv6FS4geBNExe-WB;eO>LXx8-mCmToF4 zir@copTL%{)&Jj%cUIh~0Edb~L<4w!tZ8}S?B@R6Z`vK#C;gsfI)Bg4WqE8DH#Id) zHBMvM+qGEl$G=8**`3qHUsiqotC;a(+NMdS^Us>!0Qp5g1nQRuFYhd_HZj(I5i0WJ z>2WQs65|DGPoEx7-smu0pwn&lmp6i)F8jWUzB14LcRKhyr=z+4pTD+l;BuAe2sG~+ zw9l(dn;mS$wzo?^{p_!#PbqhK*6C`8>BxM(z978tg5hzwZ+AEE|9X45ouvWG+C8~% zR$Fh+Gr9zJhyv6h3Y}@G^9%hS)UP&`>lS_T{B_y|UrB=%TQaIIthQJjy?ss8&ijvg zb^EOpWoqXbrtL@sg+W6Cw8mjM*?B$Y>Wa|Q3&IWmuib90AH8n2WB9h@<6ow;v+wPy zVwWj+bTz#Ga=GiGi~MpGS}eYMw%iZi*j03x2jq%_Nzj<-xz#H@zveKn zX^RzGGIr;+IopWopE%E7B^tTYa{2wr-`DGF{nqX}ynd%O%UkQ$o%7Pb%L1EDKtqy; zU8eBJ#OL$nzi4e+6R|PjjKp1@$@=MMqv9eYzG(5;zuzNvT>iUh{GayuHeyZ3dgFJN zTt1b`hH41IM2{zHsk5pV}y^hb6QZ{`v_Op3-TNFY^!SKy07`@xK=N( zx`bobx6RM%vP(d{D}@Ene8O08}0NZX7t6%v#lr8l=`&#${a*Kxg4T%_U7c>B9Nt6w^| ziRIrD`l98x`}Mgux3>O2&CO@IFxcXk>HEXmdBF>bSf)b@pR1*BZf(uGyv%WZ(zg@W zx7F^9GC#a((UOW&4UCTK7sYK(Q;)5`TmLKD#Q5`FIsWzqk>Yzk?5?oM%K&?22h=N? zYaP4A)MH9hFRa$MxvTWrhKIW(^SY1s-rn%z@`CV-4`*e+lE3mt`+vzL*Xu0{e5Zc= zv5Iwb4|vTl%Pgo%md>rr-+pG!oCV>AJL~^{dX#jRXS<6{+y!g)Jqt9aSttAaUhUHQ3i_Zclv!eW^VHKTOvn+pqbpPzGFpY(W=YWMyB4(68+-m3gO zz3xll0`Crx>gBRH&}byHVYT3Xr5i^?xTRfIY_ z_g1MsD&+MQZmsjKkoo|Udb4Ide*`_V;xEa;jPD4C2DP!Gvo8E>|HbG zO{@8FahAUw=LKH%M;}4KBh&X-W`u$vh%8dP3VN0 zuyu>|>owP8t=aZ=fto6IiA{OSHv4){*ON2X6WAUV7-Um=VZo~B^}i2yD`p(&UCbsb zo@+b-WQ2ekwAd4wG;?xs+V(uh^-6;M{%@{oPxQ#hm^J&(|D&H`cL)8qTh1>T1&Y;& zj&J+&W=xiD(mPZ6pLa2MhC(qJ8Xk(W>-H}D=Xka`?&zWN`*(lbOyA{sa$Bx(oaC%W z=8;><-m2%Ttmkl7n#f=OGlwIppzvSv$A~i;;AlMoi&odYX=nX*{rj~bJTNZCCilYW zT_^L3?^hJxUZo%WlTZEYJK@zUJgjWKy^(KG{;zaH;{j|fz|-Po5>6mbamYhc>MD!J z^LB5}zRFc4dO5ysXT@o;yD8f%Qe6}8@6)WVUj6(`WLUt2k{NTOv!C$VItl!n$$vkY z37l=Gz_RVb1<8H3Z|)Q~#~uB4b@lV!I&brz;itK|!+mDYYcikKaa{fD&#tF$s`Kg% zST@?*7azK|b#)K8N!c<95<3f?xh}e>XIt%}G;x8r(Z=w&HH(~_J&iQ?m)nHR%qrjd zVQ#s3-M7d~iOp&3rSA*UIE>_feBx#U&)*(81<5Y~pZj(_XkzZSGI|lZW|n2~(JL!= zd4@)Zubc7zT72-UX}mVZ$a!2JxPJ*nQ85?3$w=W)N)&2`Th+|&?Af+i2C zvR7-(uV>y;c@bJ;lyzmA{=N&o|0ZvewO+Ho=#`q+jVKtqM7S?uKNDl-I{#w-j|=7LUv5{{JA$- zRMfLwz3zXPK+B%0@Qb%pxp}2QaoRE)8k%aQFK;RvTU);f^{ITh^wJ`wyHECaAAiL9 z^QUQ@^y>8Uad8ndN@hfF|93(Du3*yy{rWA-J;C8{0osVWGUJ-8wcMSR!53EF_;ggf z`=0FT*)_5tonZk1&E_BGPunoR{=-UvBh|01oy&7?r!YNBx<~Y|id-iPbkH7n5_AJAa7wgW>Uj4s#`TjpeC$Fvb zY=7(bPNpwp`q^12Tfk26g*o9sX8FB|(d*+bte#<8lyY%b>8_LJp@Bh0Uzbi__0xI# z`bgvaFVUXu7tgHOfA8~b0he1pFXlZ1&+J`lhepIMQ|mVy7VGUWcoF*M&X&w;9|U)u z+`hTu&hOXay6evQ>zp{<9U7t{Tej!NE`b)ys+WIsSBFc1Dnn|*KB*KRRAN&7hSo6@hv^j6H%>^lBP`17Y#^ZIL6gmWbADRX(h>CxO{ z;4=JD7t|ZSQl37WQ}!IxJecSq@@3V&`|nhbsC|DO9~iZ3zkTY%8K6eoypoCs3*EQm zUa(-1Joo>HY%{p;`SKVvS=ajQTbTX#8K~S_{(k@dyo*YAQ{KM?2g<|WUzJaly_sS5 z;_0gA^8bJR6kz%B_j%pqj^n&SpeR`)4K1roSJpphRFA7Iy|8+PhUUyqkGyxC+-LOr z>O|{nYwy=zpKn)DaPr%tC5IQEx3Oor_;!WH|DuaB%3yb7LYr*?zVLpMVeyL%v9rxz ztNr!@rH}age@i~*t`0jZ{kQB=Vp!Qb>Fs|^ST4@}ej)Z5sLRN3X)-i8thQME+p#Tn z7t7wRMWwHw?fJJWZ&SYR-yiQ+KR9F9qs|6APw_Xiwq!3{YcQ&V`k>}^xr(N~tm(|qTwnEi%-w%z}li#N)@KV*Hp zF~Tvf?&{}$x%cu-JJ!`L4NrBQxe=5y8n#ST1=T1FKm7S@KAm9Zv;XsYzn$Fb6&iYf zugQzAUb9B$Zuj=^DdAJGA5rpPqt3mm$;@GU^k*@^I<(n{{d1!G*7s z2K%?|{`X|I=3ZU3cmKI9j?G@%#8qYGzTfRumC>pH^-h&{*47E2@{b_|+92NNv^VXn zRZR6-nH#yk9vlq4?wL5h`?wZ&)%Sa+yK|y<7X7=OJc+M3>w4waUDc{G7V>u2+`-j+ zz*I;Y`N5Tbr?|XqZB&thvU2k4Q=*^U_Up2*I^Lxj9PT%Jn|b(*8TYN_R{L1}aov9Z zlv&5Cl+^83zg#Rq-f$3tB=-q#p!Mq019_A8Wz7}&Hovplut{$>X^3>xa8Ves#4;C=i3KQFqUZ0zajsYpG##IE*< z!`IoMOt$Uq{V%bf-S%&N+O0o{kKgW}NG03d6R&qazp_pnoL6ofhGhFc!DVl6&3(7S zneWZFld~6ZTl*`BFJ%9wxz@{hrGA{fw<-B}kK%e2S+~U(H-5L(Ixn!}_qF*Pprpa@ zZ3CoA{(og-_Vr!9vrmCsF)8=ER4R z&-SgaOe>ytMXO3mO_qDB4K6osoP~Pi@XYUJr_Y?6$Sf%-2_E%&XKNX-Iqdw*&p%r_ zI|Ezx6-Y@Hj6!Td2+r_Ju<9$_xZV^gzcSsKRw#GLuN%` zYwfQir%wO>oxN{{P3qAtFFo6Rqh+g#K2Kxfnfd))y^Yk@c<=xXv_?xwaWP&zxBANj z=H0qKUpzLQU!%kx1OwR-{Rv0`a}I*U0(j`=aKu*J@u#b*}peZ1f{12NRm8Z z@obX!tgYGF>_$dLTBlE`e}Ave9(4RnqH}r9jSutx{W`hg;_a}tURE}Lu55lP7It|3 zKJD#(w%~L%;Tgmi6W$fQzH0sT+U+L?^1#Dgd3$9%WT!4o4QA*0bIN|InCRJ>)Qn4s zX<^@@%l`%CDSkWhx1S3X4h<&h;0AC*N%^U>=GXIXIPj&Uq`bMaqww46^`{y`KHp@Q zUo&_Af>%GUG%|a4cTM86{`Y~cv-S4T-2S{vn|ftHKJiG0REi$iy|=bl{_8sZoL2+EsCJs}T3zruN_9gw;@z264!i zYfFFcy?92)a>B%k8}lAEsmj->um@c}cHZuH&YvIkwlk;9m+wD1DbDQM#(kT-gmbOu z=z&wjCFq#lrRxXhT5Yxb8Uiw4V#jgrPoIQ4TQoc(TWfz$6&HX1@A=c#R_*2IJ*pfb z<6NESdR{c>?Up`A0P=JO^5%HJ&FiFOvc5}S! z&f2f9{M~x*ZF_ZkiM?#`wboCb=FWQimzMo?1Giiicp=$CLH26ijRlX-nxAaEo3_Vj zO~q$1%L%`dL`8+;etZVy&$;POpX{r9{P&Zm^WVCUJpv&6J)EI&;XXHSzw-7tTTn0r zZYg_v=X(5fX2*?1$9gu+wVuqke%Hd?DVHvvJR2={VcA?rG@3)TT7&wAFXUrX*vqs} zyq8_QVgmEQ(EX90@6RvXCv)lA{rd0X;1oO|51RbStjhPB&zh+TO2T31=k2Yzq+%(M zG5NoN14rh&4SlgKAeX_KJq}fwYDh9?>69b)Ed1(aUQOn0%d+ZZ0F zG*Q5{YS!mluW#>*(PeMao;A~Q+jHfjg#M?+%b^()(nW6AvN`Wz(^C0bopzIuO{K5T zBpzNpPrmY)>LEo9zg-`)6gRj(cYh}cZoa@;buU+J$iLrpDadlk?34Q6^zU!ge)*w= zJ72Ce`@7p&{)zl6*O%>WYu4W#$@k{lr$3U>*VasegfFyJ_%h@9vEJf1Sn+i`( zI{Mho!|Kebm9~G}ucxM@h}g~3R|>j+dVg&k$D5Ba|Cgg>z*(kAKl;ADemX%-sMEzU zE>20#-)jDcHydpK*LbuSv$$$yU;B08@hr3H%)4W)7nN6@)PtnCdC&k|rgi$%@;yHm z$y_>eiQhiv^T|C+4zsau%bGHK_w)LF)$h+M3&zi!v`fuq3MfAQf3yZy)C##j%|M;# zhA&&69PVGGcT~u3YU?eBUSIlmnS~SyT1zpugO|Q`gVe<+WV!FkK#3wpifC z<2U#3>q1J;Igr}u(%mQG@jCandh;cQ-dOIRni+X1vAz5K5B>biYriyhPPBSumhTS0>*P{@Zdu?(uyY4Y1u1Uo%J+$5q$fp1%62fKg{f4QLceX<~`p=kx3Tp8qaa z_v1y6F39BDR7#LE9~41#r6v;Ad`Ss zKcDP>UVm2G=I7+)M?KD3JzLY=azO66?dQ#_>@&fG9511BZ+{Li+4HADN3FeJhFM0z z$7#Br?d}tng&!FH<#o2qWZCx&NBRBTrxvkz}r$A)`Lm9Md|9?a3 z(Jt2HV5_FIGKIuKx2%IyU{K5!r1WybYhU~SV$-c&d=P%(`8E5(n+5ad)J&7P@pjwB_3!TN@&t$4 z254va$MQ>y7QJl#`yzkC+F6#LyH5s#ThPCArx))#de!dF&tRpczkDl;8U$`6ADi(I zoW_wFqkp#FySJxirwo&pT(|G3_px7V&T%X6|7zNA{axx{(A+55r{%|gE6wjwp->gT5W|10&^+q{`r_h@O=oQi)> zof7&t|1a1Nt`-+)L2||iQLay)l0-#|IHs*+W}70G>u+VVi3o3FdOBWWeLOh%XhiJuHhmJ`$T_eK0Tx7)LQqQ{rJ)%E-Q*V(^a z`Ohh>zWUq2;Tbzy554fJo89`StRhE=m{k|8wi? zEPd^6q;&t++pVvz{=fFV*Ttylwb_mC?e5=}b^2ysx7>5G@&AwO*Jm?#cW^bU4f8~2aYG-lb*JIHmFKJQ1?_EJeRJJpyk!|{p!+F<)ZUH zES6`roe<&bnz;X8==twIzZJW=9pk*ezwq7f^%73sb~^i8=*qPA)F(IOF@X&E9UTHL z1}1E~_5Vee+uCUMyH6sO|70jo81)Wdh*)Z&F%c_tKvRf;QswmSl!n8%!dv6rF)+2 zDiHbf^2z>}Y9QMKcp<6LVV2e3b=JkNuJKlhPX6^xTVK!5%4W^w*5B`iUq63hl2^Fm zXJY(H&|psY?zROJis#oEO!UYAuWEoBVU<;OBhfv!!12QB8$WKQ&;P6YQ#^g~%*g!v zh5zgR-tp{zCaL&s>O}spT#lmN+j8T+|5UmQ_WCMlUi7e@=&{86{Je=78}`fjs0ayv z{v`CV;?mE__LaM&?DoF(d@iN(?OtQM%*Abvj|D`E{>s0*?hEq8f?LqSU`z3j%ICGq z|9*5_|L8KmU4(Uh-KE5}zk2m;KfTEM@x}0Noml6Ox~Y4=e$1c8?Urm@$}+azJyty;~-ml97B1N9_ z)gNv2;svM4RWLJ@zw+hOJqitH-P<)+`r7%*zh759umAtm_-c*%=6@!40zST-Q+V|3 zLyeT1Yn-6gLnqrklw+&z%nsEy2hGHOU#Fw%ZDsRkOLx|jv{_p%Z^eA{y_#Q@F#mn5 zV3U)T{ViW}kY^iSK{`MTmt0Tt$=)h^DfC4P+Is|#A#TsxzuxU#`l0vpOrvUobS}0a{1OB+$~j_ z{XHXXn&jix9WF}szi(bv)Od1BaPR4^@+?RKgc9zIsuhyEg?(Kr~-a z@?&-NvxDh9lJUn2pSL{ue&~7qpFT+DGd&7v$+pBVzn#DO>Vm`zt7q6%6r9}l*0cTW z?QQ<8)w^G8P=0NalXmIH`y$A|igUn;@AH5AD#=|3A6T?t88q!p$Syjecsx$%hy2{T z+lrp<3Cs_*{r@8T|8%8ti^nq$w)Oshx4itX7E9Z4+)!+ z35mDIQ0H4*wSLerdEI`y7ok&fZkr{a&<;Jn{Qvy}Q}#Z;=+9?R_h+@R{thFV)*7>~ z$`F?aH9|ve`Q`Wftapd4T@Y^gbSY!1b-9{s-SZQDD{Icbl`>s-f6Y?Pl&MD>+*B1e%^2UBckj6&nxP`rJc%N z|Lsn93OIV^>uU3L5v#!EK3sRAFld3p3qjCusfXkGJrz3hN-EA+hO<6;7A;%8D{x8X zYG-TND^@J6cm5uq{~BE4POyUd`i4yHMOSvY(v%CUBYu6nAAWxB?2;KXr~du*bvyf` zfA{zQS6qDJ$o=Q73%aD;d3A1Xgl5<)klqx7lj?H6xqjR4N`2ANI(>@!_t&*m|NhCh zv#sb7t}p0r^hs}@TNGx&HS_bo*^r#NL&UrP^MHTv8-@tBcq>7FOQ3Pd*5yc2;&SuZro`t`sGopo>5$-lqC zr%Y3m-DdS{io&%?vb|<`g)2__n1hB#el)*!3OMnS|L#gikaIytmlX?7yj;HB^6Qla z;Tu82Bae@V+t&YA?`PYx2votGD=~g{(N1y2qn|T{x2=y~jH)?N;Or^8&C%NzfR+G( zM@C#O{p=LKEA(R5t+GG!1byYt^4oq|VD;50;KYK1_1D0ai-IYnao=EI@o<&4^wvDl zFIr;#)%AZD9rbLFwA|VrTbR4xwN&wU=7}Bp$(N71@2}Hi361&dwf@tjB&gpfzrO=2 zZ52LbndjZv_!_i0WYLn8Qw`Hs&9g83FRb|DVr{uyO2FlVhOv4a?uy*%eODoNr$X&M zVEy>r?jmsYY~04DdvDLuS3iTD{|Pn8m0B+iUR%X`Hfu*JXgK6@Kd5|~_p?%I;stQ| zqyRG_!5Xyc!sh><1>ukZk^4VR+2_XpceSuGeeHj^H+x5Hsq=S%kc}HtuFq2CE&(ri z_DF>ciYOdVn&>fI&Q|H-f%=Q)E6e9cRQ|00mHqqoIxhG9vt*05EaYAN>+G!m|9U<< z2b?(Ce`hr$_y(No8gI|CDuV>QUSK(!x!3zCX@xZZlh> z_CL{qW7UqYb01o7&$|Q(fTPd=Sa51x?C&qT-|Ed7^-b(dWD2r4YA6S6eBpuqt~SwLSClg7A$6XKv4)uKV9={hkfiCo8_V zwPN<})U>o&_Y68+7K6s_6*Zo;*Us+=ostbMqG0R392875Eop%w`Ewn*xclDzcc~4BpZqAUm*{h{n;*FV;&bR4s|JTxcNSNt`T1Q~J;N*`;N-VO z>;M0{Tz6fUXK!|K!Q8g9X9_HyTv=uPXjZjTz==rzFIOP`)_|50AGTP%T;hD*Lit5# zPVCO4f47tOU5xHBTXQEcPOgdXTt(UjL%w$Rcl8!5p*`^%L2G#+xt*mIn%!n(q@_KV zyXzd_;TTtE6ZX^he(5vj>+OsCb@}X18nDMghhP*no}{1u9|kGk8K5(CjKzPRPB*pv za$!OE#yuMfo_>+M|EPEBQ&sbxDpQtPng5^Fd5SOiR;`KWSheHd)_clrXyvRB0S(3klkDs7UUb(9Kvt<5mfVPodvdz<^5Kh@zyG&5lE8k^Q#?+# zN$XMPkyWglA!(mO23lZB%&q>`k;eAVdhf}J6*Ue_Vv}({A-tT z*uB?Q@v_C26?1S|J}xhR1qlTgXx@?Fvwyx@*WW_%MQBdcu9A;CzJEWtv@9p~_tU;b z0wrayCjad%-@xrM~(f*MRH@Hxkmt+_!&-|I&1m&-EQZA6G!4IJ1c79W8W@{ zzbDf7Z(HX5n-kbwH(zU?SK!bsAY$~dml2u(ra%)w!{l|l_tkxV=D7aR=8y90em*WZs%J^%Ody5fsZ7f!D`voiGhmgSp3LpkMtY*Eh%JDk&QtK+Aj0 zwMRc52Q_aNgl{ZX=(M@louh;JLfFxiC z=&-^{?OBqxzyJMKp6GFbTl3B3<%_nI{EyxLSU-=~{kU}P^0^!ReM_ayYF{48b_zIQ z3eSBnpvmTy)w4(4v$t{oaeK3im3vy`Z&B7lAUs z&$o(4Z*PZ2eF-$`UBOM#-0kdpyIgGS4E6OVdc1khzw6;c>%$knmo1-@|0CG<^EP+W zlWS$0oYH!0p_RMPmF}+PfPZFRYIEa<5uitUiiYUZnfzx|*f+9KZfu-(4rw z`Qw>ctBcaa{<^Qr(fSll2d=*Wb&n==No}|MvBO)R6SCZtoo~&y{%DiL5Q|;^FVxn5 z;8@a^yemee&uQ9OEokv0qXS;>?w|!Ky}*k*eX1)xK0edE`m^(X?JIG`7yn9+&ka~z zm+bGTb>h^?+PBB%CH@FMwfHVH@9;uXPtmQicXysm>4U5={p=R{-QOrb!p>gC*x>ce zg>o$+1-EnUc^yR$i=DlFTrwD8v_W^Qfstttu?(b-IX9igYpVC~J`fEaXS>7#? z3$yQo2J;P*gPx?Bt^Z{rqip!~<#Zcyuxi-2nTM{Zs_Nw5U-@60^*?pG|9H~MVtd)T zs#uF zomCN+a6ihl_}Q`Zc9X$@v1FN!Ajq2zS+k519Cp92+g^5(${_Y~zdEz(P(|9CCHLj{8xpB=>#K0lUC0 zWpDRf%s&Y#L>Yo$BLlIZA?3I@rHLMQt$kF~o;_tv`u**Qe7tbqN{c0jEj`tx?SH?y zy#Mdn&rH9MfYyD8ih>8W8$uw{k_VL{QOPZx2OF1vGwyacBPY_Ce1xB;>U5& zV^8(_^U4#StS{sK4H`Q7w&y@xlx_LDO-)RY;DEIPSFT%7J|DCy@xw7K@6&4gEfgF) z`DDJ-Ka}X~UiWHZNzkU!*J~0F+v;pE7y9_)fBJK~!*AA{+S{0(X7o~Jf(sLqpa73T zkWxp82QU3qkm*L16*+2=p(RYwd(=k{AKy?E-@rAxh= zPtOtm!SSq5YG?iLGVoMhg93D8r^LP4#_744nSD8FuOF#qdwVgxeRA*9*RL;2SdTas@^^FW)7C%&Km)qBPeOHXSMkH8r)QSzS`xnAM@=|S-M;$y z_Qw*Plh6N;T0GTO+FYmZp=vv;-4w~c>{qT|f%qP_KeH)t=iZuoGYli|AG*@FdTLrL zHzXDgL5~n=j5J=F^7zfBH8xf6pPl8NKVQOE-CTdJq`P9Vy!5pU)wy2NMMSN2KJ+h@ zewEH6u>d?LA|L}z0sfhRg;rNDd^xZCGIUDbivE?8=kNdj&4SDF)e~dswK?(5RR zYG?h|$ohEx>Kj`kL9=EI3KozJnga7cK|JR}jj;Wfy_+`i8mGHmJ6U_%JoL&nw}2DT z<@Ue+9bI|!D6i?(bKHMouZmVb?~zyuv0n*l|D`qQZ6R-O-A(EDULLgc=-$O|o~V}B z>i0SM{eM*28}=>#zFqyDh<4V0>ux%?T?q?&1rELz59pTdkoZ{Bf~^F~n)>pRbmTcMKZ*>(KfErK_gsM%} ze0f!Su9y5P_Omr<0lBHEch3F^I?t}W;?b6K^4Zs4&T#8qeZMOE^dZ-C+<(q4+gWUW zZq`yrDCj{AxzQK8dfNVPuM}&KtTWA?w)d0Qm$`Q~)s)G!o~hbWzj*3@zEkO!GM}@~ zGR>amx75448Znn(p(wsrda~(>|v@+rNL@w5`L} z$Nl^DnvdHg`&!P+)B5kDcKbmhG6Ncs+h*1NPUDp;>)2QGb@%(c$PEgLb8R;4uJJuO zkArJw$#drS@pJCgJKSw#KF7@&9v^F3{UQL84=!**+F&21?Xf7lKFgH-Z+38L>E&PF zd_&atf1DltNaM+w_4lr1EZwyz>Dz{feB7Mo)i*j;-Q5lG0_^OsgWk(8y|?>YqBhxb zN4$0ZnHhg?pAx=$GQ|1sR%JG~fDv`W574L1Iw;s8*J@@vZ=kqRu z7fp3EKu(i6lJI)b(bf0so-5QPK0P;L4EpOYr8(Dv@bGOGgR*e#NXPz{jgJ# z@B7>Oq2Z8otOOV#5z%pEi(T!j)vNihZTEeD{l7w8bi}?N&wneeSmc}dP|$t;g^a?( zJu{`#&Xq)XEXehqzGkM8DQY zi|(!8xFkGq)xLX`ih)Km&s@1zYdo_j3{(<3$Uw_9xzERX)>haUZ@A$cP-raWPSZ#@%<@B zmv}xsJxzUEdu8R%_1}J!nmpZ8^EAo-d5zlz$@uRV;+lkXg0ulv@1LTlI4XVp?`uY`u4tx4N(*vaXPym4B6 z;v_Knd;uErLSJu-AV_AM8frTN4BlIn&=)=|7+$%(bDg%)3;<@UwHA+rttW? z`)XPbJAGO8{msnpZ#F|5F%jyB8*lDzO8vK^Q2t@_?`?U1Gvs@Y-8t@lBr^PbU~ibw z%M#DPK()z*aUHk6FfzYdwF+{wosu$S<(r_Ev|UYo<5^?e_~KI&Q2p%?|UKwFDB1^3YHWaQ1!srS7lY6?e1q^Y?GtVsg^A z`uRS4_n5m=e#_VYf3#&^?d$BUIpRsCTmA2sXst!neRX z+1y{P*^Ae2yxkgZ8nyDy#^if1F7j~)MwyqssxE#8sg_(kA;r-m)2A=@FAL_Cf1*Bp z&zDE%OtXb=uV{MK`Z#}w?k^+tJAWqsX?oTx_T2XOn}4}a`M4)~E|*$Xdt&hn%dft>zy8~UgPwU;me}`ucr2~o`C7j>Oe*X3vafGnZxER2Dy$Z^ zXFKFfI)yN3I^G=F%pM;8=C8WFaf-*+d$pap7ZcrOYD;#PacX|+n!Ic4%L_X%K6+Jt z|L&%Q#=}k~S>NC5OWQ$C_EJcK83L;OcqBgX*Cm`k#@nsFZ^jd`vwtohaJd@&ZTiCZ z@ipI9F2B5T%4a8;G+xP|&H2y<&Jk!jDmooky|(7&r~hyLmy3P(TP`JZd(OJ_m^lYl z_5ZqZvp1}4ef<6}Ps3%zls1%~o_17!4>T6dp|KdFHh12qFPCSQ{Q6tJrS8`k-py(1 zJ1y7${j!fG?C-Vp|33UXI{O;3{pcQ*C^||Nkrh(V=3V@-H}9$WG|Iz0rz`URG1JboI(2IIe8E9(Q|V(Nahr z6oNLcf^_B>Jj{RpeJ-Tb?#y*v{&?5Sc7M6LBZ+hSGq>!>e0Qhx^0G|6gDcmsoA>jK zF(mVGLeJ;%oandItE+34Y4*0_udhTW$N3j&d&yNCvH{f~&y@e(-yabbGH2EL>oSLo z%CD?g6$>rSg`j6&2&H`9Q@Q$n?e-<%fmT!fa)kZt{%5N_%!kxRzqjSZ8syD6CotiZ zto1W#@G*KGllH8OJ%0f_&FIm0C~WPk>@1<^I!DKYi|*-5HUEFP<@W!zA17?d`}}vI z^R1FsD=b+a_PWc({(LqY;`EabA;;-Y(DC%MH_yKI=4Lzl%tp6!|F%a<^Lv(F?P+8# zX;a9F-j;Lq$w`QoP9;cbq2hYGFV^q%AH&*=lq2T*?k)_X zbFjSDFYE5wU)MrIGx>IA{+m%)y*=k5xX$x{ovU1zUjNq2_s4QSo9EuWVW85~x@gL| z3C*jtwVw4D%>k9|69Ud|10AA?a%l2 z{?GdS`7?jmXKt=&k!@L^dT&GM>OY76e-{rotEsr#$lM3s?x+$RcYR&@3-Ce!fsIT5 z#$9aT&$w`B)A3(_%r-uiFTJ&V{m<9Im6er_;TzK*w_V(Rcb=c=jC7Eb6~cakQwW30 zn#UW}GY_$UZ+`cDOV)M8jZgEVccpx_e%}^%R4~^51HdN1%)lD zIdxw{=lWS3GyoUKfzTshA6gR#C1~WW@ zR(UQN?~)IjJdD5cdtY4VTHDDdr+m>mm149|yy&BBxrm6ER2tX{Bd8TQcK6=O`2M&a zd*!QeE}y;8#;4Quqj&vUyWMI1qQi#AYo5K1H-`jf3ZyV;ZQ0*< zM(3GA&WVM#7#b=}@-J3hF}?o!u%pS(clXtI{@JW3KY^TpP?`thi+*^AtCw{la%&p6VSFY;n@{cPjyb${2>2uk_JB6p! zeW9sB=8rch2p9x9`C|L>BLf!jv)`TZdSCp7J*i2j$x4sF) z_t1t}gNIN3jtF7Ci6{Gc{d3-e+GZ;>Ci}I=op80S3krzHm;oBgXyAYpzYK;J|K6N7 zd3eEclke?s?sBtld@5fPv$N>alMAae>c3n}k16hj#GVrLL@^e9ef|Ga=igb&-+ra% z{&(+^pMTk}gon4s9o=bOyWe+tUz;Sz?HqF<#e={e_xhjWz8Orh=XYpq+#3Gwj%E3m z7Z+A*CpsS*yf2_Jw_$76^^dRemcMcqu6VnAzh}|U&&PXi?q6&3Ma%E+tML9e z*UmzM*HIf0ybq&pWbaWknJIZTDmT_r9}>2Acia7J)n|!yjf;yr{->qz@!={^q z`vDA$uZtc@&blzAEw(hbJ1kc?`X8t@w5cHRMW{^eujT%Gek4KmqPIW~+Tply`}@B@ z;aNBSEI+Qc^UtI>*O?_&U$peze4PAjZ4@-s!VX1V;kWxu^sEV@bNgOTyK$?0UEJQ9 zOVSI&3vWzxpI7>Js~RMbra%K}38>k$?>BSpiLOcP^E`@vUjF@k{pwX*d%ND<{~dSR zZ!WY1Sk%NPy9-)2&DmaUcYE80R=bqbOXiC1Hec(N_LkSwwDRnyzPI;mUubc0aYt{< z-=Fs?1mX>rQ&UQC(fZ`#wF@TRtxd zl1yO7dkM^|^zXUUvgUQgpUn5?=FB;B%lPG&#@O9{yS`jnu=>R5)2}NIeLNjs3yq${ zk8I#^8wG>;7N3QDPq1E}UzfJ}+gzdOf3q}$&GaJ#szlxAetS7tZ}$~QgeF27(+p0N zrceL>O7{CJ=e`-gZ){MR9)D}K#$2!VxTCE0zXB6ihe2ZzcChy(`M(eLS#ViCe>eM) z#*-D3&-uJDc^9)e?dX#0&g&Q5J#JTat@M7`c2JUJfHpZ9nl3IX-EDn-w?UKBym^*e zv)-S3eY~$@!L;q~DosurTkieeu#1`9Y5k(#<@>L{JE4~c-p#K7J!Z?n;F-OtTA$M| zzN#&eo71@OO9;AK&fjOU^F9B%bt^Qa4UN8N&Dx$*_;3IJ1H9mZ6*i2+;r#ruU+3Zp z>%UgpO!oZ$y}thC$NO#p7jL}38+Boi!N$ou6Yl)z@}2Fx{?U`u`u4w!m+uBwE3k1W zhQt}49L`&CMTVRG%>TbP)iqMamA7_-f0DZK-2nT&@%t};B4YQCKI>1P{;me)as~m0 z{incd!k7w99lhVPcmlWFi;Edg?^NgaE?BpDx6Ivjmkm4Tp5MB3>HDdy^HcxdSZ?=q zf&2DdeAIaNsdoAMt_8ay`@i{rnlcU4 z>O?%ZdKN`V8ZKTJoziu{@PtX#cSz0 zSwn*+srx^UHha#yI`cfwsoI+~p2ZW^u739K@_fzs-3EP0%Wce*HVV(qTQUFI_I#Gsm_L_6@x={pa7TIUph_m%&kzWe{HV;rw+_oSXayjy1ejh(UPxwnqpOkEg$@#m7sen0Kw z%OLxZc0#*mCtP)-w!Zy(Ra;r(N$b?ptG>Pa(_kO7IY0d7w6lUCwr?LkQt^L(<=10XDDfWF@zxUts&bbf4U7UW7y5}vDg6@jqf8U+!|8vt@ey@5H-=BAz^tb2Sw%a&)PsX9oyRWb3-`gdu zzwgJ6;&X-iV8>g!LeszEPu8>XKMtN((omUu^3A<1zm)51e(yS3_^0(;by7)EyX9Oj z-`BVGo1FCiTzvbJ^`9wN`w7LmR8Ei&o=iB%|D|v7gm?D)-^KrJi?6fq3oEgEH|5B= z&uue}&Ckq|trDGU_w!`%`XA=o!D}rhSVI#~%*9o;%Zu&md{|oVeE4%?*DU7$kEUM< zc~_VI_ZG)4!>5h&Jmx3XE2lPxA=bSy*W55oPZuh z>fra|hvxHRfhWS})%{4Q4Yj&j@O8m{w+oXww|_aIpE2*o&3UF31z+#gE(|X`W_sV| z&yM7~;NvnJ^dLu8GZY<~y}w4I&&f=8UY)@H+^;?1k26k##-5YXcbEPDw`rlX(|V=- zl@D3%e@&bX@d7Kz3k(bn-{zJcJzFU9Y3J{{iVOQcKWhK4+;k2)@T^*PNPPc?N9#&o zJFS1z!manB>Ye2~@OdE$uc4u+lYMW|*Aw}5>P=41rsl7`v-RhK`nT)8haLGSZu@;> zVyEn<60Ojv5E(~B@oz6C#s@sO2F?nbpcVg#O_u)sy^ANzmizTl@z=9=<#z?#yZfwu zo;h;vCuo%P%nZpYQCa(so&NEaOQRuY+(8FS6=qwNSne~hZ;KC!Gv1QFYT-YD+RC&4 zZ1vYfh&fKbx9j&s75{3_z`$PThq)@BH}t9k{`%&<*wX8q0rgPCwFk zGRgg&)s_AeDVM_eYpj~$dUyVt*7U5kbMDWZ&h26E?}}H6&i{Gry0u*W9%*pj;e;5p z__O}>=~MhqPnCSrdpqkQg>6#5p1J-gYP8S`g?a|zuk3VwZ*&5^WXm3d4A_{ zP+ndTJMX@S9W`XwEcbT)jfeirFR8k^3W^jJ z_RoJJZc;uQoauaFbym|(+xFvuCr&)sf9$;YqN; z)*a=m_St>WI=A=bvTL%pc3%cNTn$>=m~7qt{%^8O>zcX0!@}nMzRt*h{NjPl>vmXf zT%PcLnr`>Jdb=-LQF3KBp67YKi&p~aouCU%=aa3zPRc(Pc;fl{{kGBl=Ta_(e|s(I z$nReF+4^ks7QZ)rYv`x}Mp*Aj>mgeYwfE_GXr{gw{Nr zC%t)J`)BzVf{yC9Ma1L^ON#Ex@A)z{ylhR3WC`c&=jY?2qh6(fONUvLAT8JnSI+&o zxxMM$|I*~PWl~w2_x0|5`ug#V_Lcmis^4@{F1=h?`>SpD{}Qd(ppZ9y5Un#{TBWj9 z=hYO}?D!r3=h+LHn#X}GT0ER{TDV%Ksjm6crRnkawx;!3L);4;v~v(UQ(2g> z!218AP_@{%+`GFHYAW8l%(t!Z_&U#aoe?Oc z;3?$h#>|&*9(=p=H{AT$gLUgPekHSfF8B@}E>_%ld|}Ry6RTo(GvE4f@9b=GJNt{a zY#`k!tq}iCFn#{_*S3Z->$;ndX4UR4DoB0*}wZ`3m z_d?*X+5{b~Ix*{S^|o~@ZwQ~tldt(@Zn=B=`TPGLTevMMz8)-GEi-NZzhB=(wVQ5$ z25WO>SYGCZ*xU`Z+4ugA_sbN%RfhgozqGP#&fRfm?+^=f?7 zj(?x&x74e<>n`~I1_v={&bSF~c-^!A{(WcKH)+d#htJ>p`PRa1(e2i7)o&I#(VJ3o zJw5yKi!Qc2FJB-3{vD(gg-(H;*pwQq_T&ej{*V3kr~jInT?xH!P*}tA+2G+bQ2zCQ zQ#d2)&hCZF%+j}qZ_bau`9UxbJRqa68x~)?zg(;?D$D=+vgGJAQ^zfZ_f9iEp3xq+ zzs_i5dgA|YZ$BS@o;RWPneq86Z*IRn1+g4fgztO%TI~6odv?D+zh-*%WcvIXji$;S zUw#PRE_pHM#$$u>CnuP9mpy%OtStY=hA&H}-wg*vnZq@x$1NBBjx~SsVBNmocV4vJ zTGeoCN9D^i7S9&G(RYUAt8~6IN2gc%gQkIl^iV6GIRTsN&vR=}dwOe~*dDPsp6{Q( z-A#*S1qo&`DxCrOSdjv>P=0}(*jwnAP#G}JlZ#}{P~r-eV?uzR@_#2 z|C_Jq)~$kP4oC0*<(zchNo}s4uGYB}Bg;+mOPv3Hsr!2;5TxCq4_b&8xvEXxx9WfJ z&du|Ey_d1yI_drHSDcJ;;jiiI{NEJb*j94#Rr$TM6VINJw_cZYIjvj-q3Z8SL;m&uGCh*cJ3Z}_{d~Od>@Txr{4e6m zA2h56Ho<$~TKMl9r2#sw>6J zHxz$;^>qFIhj9?AVWXbK=YG808d>wpy#1T!(jdVtg{ME=EIf1gjQcP3Z#pJduAP}gMTPXF_7-Hcm1>d#+WJ9Vm{$fsN9 z{~2#gSDbv(=j~nf$tO)d7E5QnUiRJp-EQ#B>4?tCiuE=>6E54AJU^DYaqGu<(vLKr zyjg#D){V^p`*L2cIyrgvkAPR_Y^t!=C4ReU_!{>!mDzQSdfTSG+AW0j< zW?*PYc#;iv2!t!Z1@RArryv1IhY+5F0jfr5_Jl|tgyuE~uL(Lc0pYPg?^uNJINBgN z1Hu#F8MP1+5}>#k4N_QGFpMS|cu+8m=0k7`5E3AxB@HATK;-Z%OFzWFxy1--1T`%9 zzy7x13qHmMUPkcAz99cHFx(ITZ;ys>Mx{nWV>E3*@&W?`!)SIG%?_j4VKh6yLSVG6 z9Bnxu`u3x>!)Wa=T06kX#?i*o$gCYUoML*+z##U*)5S4lv}}auhLM>VMianj0)U3V zFl`+*+}g?vUQFlsKYqLN1zDyX4)A%V5MLi?gKVjQ@J6LZLj#f$K;&rJ7|ki*wML-C zz`!tCIE)q!kdy!-M+=A1!eO*<0ObTQ9?cG;*@ZN-fh8rz#ItzOn{S|$=;`X`vd$@?2>|y*d}IIs literal 0 HcmV?d00001 diff --git a/common/desktop/home.nix b/common/desktop/home.nix index 7d780ad5..89832ef7 100644 --- a/common/desktop/home.nix +++ b/common/desktop/home.nix @@ -22,6 +22,7 @@ let flask ipwhois pyasn + z3-solver ]; in { @@ -37,9 +38,8 @@ in gcc gimp inputs.attic.packages.${pkgs.system}.attic - inputs.comma.packages.${pkgs.system}.default + comma discord - jetbrains.clion jetbrains.rust-rover kdenlive libreoffice-fresh @@ -54,6 +54,7 @@ in tex unzip yt-dlp + # z3 ]; # Enable my own hm modules diff --git a/common/hm-modules/catppuccin/default.nix b/common/hm-modules/catppuccin/default.nix index 3fabb170..e8a184f5 100644 --- a/common/hm-modules/catppuccin/default.nix +++ b/common/hm-modules/catppuccin/default.nix @@ -6,6 +6,7 @@ }: with lib; let + inherit (builtins) fromTOML readFile; cfg = config.themes.v.catppuccin; mako = pkgs.fetchFromGitHub { owner = "catppuccin"; @@ -13,6 +14,12 @@ let rev = "9dd088aa5f4529a3dd4d9760415e340664cb86df"; sha256 = "sha256-nUzWkQVsIH4rrCFSP87mXAka6P+Td2ifNbTuP7NM/SQ="; }; + starship = pkgs.fetchFromGitHub { + owner = "catppuccin"; + repo = "starship"; + rev = "5629d2356f62a9f2f8efad3ff37476c19969bd4f"; + sha256 = "sha256-nsRuxQFKbQkyEI4TXgvAjcroVdG+heKX5Pauq/4Ota0="; + }; in { options.themes.v.catppuccin = { @@ -69,7 +76,11 @@ in }) ]; - programs.mako.extraConfig = builtins.readFile "${mako}/src/frappe"; + programs.mako.extraConfig = readFile "${mako}/src/frappe"; + + programs.starship.settings = { + palette = "catppuccin_frappe"; + } //fromTOML (readFile "${starship}/palettes/frappe.toml"); programs.vscode = { userSettings."workbench.colorTheme" = "Catppuccin Frappé"; diff --git a/common/hm-modules/nvim/default.nix b/common/hm-modules/nvim/default.nix index 53b966bf..3bc2b7ba 100644 --- a/common/hm-modules/nvim/default.nix +++ b/common/hm-modules/nvim/default.nix @@ -296,7 +296,7 @@ with lib; telescope = { enable = true; defaults.preview.ls_short = true; - extensions.file_browser = { + extensions.file-browser = { enable = true; hijackNetrw = true; dirIcon = ""; diff --git a/common/hm-modules/rust.nix b/common/hm-modules/rust.nix index d822f8d6..11b1e2fb 100644 --- a/common/hm-modules/rust.nix +++ b/common/hm-modules/rust.nix @@ -28,15 +28,16 @@ in [build] rustc-wrapper = "${pkgs.sccache}/bin/sccache" - - [target.'cfg(not(target_arch = "mips"))'] - linker = "${pkgs.clang}/bin/clang" - rustflags = ["-C", "link-arg=-fuse-ld=${pkgs.mold}/bin/mold"] - [profile.rust-analyzer] inherits = "dev" ''; + # [target.'cfg(not(target_arch = "mips"))'] + # linker = "${pkgs.clang}/bin/clang" + # rustflags = ["-C", "link-arg=-fuse-ld=${pkgs.mold}/bin/mold"] + + + sessionPath = [ "$HOME/.cargo/bin" ]; }; }; diff --git a/common/users/default.nix b/common/users/default.nix index 79f64479..07f80481 100644 --- a/common/users/default.nix +++ b/common/users/default.nix @@ -1,5 +1,16 @@ -{ config, pkgs, lib, inputs, ... }: { - imports = [ ./laura.nix ./vivian.nix ./jonathan.nix ]; +{ + config, + pkgs, + lib, + inputs, + ... +}: +{ + imports = [ + ./laura.nix + ./vivian.nix + ./jonathan.nix + ]; programs = { # Setup ZSH to use grml config @@ -11,15 +22,16 @@ interactiveShellInit = '' source "${pkgs.grml-zsh-config}/etc/zsh/zshrc" export FZF_DEFAULT_COMMAND="${pkgs.ripgrep}/bin/rg --files --follow" - source "${pkgs.fzf}/share/fzf/key-bindings.zsh" - source "${pkgs.fzf}/share/fzf/completion.zsh" + export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND" + export FZF_CTRL_R_COMMAND="$FZF_DEFAULT_COMMAND" eval "$(${pkgs.zoxide}/bin/zoxide init zsh)" + eval "$(${pkgs.fzf}/bin/fzf --zsh)" export TEMPDIRS="$HOME/tmp" source "${inputs.t.packages.${pkgs.system}.default}/bin/t-rs.sh" ''; # otherwise it'll override the grml prompt - promptInit = ""; + # promptInit = lib.mkDefault ""; }; # Install Neovim and set it as alias for vi(m) @@ -39,8 +51,7 @@ # Configure the root account users.extraUsers.root = { # Allow my SSH keys for logging in as root. - openssh.authorizedKeys.keys = - config.users.extraUsers.vivian.openssh.authorizedKeys.keys; + openssh.authorizedKeys.keys = config.users.extraUsers.vivian.openssh.authorizedKeys.keys; # Also use zsh for root shell = pkgs.zsh; }; @@ -57,6 +68,9 @@ ripgrep rsync zoxide + + # Terminfo + pkgs.kitty.terminfo ]; programs.tmux = { diff --git a/flake.lock b/flake.lock index 0dfd34d1..11db4249 100644 --- a/flake.lock +++ b/flake.lock @@ -132,11 +132,11 @@ ] }, "locked": { - "lastModified": 1711099426, - "narHash": "sha256-HzpgM/wc3aqpnHJJ2oDqPBkNsqWbW0WfWUO8lKu8nGk=", + "lastModified": 1713532798, + "narHash": "sha256-wtBhsdMJA3Wa32Wtm1eeo84GejtI43pMrFrmwLXrsEc=", "owner": "numtide", "repo": "devshell", - "rev": "2d45b54ca4a183f2fdcf4b19c895b64fbf620ee8", + "rev": "12e914740a25ea1891ec619bb53cf5e6ca922e40", "type": "github" }, "original": { @@ -321,11 +321,11 @@ ] }, "locked": { - "lastModified": 1709336216, - "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", + "lastModified": 1712014858, + "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", + "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", "type": "github" }, "original": { @@ -631,11 +631,11 @@ ] }, "locked": { - "lastModified": 1712093955, - "narHash": "sha256-94I0sXz6fiVBvUAk2tg6t3UpM5rOImj4JTSTNFbg64s=", + "lastModified": 1713906585, + "narHash": "sha256-fv84DCOkBtjF6wMATt0rfovu7e95L8rdEkSfNbwKR3U=", "owner": "nix-community", "repo": "home-manager", - "rev": "80546b220e95a575c66c213af1b09fe255299438", + "rev": "bfa7c06436771e3a0c666ccc6ee01e815d4c33aa", "type": "github" }, "original": { @@ -652,11 +652,11 @@ ] }, "locked": { - "lastModified": 1711625603, - "narHash": "sha256-W+9dfqA9bqUIBV5u7jaIARAzMe3kTq/Hp2SpSVXKRQw=", + "lastModified": 1713732794, + "narHash": "sha256-AYCofb8Zu4Mbc1lHDtju/uxeARawRijmOueAqEMEfMU=", "owner": "nix-community", "repo": "home-manager", - "rev": "c0ef0dab55611c676ad7539bf4e41b3ec6fa87d2", + "rev": "670d9ecc3e46a6e3265c203c2d136031a3d3548e", "type": "github" }, "original": { @@ -678,11 +678,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1711442573, - "narHash": "sha256-/A3YzcY5erYOPojp5Ffwgxv4X5MTnRiWwuaXfgXbK2g=", + "lastModified": 1713369831, + "narHash": "sha256-G4OGxvlIIjphpkxcRAkf1QInYsAeqbfNh6Yl1JLy2uM=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "df7ac26bd24fac8baa94d60a02c3e0f0d4d16368", + "rev": "850f27322239f8cfa56b122cc9a278ab99a49015", "type": "github" }, "original": { @@ -717,11 +717,11 @@ "utils": "utils_2" }, "locked": { - "lastModified": 1710449465, - "narHash": "sha256-2orO8nfplp6uQJBFqKkj1iyNMC6TysmwbWwbb4osTag=", + "lastModified": 1713012165, + "narHash": "sha256-z/soXKDnz+w4Nw0LkRaM73YqolhSmIYy6cpg1F2ps8I=", "owner": "simple-nixos-mailserver", "repo": "nixos-mailserver", - "rev": "79c8cfcd5873a85559da6201b116fb38b490d030", + "rev": "9f6635a0351c190179dc6904545f950108a23dd8", "type": "gitlab" }, "original": { @@ -737,11 +737,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1711753492, - "narHash": "sha256-lLlXQBebD6wd2m7vjXg2zQ8tfJF2a70RL+zXdbaQqn0=", + "lastModified": 1713463636, + "narHash": "sha256-IPdnR0Rs7XoffnCn6rExYDlft/GHD/UFgQ11lTVEK48=", "owner": "astro", "repo": "microvm.nix", - "rev": "1b7c70b198554d0f0306ec153c94906623437aed", + "rev": "6a4f822a817180be03fcdceb654088d002c9ec5e", "type": "github" }, "original": { @@ -777,11 +777,11 @@ ] }, "locked": { - "lastModified": 1711763326, - "narHash": "sha256-sXcesZWKXFlEQ8oyGHnfk4xc9f2Ip0X/+YZOq3sKviI=", + "lastModified": 1713543876, + "narHash": "sha256-olEWxacm1xZhAtpq+ZkEyQgR4zgfE7ddpNtZNvubi3g=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "36524adc31566655f2f4d55ad6b875fb5c1a4083", + "rev": "9e7c20ffd056e406ddd0276ee9d89f09c5e5f4ed", "type": "github" }, "original": { @@ -792,11 +792,11 @@ }, "nixlib": { "locked": { - "lastModified": 1711846064, - "narHash": "sha256-cqfX0QJNEnge3a77VnytM0Q6QZZ0DziFXt6tSCV8ZSc=", + "lastModified": 1712450863, + "narHash": "sha256-K6IkdtMtq9xktmYPj0uaYc8NsIqHuaAoRBaMgu9Fvrw=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "90b1a963ff84dc532db92f678296ff2499a60a87", + "rev": "3c62b6a12571c9a7f65ab037173ee153d539905f", "type": "github" }, "original": { @@ -813,11 +813,11 @@ ] }, "locked": { - "lastModified": 1711932680, - "narHash": "sha256-CEpVtyB7uyRprTuiG+lpWWMvM/C0CbY/dbBuxT5BDwM=", + "lastModified": 1713783234, + "narHash": "sha256-3yh0nqI1avYUmmtqqTW3EVfwaLE+9ytRWxsA5aWtmyI=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "1f4c32ca4295bb7cca1e48a2f39b65490b249b0b", + "rev": "722b512eb7e6915882f39fff0e4c9dd44f42b77e", "type": "github" }, "original": { @@ -828,11 +828,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1711352745, - "narHash": "sha256-luvqik+i3HTvCbXQZgB6uggvEcxI9uae0nmrgtXJ17U=", + "lastModified": 1713864415, + "narHash": "sha256-/BPDMJEkrsFAFOsQWhwm31wezlgshPFlLBn34KEUdVA=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "9a763a7acc4cfbb8603bb0231fec3eda864f81c0", + "rev": "797f8d8082c7cc3259cba7275c699d4991b09ecc", "type": "github" }, "original": { @@ -939,26 +939,26 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1712047400, - "narHash": "sha256-P1ddj7Anx1zQXyn1RqLcleA3ZL/8cmewWjdm2nR7mc8=", + "lastModified": 1713714899, + "narHash": "sha256-+z/XjO3QJs5rLE5UOf015gdVauVRQd2vZtsFkaXBq2Y=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "43f956227e7bbcb11aa54ce1294f6b5bdf6c8fad", + "rev": "6143fc5eeb9c4f00163267708e26191d1e918932", "type": "github" }, "original": { "id": "nixpkgs", - "ref": "nixos-unstable-small", + "ref": "nixos-unstable", "type": "indirect" } }, "nixpkgs_5": { "locked": { - "lastModified": 1711703276, - "narHash": "sha256-iMUFArF0WCatKK6RzfUJknjem0H9m4KgorO/p3Dopkk=", + "lastModified": 1713714899, + "narHash": "sha256-+z/XjO3QJs5rLE5UOf015gdVauVRQd2vZtsFkaXBq2Y=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d8fe5e6c92d0d190646fb9f1056741a229980089", + "rev": "6143fc5eeb9c4f00163267708e26191d1e918932", "type": "github" }, "original": { @@ -1011,11 +1011,11 @@ "pre-commit-hooks": "pre-commit-hooks" }, "locked": { - "lastModified": 1712057047, - "narHash": "sha256-o5KSQO82/sCgaaSsZONTeb+P47MXo0bbp+eID9I0CwI=", + "lastModified": 1713939051, + "narHash": "sha256-EwDbsFjpXANXd2MIvRm4Bz2CDNWIhlV/659xOAxhEv0=", "owner": "pta2002", "repo": "nixvim", - "rev": "7baefc8aa587931827797db7fbd55a733179dc79", + "rev": "f2f97d844bb39559f3356e209b49c92900d860b8", "type": "github" }, "original": { @@ -1026,11 +1026,11 @@ }, "nur": { "locked": { - "lastModified": 1712127152, - "narHash": "sha256-LPFdS9oxJfLsIPn3/59p/n43EgUV3InMZdhlhmMg8WI=", + "lastModified": 1713947685, + "narHash": "sha256-8faxXE53zBQmr5lsVZvT9Vh8CW7dNSwphIasPP4S1UI=", "owner": "nix-community", "repo": "NUR", - "rev": "9d71b5e8ad6127de490d4715170ce32e767f2d0f", + "rev": "a5a62f60303597824baa29266ebf218de266d3d5", "type": "github" }, "original": { @@ -1054,11 +1054,11 @@ ] }, "locked": { - "lastModified": 1711760932, - "narHash": "sha256-DqUTQ2iAAqSDwMhKBqvi24v0Oc7pD3LCK/0FCG//TdA=", + "lastModified": 1713775815, + "narHash": "sha256-Wu9cdYTnGQQwtT20QQMg7jzkANKQjwBD9iccfGKkfls=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "c11e43aed6f17336c25cd120eac886b96c455731", + "rev": "2ac4dcbf55ed43f3be0bae15e181f08a57af24a4", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 8342fc5f..0bbace16 100644 --- a/flake.nix +++ b/flake.nix @@ -5,7 +5,7 @@ # * https://github.com/Infinidoge/nix-minecraft inputs = { - nixpkgs.url = "nixpkgs/nixos-unstable-small"; + nixpkgs.url = "nixpkgs/nixos-unstable"; flake-utils-plus.url = "github:gytis-ivaskevicius/flake-utils-plus/v1.4.0"; nur.url = "github:nix-community/NUR"; colmena.url = "github:zhaofengli/colmena"; diff --git a/hosts/thalassa/aoife/default.nix b/hosts/thalassa/aoife/default.nix index af1cf94b..b35daac5 100644 --- a/hosts/thalassa/aoife/default.nix +++ b/hosts/thalassa/aoife/default.nix @@ -23,6 +23,8 @@ users.users.vivian.extraGroups = [ "adbusers" ]; + security.pki.certificateFiles = [ ./domain.crt ]; + # Bootloader. boot = { bootspec.enable = true; @@ -43,12 +45,20 @@ home-manager.users.vivian = import ./home; + programs.nix-ld.enable = true; + programs.nix-ld.libraries = with pkgs; [ + + # Add any missing dynamic libraries for unpackaged programs + + # here, NOT in environment.systemPackages + ]; + programs.hyprland.enable = true; services.gnome.gnome-keyring.enable = true; - services.gnome-autounlock-keyring = { - enable = true; - target = "hyprland-session.target"; - }; + # services.gnome-autounlock-keyring = { + # enable = true; + # target = "hyprland-session.target"; + # }; services.interception-tools = { enable = true; diff --git a/hosts/thalassa/aoife/domain.crt b/hosts/thalassa/aoife/domain.crt new file mode 100644 index 00000000..3713f443 --- /dev/null +++ b/hosts/thalassa/aoife/domain.crt @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE----- +MIIDZTCCAk2gAwIBAgIUcCV6T0NduGa58qOcAhe9n8oOcEIwDQYJKoZIhvcNAQEL +BQAwWzELMAkGA1UEBhMCTkwxFTATBgNVBAgMDFp1aWQtSG9sbGFuZDEOMAwGA1UE +BwwFRGVsZnQxETAPBgNVBAoMCFRVIERlbGZ0MRIwEAYDVQQDDAlsb2NhbGhvc3Qw +HhcNMjQwNDA1MDgyMDQxWhcNMjUwNDA1MDgyMDQxWjBbMQswCQYDVQQGEwJOTDEV +MBMGA1UECAwMWnVpZC1Ib2xsYW5kMQ4wDAYDVQQHDAVEZWxmdDERMA8GA1UECgwI +VFUgRGVsZnQxEjAQBgNVBAMMCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQAD +ggEPADCCAQoCggEBAIcX6xGqorbXkIqtH0ek2L9YAc0ruKF7aTpY9q7n6EpD4OC1 +Q575fvnEqBsvKC74xh1AO58x7HLxAIWmy76UqUxJIQ7vtfCKxFDjBDhgitmnxWK1 +3QCrHwFS3MThqOq0zhK7AqnpzzdHsj9zfPWbrhP86m4uugIAund2YiSUPX7ZrSSO +pY60bZiA2c3hJbqxg+NvNN1vZHEsPGaZHXMMrycw0bLOBoKPvbenl3ig23vsyRSO +MwiJgLK/ztMI6r2KMJVZofjbu1Mz+WPzotKaCrSArSRF36BOzafyxqgO0h3Vqp4W +Z6UpS1bFTpbJckz8LqNvlP/Z4mV5+1QyrwwN/iMCAwEAAaMhMB8wHQYDVR0OBBYE +FOSRI3SKLWlk2RamJJwyyFlP9UnhMA0GCSqGSIb3DQEBCwUAA4IBAQARLh5z4Ius +0kiejnMtzV5xAckbqbcultdEdGfjZciv3BM9C7DpEF5Nj8CbaK6TXrKh98bxQ6w+ +lPL/6LECkPhvHWRhTOsrhDV5h6eSPyV/TX4Jj127WnzA1LcjoEngUY97y6p/eBkE +hZWepPPAhuEmu/ws1UmF8vrT4sc+nMKXrOTsqkdUKHh2JZuFby3+SHDkYX66ZxXK +bQ3dEi6GyOkZIOuaNK+mS76yVanRU4k0A3dhIpW4pV6W12AAWioGaZv34uKVTp9E +XgNhqDC39lU4rLp260NvuRywAKxvR7hKyWfmwak5lr0dZ9t4eufPI4jU5SD+aotq +FVTMFwAKZO5v +-----END CERTIFICATE----- diff --git a/hosts/thalassa/aoife/home/default.nix b/hosts/thalassa/aoife/home/default.nix index 1a5e2341..a8ceaeab 100644 --- a/hosts/thalassa/aoife/home/default.nix +++ b/hosts/thalassa/aoife/home/default.nix @@ -1,5 +1,6 @@ { pkgs, ... }: { imports = [ + ./starship.nix ./hyprland.nix ]; @@ -15,7 +16,6 @@ home.packages = with pkgs; [ libreoffice-fresh - jetbrains.clion jetbrains.rust-rover eduvpn-client localsend @@ -23,6 +23,4 @@ typst prismlauncher ]; - - ## Hyprland Config } diff --git a/hosts/thalassa/aoife/home/hyprland.nix b/hosts/thalassa/aoife/home/hyprland.nix index 4b25d03c..9de9947c 100644 --- a/hosts/thalassa/aoife/home/hyprland.nix +++ b/hosts/thalassa/aoife/home/hyprland.nix @@ -1,5 +1,17 @@ -{ pkgs, config, ... }: { + pkgs, + config, + inputs, + ... +}: +let + terminal = "${config.programs.kitty.package}/bin/kitty -1"; +in +{ + + home.packages = with pkgs; [ + v.hyprland-workspaces + ]; systemd.user.services.mako = { Install = { @@ -27,15 +39,23 @@ }; }; + xdg.configFile."hypr/hyprpaper.conf".text = + let + wallpaper = "/home/vivian/cloud/Pictures/Wallpapers-Laptop/wallpaper-nix-pink.png"; + in + '' + + ''; + programs = { wofi = { enable = true; }; - eww = { - enable = true; - configDir = ./eww; - }; + # eww = { + # enable = true; + # configDir = ./eww; + # }; mako.enable = true; @@ -59,15 +79,24 @@ wireplumber = { format = "󰕾 {volume}%"; format-muted = "󰖁"; - on-click = "wpctl set-mute @DEFAULT_SINK@ toggle"; + on-click = "${pkgs.wireplumber}/bin/wpctl set-mute @DEFAULT_SINK@ toggle"; }; - network = { - format-wifi = "󰖩 {essid} ({signalStrength}%)"; - format-ethernet = "󰈀 {ifname}: {ipaddr}/{cidr}"; - format-disconnected = "󰌙 "; - tooltip-format = "{ifname}: {ipaddr}"; - }; + network = + let + nmtui = pkgs.writeScriptBin "nmtui.sh" '' + #!${pkgs.stdenv.shell} + unset COLORTERM + TERM=xterm-old ${pkgs.networkmanager}/bin/nmtui + ''; + in + { + format-wifi = "󰖩 {essid} ({signalStrength}%)"; + format-ethernet = "󰈀 {ifname}: {ipaddr}/{cidr}"; + format-disconnected = "󰌙 "; + tooltip-format = "{ifname}: {ipaddr}"; + on-click = "touch ~/a && ${terminal} --execute ${nmtui}/bin/nmtui.sh"; + }; power-profiles-daemon = { format = "{icon}"; @@ -122,11 +151,25 @@ ''; startup = pkgs.writeScriptBin "startup.sh" '' #!${pkgs.stdenv.shell} - firefox & discord & - element-desktop & + + # start keyring, then unlock it, then start Element + gnome-keyring-daemon -r -d && ${ + inputs.gnome-autounlock-keyring.packages.${pkgs.system}.default + }/bin/gnome-autounlock-keyring unlock && element-desktop & ''; + hyprpaper-conf = + let + wallpaper = ../../../../assets/wallpaper-nix-pink.png; + in + pkgs.writeText "hyprpaper.conf" '' + preload = ${wallpaper} + wallpaper = eDP-1,${wallpaper} + + splash = false + ipc = off + ''; in { enable = true; @@ -138,12 +181,12 @@ wpctl = "${pkgs.wireplumber}/bin/wpctl"; brightnessctl = "${pkgs.brightnessctl}/bin/brightnessctl"; menu = "${config.programs.wofi.package}/bin/wofi --show run,drun"; - terminal = "${config.programs.kitty.package}/bin/kitty"; fileManager = "${pkgs.gnome.nautilus}/bin/nautilus"; in { "$mod" = "SUPER"; exec-once = [ + "${pkgs.hyprpaper}/bin/hyprpaper -c ${hyprpaper-conf}" "${startup}/bin/startup.sh" ]; monitor = [ @@ -157,21 +200,21 @@ gaps_in = 5; gaps_out = 10; border_size = 2; - "col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg"; - "col.inactive_border" = "rgba(595959aa)"; + "col.active_border" = "rgba(8caaeeee) rgba(a6d189ee) 45deg"; + "col.inactive_border" = "rgba(303446aa)"; layout = "dwindle"; # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on allow_tearing = false; }; group = { - "col.border_active" = "rgba(33ccffee) rgba(00ff99ee) 45deg"; - "col.border_inactive" = "rgba(595959aa)"; + "col.border_active" = "rgba(babbf1ee) rgba(f4b8e4ee) 45deg"; + "col.border_inactive" = "rgba(232634aa)"; groupbar = { font_size = 16; "col.active" = "rgba(babbf1aa)"; "col.inactive" = "rgba(414559aa)"; - text_color = "rgba(232634ff)"; + text_color = "rgba(81c8beee)"; }; }; decoration = { @@ -211,7 +254,7 @@ misc = { force_default_wallpaper = 2; disable_splash_rendering = true; - # disable_hyprland_logo = true; + disable_hyprland_logo = true; disable_autoreload = true; }; @@ -219,9 +262,9 @@ "suppressevent maximize, class:.* # You'll probably like this." "workspace 1 silent, class:^(Element)$" "workspace 1 silent, class:^(discord)$" + "group, class:^(Element|discord)$,workspace:1" "workspace 2 silent, class:^(firefox)$" "float,class:^(firefox)$,title:^(Picture-in-Picture)$" - "group set always,onworkspace:1 " ]; # l -> works when screen is locked diff --git a/hosts/thalassa/aoife/home/starship.nix b/hosts/thalassa/aoife/home/starship.nix new file mode 100644 index 00000000..72921686 --- /dev/null +++ b/hosts/thalassa/aoife/home/starship.nix @@ -0,0 +1,17 @@ +{ pkgs, config, ...}: +let + starshipNerdFont = pkgs.runCommand "starship-nerd-font.toml" { STARSHIP_CACHE = "/tmp"; } '' + ${config.programs.starship.package}/bin/starship preset nerd-font-symbols > $out + ''; +in{ + programs.starship = { + enable = true; + enableZshIntegration = true; + enableFishIntegration = true; + enableNushellIntegration = true; + + settings = { + nix_shell.heuristic = true; + } // builtins.fromTOML (builtins.readFile starshipNerdFont); + }; +} diff --git a/hosts/thalassa/aoife/uni.nix b/hosts/thalassa/aoife/uni.nix index 18e6464c..5257cdf9 100644 --- a/hosts/thalassa/aoife/uni.nix +++ b/hosts/thalassa/aoife/uni.nix @@ -1,8 +1,11 @@ # Config options needed for various university courses, such as: # * Wireless IoT and Local Area Networks # * Network Security -{ pkgs, ... }: { +# * Smart Phone Sensing +{ pkgs, ... }: +{ environment.systemPackages = with pkgs; [ + android-studio docker-compose bridge-utils nettools @@ -19,5 +22,17 @@ virtualisation.docker.enable = true; virtualisation.docker.storageDriver = "btrfs"; - users.extraUsers.vivian.extraGroups = [ "wireshark" "docker" "lxd" ]; + users.extraUsers.vivian.extraGroups = [ + "wireshark" + "docker" + "lxd" + ]; + + programs.nix-ld = { + enable = true; + package = pkgs.nix-ld-rs; + libraries = [ + + ]; + }; } diff --git a/hosts/thalassa/null/home/default.nix b/hosts/thalassa/null/home/default.nix index 53ccf7f5..9a39469d 100644 --- a/hosts/thalassa/null/home/default.nix +++ b/hosts/thalassa/null/home/default.nix @@ -1,15 +1,25 @@ -{ config, pkgs, inputs, texlive, ... }: +{ + config, + pkgs, + inputs, + texlive, + ... +}: let tex = pkgs.texlive.combine { inherit (pkgs.texlive) scheme-full; - dnd-5e-latex-template = { pkgs = [ pkgs.v.dnd-5e-latex-template ]; }; + dnd-5e-latex-template = { + pkgs = [ pkgs.v.dnd-5e-latex-template ]; + }; }; in { programs = { home-manager.enable = true; - foot = { enable = true; }; + foot = { + enable = true; + }; nix-index.enable = true; @@ -64,18 +74,142 @@ in "latex.outDir" = "%TMPDIR%/%RELATIVE_DOC%"; }; "workbench.colorTheme" = "Catppuccin Frappé"; - "editor.fontFamily" = - "'DejaVuSansMono Nerd Font', 'monospace', monospace"; + "editor.fontFamily" = "'DejaVuSansMono Nerd Font', 'monospace', monospace"; "keyboard.dispatch" = "keyCode"; "rust-analyzer.server.path" = "${pkgs.rust-analyzer}/bin/rust-analyzer"; "terminal.integrated.defaultProfile.linux" = "zsh"; "nix.enableLanguageServer" = true; # Enable LSP. - "nix.serverPath" = - "${pkgs.nil}/bin/nil"; # The path to the LSP server executable. - "[nix]" = { "editor.defaultFormatter" = "brettm12345.nixfmt-vscode"; }; + "nix.serverPath" = "${pkgs.nil}/bin/nil"; # The path to the LSP server executable. + "[nix]" = { + "editor.defaultFormatter" = "brettm12345.nixfmt-vscode"; + }; + "latex-workshop.latex.tools" = [ + { + "name" = "latexmk"; + "command" = "latexmk"; + "args" = [ + "-shell-escape" + "-synctex=1" + "-interaction=nonstopmode" + "-file-line-error" + "-pdf" + "-outdir=%OUTDIR%" + "%DOC%" + ]; + "env" = { }; + } + { + "name" = "lualatexmk"; + "command" = "latexmk"; + "args" = [ + "-synctex=1" + "-interaction=nonstopmode" + "-file-line-error" + "-lualatex" + "-outdir=%OUTDIR%" + "%DOC%" + ]; + "env" = { }; + } + { + "name" = "xelatexmk"; + "command" = "latexmk"; + "args" = [ + "-synctex=1" + "-interaction=nonstopmode" + "-file-line-error" + "-xelatex" + "-outdir=%OUTDIR%" + "%DOC%" + ]; + "env" = { }; + } + { + "name" = "latexmk_rconly"; + "command" = "latexmk"; + "args" = [ "%DOC%" ]; + "env" = { }; + } + { + "name" = "pdflatex"; + "command" = "pdflatex"; + "args" = [ + "-synctex=1" + "-interaction=nonstopmode" + "-file-line-error" + "%DOC%" + ]; + "env" = { }; + } + { + "name" = "bibtex"; + "command" = "bibtex"; + "args" = [ "%DOCFILE%" ]; + "env" = { }; + } + { + "name" = "rnw2tex"; + "command" = "Rscript"; + "args" = [ + "-e" + "knitr==opts_knit$set(concordance = TRUE); knitr==knit('%DOCFILE_EXT%')" + ]; + "env" = { }; + } + { + "name" = "jnw2tex"; + "command" = "julia"; + "args" = [ + "-e" + "using Weave; weave(\"%DOC_EXT%\"; doctype=\"tex\")" + ]; + "env" = { }; + } + { + "name" = "jnw2texminted"; + "command" = "julia"; + "args" = [ + "-e" + "using Weave; weave(\"%DOC_EXT%\"; doctype=\"texminted\")" + ]; + "env" = { }; + } + { + "name" = "pnw2tex"; + "command" = "pweave"; + "args" = [ + "-f" + "tex" + "%DOC_EXT%" + ]; + "env" = { }; + } + { + "name" = "pnw2texminted"; + "command" = "pweave"; + "args" = [ + "-f" + "texminted" + "%DOC_EXT%" + ]; + "env" = { }; + } + { + "name" = "tectonic"; + "command" = "tectonic"; + "args" = [ + "--synctex" + "--keep-logs" + "%DOC%.tex" + ]; + "env" = { }; + } + ]; }; - extensions = with pkgs.vscode-extensions; - with pkgs.v.vscode-extensions; [ + extensions = + with pkgs.vscode-extensions; + with pkgs.v.vscode-extensions; + [ # astro-build.astro-vscode brettm12345.nixfmt-vscode catppuccin.catppuccin-vsc @@ -99,12 +233,16 @@ in direnv = { enable = true; - nix-direnv = { enable = true; }; + nix-direnv = { + enable = true; + }; }; zsh = { enable = true; - sessionVariables = { DIRENV_LOG_FORMAT = ""; }; + sessionVariables = { + DIRENV_LOG_FORMAT = ""; + }; }; }; home = { @@ -128,7 +266,7 @@ in gnome.gnome-font-viewer gnome.nautilus grim # Screenshot tool - inputs.comma.packages.${pkgs.system}.default + # inputs.comma.packages.${pkgs.system}.default inputs.webcord.packages.${pkgs.system}.default k9s kubectl @@ -158,13 +296,20 @@ in ]; }; - imports = [ ./hyprland.nix ./neovim.nix ./eww ./theme.nix ]; + imports = [ + ./hyprland.nix + ./neovim.nix + ./eww + ./theme.nix + ]; xdg.mimeApps = { enable = true; defaultApplications = - let browser = [ "firefox.desktop" ]; - in { + let + browser = [ "firefox.desktop" ]; + in + { "image/*" = "org.gnome.eog.desktop"; "text/html" = browser; "x-scheme-handler/http" = browser; @@ -188,8 +333,10 @@ in }; xdg.userDirs = - let home = config.home.homeDirectory; - in { + let + home = config.home.homeDirectory; + in + { enable = true; createDirectories = true; desktop = "${home}/.desktop"; diff --git a/pkgs/default.nix b/pkgs/default.nix index 5f7180fc..53a34a43 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,5 +1,5 @@ # nix-build -E 'with import {}; callPackage ./default.nix {}' -_final: prev: { +final: prev: { v = { glitch-soc = prev.callPackage ./glitch-soc { }; @@ -22,6 +22,7 @@ _final: prev: { prev.callPackage ./vscode-extensions/platformio.nix { }; }; + hyprland-workspaces = prev.callPackage ./hyprland-workspaces { }; }; plex-plexpass = prev.callPackage ./plex-pass { }; diff --git a/pkgs/hyprland-workspaces/default.nix b/pkgs/hyprland-workspaces/default.nix new file mode 100644 index 00000000..77e7944a --- /dev/null +++ b/pkgs/hyprland-workspaces/default.nix @@ -0,0 +1,20 @@ +{ rustPlatform, lib, fetchFromGitHub }: +rustPlatform.buildRustPackage rec { + pname = "hyprland-workspaces"; + version = "2.0.0"; + + src = fetchFromGitHub { + owner = "FieldofClay"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-4QGLTimIpx74gWUyHCheUZZT1WgVzBoJRY8OlUDdOh4="; + }; + + cargoSha256 = "sha256-9ndP0nyRBCdOGth4UWA263IvjbgnVW2x9PK8oTaMrxg="; + + meta = with lib; { + description = "A multi-monitor aware Hyprland workspace widget"; + license = licenses.mit; + platforms = platforms.linux; + }; +} From f2767b05967a06f32a02200fbdffd4528943f87f Mon Sep 17 00:00:00 2001 From: Vivian Date: Thu, 2 May 2024 09:17:40 +0200 Subject: [PATCH 34/88] updates --- hosts/olympus/bastion/containers/common.nix | 4 ++-- hosts/olympus/bastion/containers/default.nix | 16 ++++++++-------- hosts/thalassa/aoife/home/hyprland.nix | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/hosts/olympus/bastion/containers/common.nix b/hosts/olympus/bastion/containers/common.nix index 88b8220c..e8cae95a 100644 --- a/hosts/olympus/bastion/containers/common.nix +++ b/hosts/olympus/bastion/containers/common.nix @@ -1,8 +1,8 @@ # common container config -{ lib, home-manager, ... }: { +{ lib, ... }: { imports = [ # ../../../../common/modules - home-manager.nixosModules.home-manager # TODO: I don't like this + # home-manager.nixosModules.home-manager # TODO: I don't like this ]; # Workaround for bug https://github.com/NixOS/nixpkgs/issues/162686 networking.useHostResolvConf = lib.mkForce false; diff --git a/hosts/olympus/bastion/containers/default.nix b/hosts/olympus/bastion/containers/default.nix index a4c1771e..11757ebb 100644 --- a/hosts/olympus/bastion/containers/default.nix +++ b/hosts/olympus/bastion/containers/default.nix @@ -21,13 +21,13 @@ in { # * fc00:x containers = { - dns = { - autoStart = true; - inherit hostAddress hostAddress6; - localAddress = "10.42.99.1"; - localAddress6 = "fc00::2"; - - config = ./dns.nix; - }; + # dns = { + # autoStart = true; + # inherit hostAddress hostAddress6; + # localAddress = "10.42.99.1"; + # localAddress6 = "fc00::2"; + # + # config = ./dns.nix; + # }; }; } diff --git a/hosts/thalassa/aoife/home/hyprland.nix b/hosts/thalassa/aoife/home/hyprland.nix index 9de9947c..65d61198 100644 --- a/hosts/thalassa/aoife/home/hyprland.nix +++ b/hosts/thalassa/aoife/home/hyprland.nix @@ -304,7 +304,7 @@ in "$mod,tab,changegroupactive" # PrintScreen - ",Print,exec,${pkgs.grimblast}/bin/grimblast copysave area /home/vivian/cloud/Pictures/Screenshots/$(date --iso=seconds).png" + ",Print,exec,${pkgs.grimblast}/bin/grimblast copysave area /home/vivian/cloud/Pictures/Screenshots/$(date +%s).png" # Toggle Mirror for external displays on/off ",XF86Display,exec,${toggle_mirror}/bin/toggle_mirror.sh" ] From a3283256b46df9bbeeeeb3376b851afa4a3a0de9 Mon Sep 17 00:00:00 2001 From: Vivian Date: Sat, 8 Jun 2024 14:03:24 +0200 Subject: [PATCH 35/88] updates --- common/default.nix | 2 +- common/hm-modules/nvim/default.nix | 4 + common/hm-modules/vscode.nix | 2 +- flake.lock | 368 ++++++++--------------- flake.nix | 3 +- hosts/thalassa/aoife/default.nix | 5 + hosts/thalassa/aoife/home/default.nix | 1 + hosts/thalassa/aoife/uni.nix | 33 +- nixos/hosts/olympus/ci/configuration.nix | 2 +- 9 files changed, 148 insertions(+), 272 deletions(-) diff --git a/common/default.nix b/common/default.nix index ab350793..f4ba59d9 100644 --- a/common/default.nix +++ b/common/default.nix @@ -31,7 +31,7 @@ nix = { registry.nixpkgs.flake = inputs.nixpkgs; nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; - package = pkgs.nixUnstable; + # package = pkgs.nixUnstable; settings = { auto-optimise-store = true; trusted-users = [ "root" "vivian" ]; diff --git a/common/hm-modules/nvim/default.nix b/common/hm-modules/nvim/default.nix index 3bc2b7ba..76790c57 100644 --- a/common/hm-modules/nvim/default.nix +++ b/common/hm-modules/nvim/default.nix @@ -35,6 +35,10 @@ with lib; options = { number = true; conceallevel = 2; + expandtab = true; + tabstop = 2; + shiftwidth = 2; + smartindent = true; }; clipboard.providers.wl-copy.enable = true; diff --git a/common/hm-modules/vscode.nix b/common/hm-modules/vscode.nix index 1cc5dd91..8454b5f9 100644 --- a/common/hm-modules/vscode.nix +++ b/common/hm-modules/vscode.nix @@ -55,7 +55,7 @@ in { foxundermoon.shell-format james-yu.latex-workshop jnoortheen.nix-ide - matklad.rust-analyzer + rust-lang.rust-analyzer mkhl.direnv ms-vscode-remote.remote-ssh ms-vscode.cpptools diff --git a/flake.lock b/flake.lock index 11db4249..e2e85ce4 100644 --- a/flake.lock +++ b/flake.lock @@ -11,11 +11,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1711742460, - "narHash": "sha256-0O4v6e4a1toxXZ2gf5INhg4WPE5C5T+SVvsBt+45Mcc=", + "lastModified": 1717279440, + "narHash": "sha256-kH04ReTjxOpQumgWnqy40vvQLSnLGxWP6RF3nq5Esrk=", "owner": "zhaofengli", "repo": "attic", - "rev": "4dbdbee45728d8ce5788db6461aaaa89d98081f0", + "rev": "717cc95983cdc357bc347d70be20ced21f935843", "type": "github" }, "original": { @@ -69,11 +69,11 @@ ] }, "locked": { - "lastModified": 1702918879, - "narHash": "sha256-tWJqzajIvYcaRWxn+cLUB9L9Pv4dQ3Bfit/YjU5ze3g=", + "lastModified": 1717025063, + "narHash": "sha256-dIubLa56W9sNNz0e8jGxrX3CAkPXsq7snuFA/Ie6dn8=", "owner": "ipetkov", "repo": "crane", - "rev": "7195c00c272fdd92fc74e7d5a0a2844b9fadb2fb", + "rev": "480dff0be03dac0e51a8dfc26e882b0d123a450e", "type": "github" }, "original": { @@ -110,11 +110,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1711973905, - "narHash": "sha256-UFKME/N1pbUtn+2Aqnk+agUt8CekbpuqwzljivfIme8=", + "lastModified": 1715699772, + "narHash": "sha256-sKhqIgucN5sI/7UQgBwsonzR4fONjfMr9OcHK/vPits=", "owner": "serokell", "repo": "deploy-rs", - "rev": "88b3059b020da69cbe16526b8d639bd5e0b51c8b", + "rev": "b3ea6f333f9057b77efd9091119ba67089399ced", "type": "github" }, "original": { @@ -132,11 +132,11 @@ ] }, "locked": { - "lastModified": 1713532798, - "narHash": "sha256-wtBhsdMJA3Wa32Wtm1eeo84GejtI43pMrFrmwLXrsEc=", + "lastModified": 1717408969, + "narHash": "sha256-Q0OEFqe35fZbbRPPRdrjTUUChKVhhWXz3T9ZSKmaoVY=", "owner": "numtide", "repo": "devshell", - "rev": "12e914740a25ea1891ec619bb53cf5e6ca922e40", + "rev": "1ebbe68d57457c8cae98145410b164b5477761f4", "type": "github" }, "original": { @@ -279,11 +279,11 @@ "flake-compat_8": { "flake": false, "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", "owner": "edolstra", "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "type": "github" }, "original": { @@ -321,11 +321,11 @@ ] }, "locked": { - "lastModified": 1712014858, - "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", + "lastModified": 1717285511, + "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", + "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8", "type": "github" }, "original": { @@ -354,16 +354,15 @@ "flake-utils": "flake-utils_4" }, "locked": { - "lastModified": 1696281284, - "narHash": "sha256-xcmtTmoiiAOSk4abifbtqVZk0iwBcqJfg47iUbkwhcE=", - "owner": "gytis-ivaskevicius", + "lastModified": 1714763823, + "narHash": "sha256-vU6uUoUOgqG7NSyqlU/b+tNnY0ABxldYUXmlki/7OiQ=", + "owner": "NULLx76", "repo": "flake-utils-plus", - "rev": "6cf1e312fb259693c4930d07ca3cbe1d07ef4a48", + "rev": "293f1f9519579a3171d535652902bba9b7b0b08c", "type": "github" }, "original": { - "owner": "gytis-ivaskevicius", - "ref": "v1.4.0", + "owner": "NULLx76", "repo": "flake-utils-plus", "type": "github" } @@ -372,38 +371,6 @@ "inputs": { "systems": "systems_10" }, - "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_11": { - "locked": { - "lastModified": 1678901627, - "narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6", - "type": "github" - }, - "original": { - "id": "flake-utils", - "type": "indirect" - } - }, - "flake-utils_12": { - "inputs": { - "systems": "systems_12" - }, "locked": { "lastModified": 1681202837, "narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=", @@ -559,6 +526,33 @@ "type": "github" } }, + "git-hooks": { + "inputs": { + "flake-compat": "flake-compat_7", + "gitignore": "gitignore_2", + "nixpkgs": [ + "nixvim", + "nixpkgs" + ], + "nixpkgs-stable": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1717664902, + "narHash": "sha256-7XfBuLULizXjXfBYy/VV+SpYMHreNRHk9nKMsm1bgb4=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "cc4d466cb1254af050ff7bdf47f6d404a7c646d1", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, "gitignore": { "inputs": { "nixpkgs": [ @@ -585,7 +579,7 @@ "inputs": { "nixpkgs": [ "nixvim", - "pre-commit-hooks", + "git-hooks", "nixpkgs" ] }, @@ -631,11 +625,11 @@ ] }, "locked": { - "lastModified": 1713906585, - "narHash": "sha256-fv84DCOkBtjF6wMATt0rfovu7e95L8rdEkSfNbwKR3U=", + "lastModified": 1717525419, + "narHash": "sha256-5z2422pzWnPXHgq2ms8lcCfttM0dz+hg+x1pCcNkAws=", "owner": "nix-community", "repo": "home-manager", - "rev": "bfa7c06436771e3a0c666ccc6ee01e815d4c33aa", + "rev": "a7117efb3725e6197dd95424136f79147aa35e5b", "type": "github" }, "original": { @@ -652,11 +646,11 @@ ] }, "locked": { - "lastModified": 1713732794, - "narHash": "sha256-AYCofb8Zu4Mbc1lHDtju/uxeARawRijmOueAqEMEfMU=", + "lastModified": 1717525419, + "narHash": "sha256-5z2422pzWnPXHgq2ms8lcCfttM0dz+hg+x1pCcNkAws=", "owner": "nix-community", "repo": "home-manager", - "rev": "670d9ecc3e46a6e3265c203c2d136031a3d3548e", + "rev": "a7117efb3725e6197dd95424136f79147aa35e5b", "type": "github" }, "original": { @@ -678,11 +672,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1713369831, - "narHash": "sha256-G4OGxvlIIjphpkxcRAkf1QInYsAeqbfNh6Yl1JLy2uM=", + "lastModified": 1717686691, + "narHash": "sha256-LF4zVaSsJ83wq6j+4lm/olK2V71KAJHNJbD42mF+fr8=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "850f27322239f8cfa56b122cc9a278ab99a49015", + "rev": "990e300ef9abe0eb8c86388683f8d7465e335626", "type": "github" }, "original": { @@ -691,22 +685,6 @@ "type": "github" } }, - "lowdown-src": { - "flake": false, - "locked": { - "lastModified": 1633514407, - "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", - "type": "github" - }, - "original": { - "owner": "kristapsdz", - "repo": "lowdown", - "type": "github" - } - }, "mailserver": { "inputs": { "blobs": "blobs", @@ -717,11 +695,11 @@ "utils": "utils_2" }, "locked": { - "lastModified": 1713012165, - "narHash": "sha256-z/soXKDnz+w4Nw0LkRaM73YqolhSmIYy6cpg1F2ps8I=", + "lastModified": 1717515088, + "narHash": "sha256-nWOLpPA7+k7V1OjXTuxdsVd5jeeI0b13Di57wvnqkic=", "owner": "simple-nixos-mailserver", "repo": "nixos-mailserver", - "rev": "9f6635a0351c190179dc6904545f950108a23dd8", + "rev": "0d51a32e4799d081f260eb4db37145f5f4ee7456", "type": "gitlab" }, "original": { @@ -737,11 +715,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1713463636, - "narHash": "sha256-IPdnR0Rs7XoffnCn6rExYDlft/GHD/UFgQ11lTVEK48=", + "lastModified": 1717441449, + "narHash": "sha256-juxjgmLnFbl+/hhIO2cVtIa6caCO4pLKlZWUMwAOznM=", "owner": "astro", "repo": "microvm.nix", - "rev": "6a4f822a817180be03fcdceb654088d002c9ec5e", + "rev": "e3a4dd5b381fb580804105594cc9c71dc45abdb5", "type": "github" }, "original": { @@ -750,25 +728,6 @@ "type": "github" } }, - "nix": { - "inputs": { - "lowdown-src": "lowdown-src", - "nixpkgs": "nixpkgs_6", - "nixpkgs-regression": "nixpkgs-regression" - }, - "locked": { - "lastModified": 1654239108, - "narHash": "sha256-0JzuElxLe5DxM+R4tvBYfvQnMGCERZy4KMRf0JYxxS4=", - "owner": "nixos", - "repo": "nix", - "rev": "1dd7253133c4dfd2e7a16ad6fe505442cef38a5b", - "type": "github" - }, - "original": { - "id": "nix", - "type": "indirect" - } - }, "nix-darwin": { "inputs": { "nixpkgs": [ @@ -777,11 +736,11 @@ ] }, "locked": { - "lastModified": 1713543876, - "narHash": "sha256-olEWxacm1xZhAtpq+ZkEyQgR4zgfE7ddpNtZNvubi3g=", + "lastModified": 1716993688, + "narHash": "sha256-vo5k2wQekfeoq/2aleQkBN41dQiQHNTniZeVONWiWLs=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "9e7c20ffd056e406ddd0276ee9d89f09c5e5f4ed", + "rev": "c0d5b8c54d6828516c97f6be9f2d00c63a363df4", "type": "github" }, "original": { @@ -813,11 +772,11 @@ ] }, "locked": { - "lastModified": 1713783234, - "narHash": "sha256-3yh0nqI1avYUmmtqqTW3EVfwaLE+9ytRWxsA5aWtmyI=", + "lastModified": 1716210724, + "narHash": "sha256-iqQa3omRcHGpWb1ds75jS9ruA5R39FTmAkeR3J+ve1w=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "722b512eb7e6915882f39fff0e4c9dd44f42b77e", + "rev": "d14b286322c7f4f897ca4b1726ce38cb68596c94", "type": "github" }, "original": { @@ -828,11 +787,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1713864415, - "narHash": "sha256-/BPDMJEkrsFAFOsQWhwm31wezlgshPFlLBn34KEUdVA=", + "lastModified": 1717574423, + "narHash": "sha256-cz3P5MZffAHwL2IQaNzsqUBsJS+u0J/AAwArHMAcCa0=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "797f8d8082c7cc3259cba7275c699d4991b09ecc", + "rev": "d6c6cf6f5fead4057d8fb2d5f30aa8ac1727f177", "type": "github" }, "original": { @@ -857,22 +816,6 @@ "type": "github" } }, - "nixpkgs-regression": { - "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "github" - }, - "original": { - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "github" - } - }, "nixpkgs-stable": { "locked": { "lastModified": 1711460390, @@ -939,11 +882,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1713714899, - "narHash": "sha256-+z/XjO3QJs5rLE5UOf015gdVauVRQd2vZtsFkaXBq2Y=", + "lastModified": 1717602782, + "narHash": "sha256-pL9jeus5QpX5R+9rsp3hhZ+uplVHscNJh8n8VpqscM0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6143fc5eeb9c4f00163267708e26191d1e918932", + "rev": "e8057b67ebf307f01bdcc8fba94d94f75039d1f6", "type": "github" }, "original": { @@ -954,11 +897,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1713714899, - "narHash": "sha256-+z/XjO3QJs5rLE5UOf015gdVauVRQd2vZtsFkaXBq2Y=", + "lastModified": 1717196966, + "narHash": "sha256-yZKhxVIKd2lsbOqYd5iDoUIwsRZFqE87smE2Vzf6Ck0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6143fc5eeb9c4f00163267708e26191d1e918932", + "rev": "57610d2f8f0937f39dbd72251e9614b1561942d8", "type": "github" }, "original": { @@ -970,27 +913,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1645296114, - "narHash": "sha256-y53N7TyIkXsjMpOG7RhvqJFGDacLs9HlyHeSTBioqYU=", + "lastModified": 1714656196, + "narHash": "sha256-kjQkA98lMcsom6Gbhw8SYzmwrSo+2nruiTcTZp5jK7o=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "530a53dcbc9437363471167a5e4762c5fcfa34a1", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-21.05-small", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_7": { - "locked": { - "lastModified": 1696165369, - "narHash": "sha256-pd1cjFHCoEf9q5f9B0HhlOwwpBI9RP3HbUE6xjI7wAI=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "d7186d62bb68fac3c90f1d95515e613ef299e992", + "rev": "94035b482d181af0a0f8f77823a790b256b7c3cc", "type": "github" }, "original": { @@ -1005,17 +932,18 @@ "devshell": "devshell", "flake-compat": "flake-compat_6", "flake-parts": "flake-parts_2", + "git-hooks": "git-hooks", "home-manager": "home-manager_2", "nix-darwin": "nix-darwin", "nixpkgs": "nixpkgs_5", - "pre-commit-hooks": "pre-commit-hooks" + "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1713939051, - "narHash": "sha256-EwDbsFjpXANXd2MIvRm4Bz2CDNWIhlV/659xOAxhEv0=", + "lastModified": 1717681257, + "narHash": "sha256-0PhFvfc4wDjba1cus2ALsfn0wVizeKkcuF+aqvDJivg=", "owner": "pta2002", "repo": "nixvim", - "rev": "f2f97d844bb39559f3356e209b49c92900d860b8", + "rev": "36f2e51b28ee3389a67ed5e9ed5c4bd388b06918", "type": "github" }, "original": { @@ -1026,11 +954,11 @@ }, "nur": { "locked": { - "lastModified": 1713947685, - "narHash": "sha256-8faxXE53zBQmr5lsVZvT9Vh8CW7dNSwphIasPP4S1UI=", + "lastModified": 1717748219, + "narHash": "sha256-FTHNyCkHGI4F20WzBvIVurkr5J4UGMyZuZCWK6bxDhw=", "owner": "nix-community", "repo": "NUR", - "rev": "a5a62f60303597824baa29266ebf218de266d3d5", + "rev": "c1edc05252cacfe23a04c9b7e687bb1dfaac67f9", "type": "github" }, "original": { @@ -1039,34 +967,6 @@ "type": "github" } }, - "pre-commit-hooks": { - "inputs": { - "flake-compat": "flake-compat_7", - "flake-utils": "flake-utils_9", - "gitignore": "gitignore_2", - "nixpkgs": [ - "nixvim", - "nixpkgs" - ], - "nixpkgs-stable": [ - "nixvim", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1713775815, - "narHash": "sha256-Wu9cdYTnGQQwtT20QQMg7jzkANKQjwBD9iccfGKkfls=", - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "rev": "2ac4dcbf55ed43f3be0bae15e181f08a57af24a4", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "type": "github" - } - }, "pre-commit-hooks-nix": { "inputs": { "flake-compat": [ @@ -1207,36 +1107,6 @@ "type": "github" } }, - "systems_11": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_12": { - "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, @@ -1359,7 +1229,7 @@ }, "t": { "inputs": { - "flake-utils": "flake-utils_10", + "flake-utils": "flake-utils_9", "nixpkgs": [ "nixpkgs" ] @@ -1378,6 +1248,27 @@ "type": "github" } }, + "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1717278143, + "narHash": "sha256-u10aDdYrpiGOLoxzY/mJ9llST9yO8Q7K/UlROoNxzDw=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "3eb96ca1ae9edf792a8e0963cc92fddfa5a87706", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, "utils": { "inputs": { "systems": "systems" @@ -1414,38 +1305,17 @@ "type": "github" } }, - "utils_3": { - "inputs": { - "systems": "systems_11" - }, - "locked": { - "lastModified": 1694529238, - "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "vault-secrets": { "inputs": { "flake-compat": "flake-compat_8", - "flake-utils": "flake-utils_11", - "nix": "nix", - "nixpkgs": "nixpkgs_7", - "utils": "utils_3" + "nixpkgs": "nixpkgs_6" }, "locked": { - "lastModified": 1705066493, - "narHash": "sha256-x5VxzYep3ANmk5t3H1gONEqqVZvpbDAKzlSA8r3mqjA=", + "lastModified": 1714988039, + "narHash": "sha256-ZYPX1Skhy9ZEfeRkAzdqO+MvjBdF4a7blrXcTJ3q/Yw=", "owner": "serokell", "repo": "vault-secrets", - "rev": "202f0231f9906e8fab094c2ffc5bf24995b6df8b", + "rev": "44ef2078d9149aa3b23fe132e8c8d8bbd624c06c", "type": "github" }, "original": { @@ -1456,7 +1326,7 @@ }, "vault-unseal": { "inputs": { - "flake-utils": "flake-utils_12", + "flake-utils": "flake-utils_10", "nixpkgs": [ "nixpkgs" ] diff --git a/flake.nix b/flake.nix index 0bbace16..214af3d0 100644 --- a/flake.nix +++ b/flake.nix @@ -6,7 +6,7 @@ inputs = { nixpkgs.url = "nixpkgs/nixos-unstable"; - flake-utils-plus.url = "github:gytis-ivaskevicius/flake-utils-plus/v1.4.0"; + flake-utils-plus.url = "github:NULLx76/flake-utils-plus"; nur.url = "github:nix-community/NUR"; colmena.url = "github:zhaofengli/colmena"; deploy.url = "github:serokell/deploy-rs"; @@ -151,7 +151,6 @@ deploy.packages.${system}.deploy-rs deadnix statix - nixUnstable vault yamllint jq diff --git a/hosts/thalassa/aoife/default.nix b/hosts/thalassa/aoife/default.nix index b35daac5..ac86bbc1 100644 --- a/hosts/thalassa/aoife/default.nix +++ b/hosts/thalassa/aoife/default.nix @@ -25,6 +25,11 @@ security.pki.certificateFiles = [ ./domain.crt ]; + environment.systemPackages = with pkgs; [ + # (ollama.override {acceleration = "rocm"; }) + ]; + services.flatpak.enable = true; + # Bootloader. boot = { bootspec.enable = true; diff --git a/hosts/thalassa/aoife/home/default.nix b/hosts/thalassa/aoife/home/default.nix index a8ceaeab..dbe2b48d 100644 --- a/hosts/thalassa/aoife/home/default.nix +++ b/hosts/thalassa/aoife/home/default.nix @@ -17,6 +17,7 @@ home.packages = with pkgs; [ libreoffice-fresh jetbrains.rust-rover + jetbrains.idea-ultimate eduvpn-client localsend obsidian diff --git a/hosts/thalassa/aoife/uni.nix b/hosts/thalassa/aoife/uni.nix index 5257cdf9..4b3d0940 100644 --- a/hosts/thalassa/aoife/uni.nix +++ b/hosts/thalassa/aoife/uni.nix @@ -4,28 +4,25 @@ # * Smart Phone Sensing { pkgs, ... }: { - environment.systemPackages = with pkgs; [ - android-studio - docker-compose - bridge-utils - nettools - wget - ]; + environment.systemPackages = with pkgs; [ android-studio ]; - programs.wireshark.enable = true; - programs.wireshark.package = pkgs.wireshark; + programs.wireshark = { + enable = true; + package = pkgs.wireshark; + }; - virtualisation.lxc.enable = false; - virtualisation.lxd.enable = false; - - virtualisation.podman.enable = false; - virtualisation.docker.enable = true; - virtualisation.docker.storageDriver = "btrfs"; + virtualisation = { + podman.enable = true; + docker = { + enable = false; + storageDriver = "btrfs"; + }; + }; users.extraUsers.vivian.extraGroups = [ - "wireshark" - "docker" - "lxd" + # "wireshark" + # "docker" + # "lxd" ]; programs.nix-ld = { diff --git a/nixos/hosts/olympus/ci/configuration.nix b/nixos/hosts/olympus/ci/configuration.nix index 0c80aac0..162b3e24 100644 --- a/nixos/hosts/olympus/ci/configuration.nix +++ b/nixos/hosts/olympus/ci/configuration.nix @@ -61,7 +61,7 @@ in { gitMinimal gnused jq - nixUnstable + nix nodejs statix vault From cfc82b3817bf68ef4c32ed750a6e18c4efb830fc Mon Sep 17 00:00:00 2001 From: Vivian Date: Sun, 7 Jul 2024 10:08:10 +0200 Subject: [PATCH 36/88] updates --- common/default.nix | 22 +- common/hm-modules/catppuccin/default.nix | 65 ++-- common/hm-modules/nvim/default.nix | 1 + common/modules/flood.nix | 6 +- flake.lock | 216 ++++++----- flake.nix | 8 +- hosts/thalassa/aoife/hardware.nix | 2 - hosts/thalassa/aoife/home/hyprland.nix | 13 +- hosts/thalassa/aoife/uni.nix | 2 +- hosts/thalassa/null/README.md | 10 - hosts/thalassa/null/configuration.nix | 266 ------------- .../thalassa/null/hardware-configuration.nix | 56 --- hosts/thalassa/null/home/default.nix | 353 ------------------ hosts/thalassa/null/home/eww/default.nix | 42 --- hosts/thalassa/null/home/eww/eww.scss | 138 ------- hosts/thalassa/null/home/eww/eww.yuck | 164 -------- .../null/home/eww/scripts/do-not-disturb.sh | 10 - .../thalassa/null/home/eww/scripts/volume.sh | 15 - hosts/thalassa/null/home/eww/scripts/wifi.sh | 11 - .../null/home/eww/scripts/workspaces.lua | 21 -- .../null/home/eww/scripts/workspaces.sh | 10 - hosts/thalassa/null/home/hyprland.nix | 137 ------- hosts/thalassa/null/home/neovim.nix | 39 -- hosts/thalassa/null/home/theme.nix | 127 ------- hosts/thalassa/null/networking.nix | 76 ---- hosts/thalassa/null/rescue-boot.nix | 35 -- 26 files changed, 172 insertions(+), 1673 deletions(-) delete mode 100644 hosts/thalassa/null/README.md delete mode 100644 hosts/thalassa/null/configuration.nix delete mode 100644 hosts/thalassa/null/hardware-configuration.nix delete mode 100644 hosts/thalassa/null/home/default.nix delete mode 100644 hosts/thalassa/null/home/eww/default.nix delete mode 100644 hosts/thalassa/null/home/eww/eww.scss delete mode 100644 hosts/thalassa/null/home/eww/eww.yuck delete mode 100755 hosts/thalassa/null/home/eww/scripts/do-not-disturb.sh delete mode 100755 hosts/thalassa/null/home/eww/scripts/volume.sh delete mode 100755 hosts/thalassa/null/home/eww/scripts/wifi.sh delete mode 100755 hosts/thalassa/null/home/eww/scripts/workspaces.lua delete mode 100755 hosts/thalassa/null/home/eww/scripts/workspaces.sh delete mode 100644 hosts/thalassa/null/home/hyprland.nix delete mode 100644 hosts/thalassa/null/home/neovim.nix delete mode 100644 hosts/thalassa/null/home/theme.nix delete mode 100644 hosts/thalassa/null/networking.nix delete mode 100644 hosts/thalassa/null/rescue-boot.nix diff --git a/common/default.nix b/common/default.nix index f4ba59d9..06a486d8 100644 --- a/common/default.nix +++ b/common/default.nix @@ -1,4 +1,5 @@ -{ lib, inputs, pkgs, ... }: { +{ lib, inputs, ... }: +{ imports = [ ./users ./modules @@ -7,8 +8,14 @@ home-manager = { useGlobalPkgs = true; useUserPackages = true; - extraSpecialArgs = { inherit inputs; }; - sharedModules = [ ./hm-modules inputs.nixvim.homeManagerModules.nixvim ]; + extraSpecialArgs = { + inherit inputs; + }; + sharedModules = [ + ./hm-modules + inputs.nixvim.homeManagerModules.nixvim + inputs.catppuccin.homeManagerModules.catppuccin + ]; }; virtualisation.oci-containers.backend = lib.mkDefault "podman"; @@ -29,12 +36,15 @@ # Nix Settings nix = { - registry.nixpkgs.flake = inputs.nixpkgs; - nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; + # registry.nixpkgs.flake = inputs.nixpkgs; + # nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; # package = pkgs.nixUnstable; settings = { auto-optimise-store = true; - trusted-users = [ "root" "vivian" ]; + trusted-users = [ + "root" + "vivian" + ]; substituters = [ "https://nix-community.cachix.org" "https://nixpkgs-review-bot.cachix.org" diff --git a/common/hm-modules/catppuccin/default.nix b/common/hm-modules/catppuccin/default.nix index e8a184f5..c1f1bcdd 100644 --- a/common/hm-modules/catppuccin/default.nix +++ b/common/hm-modules/catppuccin/default.nix @@ -26,6 +26,11 @@ in enable = mkEnableOption "catppuccin"; }; config = mkIf cfg.enable { + catppuccin = { + flavor = "frappe"; + accent = "pink"; + }; + home.pointerCursor = { name = "Bibata_Ghost"; size = 24; @@ -39,14 +44,15 @@ in gtk = { enable = true; - theme = { - name = "Catppuccin-Frappe-Standard-Pink-Dark"; - package = pkgs.catppuccin-gtk.override { - accents = [ "pink" ]; - variant = "frappe"; - size = "standard"; - }; - }; + # theme = { + # name = "Catppuccin-Frappe-Standard-Pink-Dark"; + # package = pkgs.catppuccin-gtk.override { + # accents = [ "pink" ]; + # variant = "frappe"; + # size = "standard"; + # }; + # }; + iconTheme = { name = "Papirus-Dark"; package = pkgs.papirus-icon-theme.override { color = "violet"; }; @@ -56,31 +62,34 @@ in }; }; - qt = { - enable = true; - platformTheme = "qtct"; - style.name = "kvantum"; - }; + # qt = { + # enable = true; + # # platformTheme = "qtct"; + # style.name = "kvantum"; + # platformTheme.name = "kvantum"; + # }; - xdg.configFile = { - "Kvantum/kvantum.kvconfig".text = '' - [General] - theme=Catppuccin-Frappe-Pink - ''; - }; + # xdg.configFile = { + # "Kvantum/kvantum.kvconfig".text = '' + # [General] + # theme=Catppuccin-Frappe-Pink + # ''; + # }; home.packages = with pkgs; [ - (catppuccin-kvantum.override { - accent = "Pink"; - variant = "Frappe"; - }) + # (catppuccin-kvantum.override { + # accent = "Pink"; + # variant = "Frappe"; + # }) ]; - programs.mako.extraConfig = readFile "${mako}/src/frappe"; - - programs.starship.settings = { - palette = "catppuccin_frappe"; - } //fromTOML (readFile "${starship}/palettes/frappe.toml"); + services.mako.catppuccin.enable = true; + # programs.mako.extraConfig = readFile "${mako}/src/frappe"; + # + # programs.starship.settings = { + # palette = "catppuccin_frappe"; + # } //fromTOML (readFile "${starship}/palettes/frappe.toml"); + # programs.vscode = { userSettings."workbench.colorTheme" = "Catppuccin Frappé"; diff --git a/common/hm-modules/nvim/default.nix b/common/hm-modules/nvim/default.nix index 76790c57..8463cac3 100644 --- a/common/hm-modules/nvim/default.nix +++ b/common/hm-modules/nvim/default.nix @@ -37,6 +37,7 @@ with lib; conceallevel = 2; expandtab = true; tabstop = 2; + shiftwidth = 2; smartindent = true; }; diff --git a/common/modules/flood.nix b/common/modules/flood.nix index 64c20b33..57b5de70 100644 --- a/common/modules/flood.nix +++ b/common/modules/flood.nix @@ -1,8 +1,8 @@ { config, pkgs, lib, ... }: with lib; -let cfg = config.services.flood; +let cfg = config.services.v.flood; in { - options.services.flood = { + options.services.v.flood = { enable = mkEnableOption "flood"; user = mkOption { @@ -94,7 +94,7 @@ in { type = types.bool; default = false; description = '' - Enable SSL. + Enable SSL. key.pem and fullchain.pem needed in runtime directory. ''; }; diff --git a/flake.lock b/flake.lock index e2e85ce4..e38f6e02 100644 --- a/flake.lock +++ b/flake.lock @@ -40,6 +40,21 @@ "type": "gitlab" } }, + "catppuccin": { + "locked": { + "lastModified": 1720311994, + "narHash": "sha256-HsDHgJaozek5fExjwmN47QWbDtDnGLWJT4uOOtLEmvA=", + "owner": "catppuccin", + "repo": "nix", + "rev": "0ec7ee23269bcbe3e5f23de743fbc8e1383a3315", + "type": "github" + }, + "original": { + "owner": "catppuccin", + "repo": "nix", + "type": "github" + } + }, "colmena": { "inputs": { "flake-compat": "flake-compat_2", @@ -90,11 +105,11 @@ ] }, "locked": { - "lastModified": 1711299236, - "narHash": "sha256-6/JsyozOMKN8LUGqWMopKTSiK8N79T8Q+hcxu2KkTXg=", + "lastModified": 1718474113, + "narHash": "sha256-UKrfy/46YF2TRnxTtKCYzqf2f5ZPRRWwKCCJb7O5X8U=", "owner": "ipetkov", "repo": "crane", - "rev": "880573f80d09e18a11713f402b9e6172a085449f", + "rev": "0095fd8ea00ae0a9e6014f39c375e40c2fbd3386", "type": "github" }, "original": { @@ -110,11 +125,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1715699772, - "narHash": "sha256-sKhqIgucN5sI/7UQgBwsonzR4fONjfMr9OcHK/vPits=", + "lastModified": 1718194053, + "narHash": "sha256-FaGrf7qwZ99ehPJCAwgvNY5sLCqQ3GDiE/6uLhxxwSY=", "owner": "serokell", "repo": "deploy-rs", - "rev": "b3ea6f333f9057b77efd9091119ba67089399ced", + "rev": "3867348fa92bc892eba5d9ddb2d7a97b9e127a8a", "type": "github" }, "original": { @@ -300,11 +315,11 @@ ] }, "locked": { - "lastModified": 1709336216, - "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", + "lastModified": 1717285511, + "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", + "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8", "type": "github" }, "original": { @@ -321,11 +336,11 @@ ] }, "locked": { - "lastModified": 1717285511, - "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=", + "lastModified": 1719877454, + "narHash": "sha256-g5N1yyOSsPNiOlFfkuI/wcUjmtah+nxdImJqrSATjOU=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8", + "rev": "4e3583423212f9303aa1a6337f8dffb415920e4f", "type": "github" }, "original": { @@ -369,7 +384,7 @@ }, "flake-utils_10": { "inputs": { - "systems": "systems_10" + "systems": "systems_9" }, "locked": { "lastModified": 1681202837, @@ -474,7 +489,7 @@ }, "flake-utils_7": { "inputs": { - "systems": "systems_7" + "systems": "systems_6" }, "locked": { "lastModified": 1705309234, @@ -492,7 +507,7 @@ }, "flake-utils_8": { "inputs": { - "systems": "systems_8" + "systems": "systems_7" }, "locked": { "lastModified": 1701680307, @@ -510,7 +525,7 @@ }, "flake-utils_9": { "inputs": { - "systems": "systems_9" + "systems": "systems_8" }, "locked": { "lastModified": 1710146030, @@ -540,11 +555,11 @@ ] }, "locked": { - "lastModified": 1717664902, - "narHash": "sha256-7XfBuLULizXjXfBYy/VV+SpYMHreNRHk9nKMsm1bgb4=", + "lastModified": 1719259945, + "narHash": "sha256-F1h+XIsGKT9TkGO3omxDLEb/9jOOsI6NnzsXFsZhry4=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "cc4d466cb1254af050ff7bdf47f6d404a7c646d1", + "rev": "0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07", "type": "github" }, "original": { @@ -625,11 +640,11 @@ ] }, "locked": { - "lastModified": 1717525419, - "narHash": "sha256-5z2422pzWnPXHgq2ms8lcCfttM0dz+hg+x1pCcNkAws=", + "lastModified": 1720327769, + "narHash": "sha256-kAsg3Lg4YKKpGw+f1W2s5hzjP8B0y/juowvjK8utIag=", "owner": "nix-community", "repo": "home-manager", - "rev": "a7117efb3725e6197dd95424136f79147aa35e5b", + "rev": "6b7ce96f34b324e4e104abc30d06955d216bac71", "type": "github" }, "original": { @@ -646,11 +661,11 @@ ] }, "locked": { - "lastModified": 1717525419, - "narHash": "sha256-5z2422pzWnPXHgq2ms8lcCfttM0dz+hg+x1pCcNkAws=", + "lastModified": 1719827439, + "narHash": "sha256-tneHOIv1lEavZ0vQ+rgz67LPNCgOZVByYki3OkSshFU=", "owner": "nix-community", "repo": "home-manager", - "rev": "a7117efb3725e6197dd95424136f79147aa35e5b", + "rev": "59ce796b2563e19821361abbe2067c3bb4143a7d", "type": "github" }, "original": { @@ -672,11 +687,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1717686691, - "narHash": "sha256-LF4zVaSsJ83wq6j+4lm/olK2V71KAJHNJbD42mF+fr8=", + "lastModified": 1719818887, + "narHash": "sha256-Bogl1pJlgby7OpR16jp8zwOWV7FHRxCsnNxHcisyIq0=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "990e300ef9abe0eb8c86388683f8d7465e335626", + "rev": "0e6457c98547ec8866714d4222545e7e8c1ae429", "type": "github" }, "original": { @@ -692,20 +707,20 @@ "nixpkgs": [ "nixpkgs" ], - "utils": "utils_2" + "nixpkgs-24_05": "nixpkgs-24_05" }, "locked": { - "lastModified": 1717515088, - "narHash": "sha256-nWOLpPA7+k7V1OjXTuxdsVd5jeeI0b13Di57wvnqkic=", - "owner": "simple-nixos-mailserver", - "repo": "nixos-mailserver", - "rev": "0d51a32e4799d081f260eb4db37145f5f4ee7456", - "type": "gitlab" + "lastModified": 1718697807, + "narHash": "sha256-Enla61WFisytTYbWygPynEbu8vozjeGc6Obkj2GRj7o=", + "ref": "refs/heads/master", + "rev": "290a995de5c3d3f08468fa548f0d55ab2efc7b6b", + "revCount": 591, + "type": "git", + "url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git" }, "original": { - "owner": "simple-nixos-mailserver", - "repo": "nixos-mailserver", - "type": "gitlab" + "type": "git", + "url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git" } }, "microvm": { @@ -715,11 +730,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1717441449, - "narHash": "sha256-juxjgmLnFbl+/hhIO2cVtIa6caCO4pLKlZWUMwAOznM=", + "lastModified": 1720034501, + "narHash": "sha256-fzZpuVnhw5uOtA4OuXw3a+Otpy8C+QV0Uu5XfhGEPSg=", "owner": "astro", "repo": "microvm.nix", - "rev": "e3a4dd5b381fb580804105594cc9c71dc45abdb5", + "rev": "a808af7775f508a2afedd1e4940a382fe1194f21", "type": "github" }, "original": { @@ -736,11 +751,11 @@ ] }, "locked": { - "lastModified": 1716993688, - "narHash": "sha256-vo5k2wQekfeoq/2aleQkBN41dQiQHNTniZeVONWiWLs=", + "lastModified": 1719845423, + "narHash": "sha256-ZLHDmWAsHQQKnmfyhYSHJDlt8Wfjv6SQhl2qek42O7A=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "c0d5b8c54d6828516c97f6be9f2d00c63a363df4", + "rev": "ec12b88104d6c117871fad55e931addac4626756", "type": "github" }, "original": { @@ -751,11 +766,11 @@ }, "nixlib": { "locked": { - "lastModified": 1712450863, - "narHash": "sha256-K6IkdtMtq9xktmYPj0uaYc8NsIqHuaAoRBaMgu9Fvrw=", + "lastModified": 1719708727, + "narHash": "sha256-XFNKtyirrGNdehpg7lMNm1skEcBApjqGhaHc/OI95HY=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "3c62b6a12571c9a7f65ab037173ee153d539905f", + "rev": "1bba8a624b3b9d4f68db94fb63aaeb46039ce9e6", "type": "github" }, "original": { @@ -772,11 +787,11 @@ ] }, "locked": { - "lastModified": 1716210724, - "narHash": "sha256-iqQa3omRcHGpWb1ds75jS9ruA5R39FTmAkeR3J+ve1w=", + "lastModified": 1720055043, + "narHash": "sha256-SKizewU4UeYrkZWPUjur8EoxscGoNb0pGcrNL4YzAIg=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "d14b286322c7f4f897ca4b1726ce38cb68596c94", + "rev": "168b220231a70e47cc1f0919048fa5914415fb18", "type": "github" }, "original": { @@ -787,11 +802,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1717574423, - "narHash": "sha256-cz3P5MZffAHwL2IQaNzsqUBsJS+u0J/AAwArHMAcCa0=", + "lastModified": 1719895800, + "narHash": "sha256-xNbjISJTFailxass4LmdWeV4jNhAlmJPwj46a/GxE6M=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "d6c6cf6f5fead4057d8fb2d5f30aa8ac1727f177", + "rev": "6e253f12b1009053eff5344be5e835f604bb64cd", "type": "github" }, "original": { @@ -816,6 +831,21 @@ "type": "github" } }, + "nixpkgs-24_05": { + "locked": { + "lastModified": 1717144377, + "narHash": "sha256-F/TKWETwB5RaR8owkPPi+SPJh83AQsm6KrQAlJ8v/uA=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "805a384895c696f802a9bf5bf4720f37385df547", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "ref": "nixos-24.05", + "type": "indirect" + } + }, "nixpkgs-stable": { "locked": { "lastModified": 1711460390, @@ -882,11 +912,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1717602782, - "narHash": "sha256-pL9jeus5QpX5R+9rsp3hhZ+uplVHscNJh8n8VpqscM0=", + "lastModified": 1720031269, + "narHash": "sha256-rwz8NJZV+387rnWpTYcXaRNvzUSnnF9aHONoJIYmiUQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e8057b67ebf307f01bdcc8fba94d94f75039d1f6", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", "type": "github" }, "original": { @@ -897,11 +927,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1717196966, - "narHash": "sha256-yZKhxVIKd2lsbOqYd5iDoUIwsRZFqE87smE2Vzf6Ck0=", + "lastModified": 1719848872, + "narHash": "sha256-H3+EC5cYuq+gQW8y0lSrrDZfH71LB4DAf+TDFyvwCNA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "57610d2f8f0937f39dbd72251e9614b1561942d8", + "rev": "00d80d13810dbfea8ab4ed1009b09100cca86ba8", "type": "github" }, "original": { @@ -939,11 +969,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1717681257, - "narHash": "sha256-0PhFvfc4wDjba1cus2ALsfn0wVizeKkcuF+aqvDJivg=", + "lastModified": 1720298683, + "narHash": "sha256-CNtfHBwlKuTTanwmUI85Z/HkHShnqZs+WYyxQR8zRFY=", "owner": "pta2002", "repo": "nixvim", - "rev": "36f2e51b28ee3389a67ed5e9ed5c4bd388b06918", + "rev": "6674dea8403747827431d4d8497c34023f93d047", "type": "github" }, "original": { @@ -954,11 +984,11 @@ }, "nur": { "locked": { - "lastModified": 1717748219, - "narHash": "sha256-FTHNyCkHGI4F20WzBvIVurkr5J4UGMyZuZCWK6bxDhw=", + "lastModified": 1720333675, + "narHash": "sha256-VGywVhDGWxNjykMEiCv1XXk1xT7vYAYHe557L9dIQN0=", "owner": "nix-community", "repo": "NUR", - "rev": "c1edc05252cacfe23a04c9b7e687bb1dfaac67f9", + "rev": "25e98a0c8af990fdef4cd1aa951c6a7b93618bdd", "type": "github" }, "original": { @@ -973,10 +1003,6 @@ "lanzaboote", "flake-compat" ], - "flake-utils": [ - "lanzaboote", - "flake-utils" - ], "gitignore": "gitignore", "nixpkgs": [ "lanzaboote", @@ -985,11 +1011,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1710923068, - "narHash": "sha256-6hOpUiuxuwpXXc/xfJsBUJeqqgGI+JMJuLo45aG3cKc=", + "lastModified": 1717664902, + "narHash": "sha256-7XfBuLULizXjXfBYy/VV+SpYMHreNRHk9nKMsm1bgb4=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "e611897ddfdde3ed3eaac4758635d7177ff78673", + "rev": "cc4d466cb1254af050ff7bdf47f6d404a7c646d1", "type": "github" }, "original": { @@ -1001,6 +1027,7 @@ "root": { "inputs": { "attic": "attic", + "catppuccin": "catppuccin", "colmena": "colmena", "deploy": "deploy", "essentials": "essentials", @@ -1032,11 +1059,11 @@ ] }, "locked": { - "lastModified": 1711246447, - "narHash": "sha256-g9TOluObcOEKewFo2fR4cn51Y/jSKhRRo4QZckHLop0=", + "lastModified": 1718504420, + "narHash": "sha256-F2HT/abCfr0CDpkvXwYCscJyD66XDTLMVfdrIMRp2ck=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "dcc802a6ec4e9cc6a1c8c393327f0c42666f22e4", + "rev": "0043c3f92304823cc2c0a4354b0feaa61dfb4cd9", "type": "github" }, "original": { @@ -1092,21 +1119,6 @@ "type": "github" } }, - "systems_10": { - "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, @@ -1256,11 +1268,11 @@ ] }, "locked": { - "lastModified": 1717278143, - "narHash": "sha256-u10aDdYrpiGOLoxzY/mJ9llST9yO8Q7K/UlROoNxzDw=", + "lastModified": 1719887753, + "narHash": "sha256-p0B2r98UtZzRDM5miGRafL4h7TwGRC4DII+XXHDHqek=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "3eb96ca1ae9edf792a8e0963cc92fddfa5a87706", + "rev": "bdb6355009562d8f9313d9460c0d3860f525bc6c", "type": "github" }, "original": { @@ -1287,24 +1299,6 @@ "type": "github" } }, - "utils_2": { - "inputs": { - "systems": "systems_6" - }, - "locked": { - "lastModified": 1709126324, - "narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "d465f4819400de7c8d874d50b982301f28a84605", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "vault-secrets": { "inputs": { "flake-compat": "flake-compat_8", diff --git a/flake.nix b/flake.nix index 214af3d0..417fb581 100644 --- a/flake.nix +++ b/flake.nix @@ -17,7 +17,7 @@ home-manager.url = "github:nix-community/home-manager"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; - mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver"; + mailserver.url = "git+https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git"; mailserver.inputs.nixpkgs.follows = "nixpkgs"; nixvim.url = "github:pta2002/nixvim"; @@ -42,6 +42,8 @@ attic.url = "github:zhaofengli/attic"; attic.inputs.nixpkgs.follows = "nixpkgs"; + catppuccin.url = "github:catppuccin/nix"; + essentials.url = "github:jdonszelmann/essentials"; essentials.inputs.nixpkgs.follows = "nixpkgs"; }; @@ -58,6 +60,7 @@ gnome-autounlock-keyring, lanzaboote, t, + catppuccin, ... }@inputs: let @@ -76,6 +79,7 @@ # Channels config channelsConfig = { allowUnfree = true; + permittedInsecurePackages = [ "electron" ]; }; sharedOverlays = [ (import ./pkgs) @@ -88,6 +92,7 @@ modules = [ home-manager.nixosModules.home-manager gnome-autounlock-keyring.nixosModules.default + catppuccin.nixosModules.catppuccin ./common ]; @@ -98,7 +103,6 @@ # hosts hosts = { - # TODO: Figure out why this is reversed, and how/why it sets the FQDN "olympus.bastion" = { modules = [ ./common/generic-vm.nix diff --git a/hosts/thalassa/aoife/hardware.nix b/hosts/thalassa/aoife/hardware.nix index 772120d3..54fff359 100644 --- a/hosts/thalassa/aoife/hardware.nix +++ b/hosts/thalassa/aoife/hardware.nix @@ -13,8 +13,6 @@ # OpenGL + Vulkan opengl = { enable = true; - driSupport = true; - driSupport32Bit = true; extraPackages = with pkgs; [ amdvlk rocm-opencl-icd diff --git a/hosts/thalassa/aoife/home/hyprland.nix b/hosts/thalassa/aoife/home/hyprland.nix index 65d61198..9086960a 100644 --- a/hosts/thalassa/aoife/home/hyprland.nix +++ b/hosts/thalassa/aoife/home/hyprland.nix @@ -39,14 +39,6 @@ in }; }; - xdg.configFile."hypr/hyprpaper.conf".text = - let - wallpaper = "/home/vivian/cloud/Pictures/Wallpapers-Laptop/wallpaper-nix-pink.png"; - in - '' - - ''; - programs = { wofi = { enable = true; @@ -211,10 +203,11 @@ in "col.border_inactive" = "rgba(232634aa)"; groupbar = { - font_size = 16; + font_size = 10; + height = 18; "col.active" = "rgba(babbf1aa)"; "col.inactive" = "rgba(414559aa)"; - text_color = "rgba(81c8beee)"; + text_color = "rgba(ffffffee)"; }; }; decoration = { diff --git a/hosts/thalassa/aoife/uni.nix b/hosts/thalassa/aoife/uni.nix index 4b3d0940..29b1d26d 100644 --- a/hosts/thalassa/aoife/uni.nix +++ b/hosts/thalassa/aoife/uni.nix @@ -4,7 +4,7 @@ # * Smart Phone Sensing { pkgs, ... }: { - environment.systemPackages = with pkgs; [ android-studio ]; + environment.systemPackages = with pkgs; [ ]; programs.wireshark = { enable = true; diff --git a/hosts/thalassa/null/README.md b/hosts/thalassa/null/README.md deleted file mode 100644 index bd765da1..00000000 --- a/hosts/thalassa/null/README.md +++ /dev/null @@ -1,10 +0,0 @@ -# null -This folder contains the NixOS configuration for my laptop, with hostname `null`. - -## Information -* OS: NixOS -* WM: hyprland -* Terminal: foot -* Shell: zsh -* Theme: Captuccin Pink Dark -* Launcher: wofi diff --git a/hosts/thalassa/null/configuration.nix b/hosts/thalassa/null/configuration.nix deleted file mode 100644 index 21fa762b..00000000 --- a/hosts/thalassa/null/configuration.nix +++ /dev/null @@ -1,266 +0,0 @@ -# Edit this configuration file to define what should be installed on -# your system. Help is available in the configuration.nix(5) man page -# and in the NixOS manual (accessible by running ‘nixos-help’). - -{ pkgs, inputs, ... }: -let - nvidia-offload = pkgs.writeShellScriptBin "nvidia-offload" '' - export __NV_PRIME_RENDER_OFFLOAD=1 - export __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0 - export __GLX_VENDOR_LIBRARY_NAME=nvidia - export __VK_LAYER_NV_optimus=NVIDIA_only - export LIBVA_DRIVER_NAME=nvidia - export GBM_BACKEND=nvidia-drm - - exec "$@" - ''; - run-hyprland = pkgs.writeShellScriptBin "run-hyprland" '' - export _JAVA_AWT_WM_NONREPARENTING=1 - export XCURSOR_SIZE=32 - - export CLUTTER_BACKEND=wayland - export XDG_SESSION_TYPE=wayland - export QT_WAYLAND_DISABLE_WINDOWDECORATION=1 - export MOZ_ENABLE_WAYLAND=1 - export WLR_NO_HARDWARE_CURSORS=1 - export WLR_BACKEND=vulkan - export QT_QPA_PLATFORM=wayland - export GDK_BACKEND=wayland - export SDL_VIDEODRIVER=wayland - - exec Hyprland - ''; -in { - imports = [ - # Include the results of the hardware scan. - ./hardware-configuration.nix - ./rescue-boot.nix - ./networking.nix - ]; - home-manager = { - - # home-manager - useGlobalPkgs = true; - useUserPackages = true; - users.vivian = import ./home; - extraSpecialArgs = { inherit inputs; }; - }; - - security = { - - pam.services.swaylock = { }; - - sudo.wheelNeedsPassword = true; - rtkit.enable = true; - - # Enables logging in with my Solokey - pam.u2f = { - enable = true; - debug = false; - cue = true; - control = "sufficient"; - authFile = - "/etc/u2f-mappings"; # use `pamu2fcfg` from `pkgs.pam_u2f` to generate this config - }; - }; - - fonts = { - fonts = with pkgs; [ - material-design-icons - noto-fonts - noto-fonts-cjk - noto-fonts-emoji - dejavu_fonts - (nerdfonts.override { - fonts = - [ "DejaVuSansMono" "Ubuntu" "DroidSansMono" "NerdFontsSymbolsOnly" ]; - }) - ]; - - enableDefaultFonts = false; - - fontconfig = { - defaultFonts = { - monospace = [ "DejaVuSansMono Nerd Font" "Noto Color Emoji" ]; - sansSerif = - [ "DejaVu Sans" "DejaVuSansMono Nerd Font" "Noto Color Emoji" ]; - serif = - [ "DejaVu Serif" "DejaVuSansMono Nerd Font" "Noto Color Emoji" ]; - emoji = [ "Noto Color Emoji" ]; - }; - }; - }; - - # Bootloader. - # boot.initrd.systemd.enable = true; # Experimental - boot = { - kernelPackages = pkgs.linuxPackages_latest; - loader = { - systemd-boot.editor = false; - systemd-boot.enable = true; - # loader.systemd-boot.configurationLimit = 6; - efi.canTouchEfiVariables = true; - efi.efiSysMountPoint = "/boot/efi"; - }; - - kernel.sysctl = { "fs.inotify.max_user_watches" = 524288; }; - }; - services = { - gnome.gnome-keyring.enable = true; - - udisks2.enable = true; - dbus.enable = true; - - xserver = { - enable = false; - layout = "us"; - xkbVariant = "altgr-intl"; - xkbOptions = "caps:swapescape"; - videoDrivers = [ "nvidia" ]; - }; - blueman.enable = true; - - # Enable CUPS to print documents. - printing.enable = true; - pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - # If you want to use JACK applications, uncomment this - #jack.enable = true; - - # use the example session manager (no others are packaged yet so this is enabled by default, - # no need to redefine it in your config for now) - #media-session.enable = true; - }; - - fstrim.enable = true; - - # don't shutdown when power button is short-pressed - logind.extraConfig = '' - HandlePowerKey=suspend - ''; - - udev.packages = with pkgs; [ - android-udev-rules - logitech-udev-rules - wooting-udev-rules - ]; - }; - fileSystems = { - - "/".options = [ "compress=zstd" ]; - "/home".options = [ "compress=zstd" ]; - "/nix".options = [ "compress=zstd" "noatime" ]; - }; - i18n = { - - # Filesystem dedup - # services.beesd.filesystems = { - # root = { - # spec = "LABEL=nixos"; - # hashTableSizeMB = 256; - # verbosity = "crit"; - # extraOptions = [ "--loadavg-target" "2.0" ]; - # }; - # }; - - # Select internationalisation properties. - defaultLocale = "en_GB.utf8"; - - extraLocaleSettings = { - LC_ADDRESS = "nl_NL.UTF-8"; - LC_IDENTIFICATION = "nl_NL.UTF-8"; - LC_MEASUREMENT = "nl_NL.UTF-8"; - LC_MONETARY = "nl_NL.UTF-8"; - LC_NAME = "nl_NL.UTF-8"; - LC_NUMERIC = "nl_NL.UTF-8"; - LC_PAPER = "nl_NL.UTF-8"; - LC_TELEPHONE = "nl_NL.UTF-8"; - LC_TIME = "en_DK.UTF-8"; - }; - - supportedLocales = - [ "en_GB.UTF-8/UTF-8" "nl_NL.UTF-8/UTF-8" "en_DK.UTF-8/UTF-8" ]; - }; - - xdg.portal = { - enable = true; - wlr.enable = true; - }; - programs = { - - # Hyprland - hyprland = { - enable = true; - package = null; # Managed by home manager - }; - - steam = { - enable = true; - remotePlay.openFirewall = true; - dedicatedServer.openFirewall = true; - }; - - ssh.startAgent = true; - }; - - environment.loginShellInit = '' - if [ -z $DISPLAY ] && [ "$(tty)" = "/dev/tty1" ]; then - ${run-hyprland}/bin/run-hyprland - fi - ''; - hardware = { - - nvidia.prime = { - offload.enable = true; - intelBusId = "PCI:0:2:0"; - nvidiaBusId = "PCI:1:0:0"; - }; - - opengl = { - enable = true; - extraPackages = with pkgs; [ - vaapiVdpau - intel-media-driver # LIBVA_DRIVER_NAME=iHD - vaapiIntel # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium) - libvdpau-va-gl - ]; - }; - - bluetooth.enable = true; - - saleae-logic.enable = true; - pulseaudio.enable = false; - }; - - virtualisation.podman.enable = true; - - # Enable sound with pipewire. - sound.enable = true; - - environment.systemPackages = with pkgs; [ - pciutils - nvidia-offload - run-hyprland - wireguard-tools - slurp - gdb - - swaylock-effects # Has to be installed globally so that pam module works - ]; - - nix.extraOptions = '' - keep-outputs = true - keep-derivations = true - ''; - - # 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 - # 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 = "22.05"; # Did you read the comment? -} diff --git a/hosts/thalassa/null/hardware-configuration.nix b/hosts/thalassa/null/hardware-configuration.nix deleted file mode 100644 index 4c230e9f..00000000 --- a/hosts/thalassa/null/hardware-configuration.nix +++ /dev/null @@ -1,56 +0,0 @@ -# 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, modulesPath, ... }: - -{ - imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; - boot = { - - initrd.availableKernelModules = - [ "xhci_pci" "ahci" "nvme" "rtsx_pci_sdmmc" ]; - initrd.kernelModules = [ ]; - kernelModules = [ "kvm-intel" ]; - extraModulePackages = [ ]; - }; - fileSystems = { - - "/" = { - device = "/dev/disk/by-uuid/d4f56e5b-2509-4e63-8324-65a35c71e90c"; - fsType = "btrfs"; - options = [ "subvol=@" ]; - }; - - "/nix" = { - device = "/dev/disk/by-uuid/d4f56e5b-2509-4e63-8324-65a35c71e90c"; - fsType = "btrfs"; - options = [ "subvol=@/nix" ]; - }; - - "/home" = { - device = "/dev/disk/by-uuid/d4f56e5b-2509-4e63-8324-65a35c71e90c"; - fsType = "btrfs"; - options = [ "subvol=@home" ]; - }; - - "/boot/efi" = { - device = "/dev/disk/by-uuid/D478-6F66"; - fsType = "vfat"; - }; - }; - - 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.wg0.useDHCP = lib.mkDefault true; - # networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; - hardware.cpu.intel.updateMicrocode = - lib.mkDefault config.hardware.enableRedistributableFirmware; -} diff --git a/hosts/thalassa/null/home/default.nix b/hosts/thalassa/null/home/default.nix deleted file mode 100644 index 9a39469d..00000000 --- a/hosts/thalassa/null/home/default.nix +++ /dev/null @@ -1,353 +0,0 @@ -{ - config, - pkgs, - inputs, - texlive, - ... -}: -let - tex = pkgs.texlive.combine { - inherit (pkgs.texlive) scheme-full; - dnd-5e-latex-template = { - pkgs = [ pkgs.v.dnd-5e-latex-template ]; - }; - }; -in -{ - programs = { - home-manager.enable = true; - - foot = { - enable = true; - }; - - nix-index.enable = true; - - exa = { - enable = true; - enableAliases = true; - }; - - bat.enable = true; - - git = { - enable = true; - package = pkgs.gitAndTools.gitFull; - userName = "Vivian"; - userEmail = "vivian@0x76.dev"; - lfs.enable = true; - # delta.enable = true; - extraConfig = { - push.autoSetupRemote = true; - init.defaultBranch = "main"; - }; - }; - - mako = { - enable = true; - extraConfig = '' - [mode=do-not-disturb] - invisible=1 - ''; - }; - - tmux = { - enable = true; - shortcut = "b"; - terminal = "screen-256color"; - clock24 = true; - }; - - firefox = { - enable = true; - package = pkgs.firefox-devedition-bin; - }; - - vscode = { - enable = true; - package = pkgs.vscode; - userSettings = { - "ltex.language" = "en-GB"; - "latex-workshop" = { - "linting.chktex.enabled" = true; - "latex.clean.subfolder.enabled" = true; - "latex.outDir" = "%TMPDIR%/%RELATIVE_DOC%"; - }; - "workbench.colorTheme" = "Catppuccin Frappé"; - "editor.fontFamily" = "'DejaVuSansMono Nerd Font', 'monospace', monospace"; - "keyboard.dispatch" = "keyCode"; - "rust-analyzer.server.path" = "${pkgs.rust-analyzer}/bin/rust-analyzer"; - "terminal.integrated.defaultProfile.linux" = "zsh"; - "nix.enableLanguageServer" = true; # Enable LSP. - "nix.serverPath" = "${pkgs.nil}/bin/nil"; # The path to the LSP server executable. - "[nix]" = { - "editor.defaultFormatter" = "brettm12345.nixfmt-vscode"; - }; - "latex-workshop.latex.tools" = [ - { - "name" = "latexmk"; - "command" = "latexmk"; - "args" = [ - "-shell-escape" - "-synctex=1" - "-interaction=nonstopmode" - "-file-line-error" - "-pdf" - "-outdir=%OUTDIR%" - "%DOC%" - ]; - "env" = { }; - } - { - "name" = "lualatexmk"; - "command" = "latexmk"; - "args" = [ - "-synctex=1" - "-interaction=nonstopmode" - "-file-line-error" - "-lualatex" - "-outdir=%OUTDIR%" - "%DOC%" - ]; - "env" = { }; - } - { - "name" = "xelatexmk"; - "command" = "latexmk"; - "args" = [ - "-synctex=1" - "-interaction=nonstopmode" - "-file-line-error" - "-xelatex" - "-outdir=%OUTDIR%" - "%DOC%" - ]; - "env" = { }; - } - { - "name" = "latexmk_rconly"; - "command" = "latexmk"; - "args" = [ "%DOC%" ]; - "env" = { }; - } - { - "name" = "pdflatex"; - "command" = "pdflatex"; - "args" = [ - "-synctex=1" - "-interaction=nonstopmode" - "-file-line-error" - "%DOC%" - ]; - "env" = { }; - } - { - "name" = "bibtex"; - "command" = "bibtex"; - "args" = [ "%DOCFILE%" ]; - "env" = { }; - } - { - "name" = "rnw2tex"; - "command" = "Rscript"; - "args" = [ - "-e" - "knitr==opts_knit$set(concordance = TRUE); knitr==knit('%DOCFILE_EXT%')" - ]; - "env" = { }; - } - { - "name" = "jnw2tex"; - "command" = "julia"; - "args" = [ - "-e" - "using Weave; weave(\"%DOC_EXT%\"; doctype=\"tex\")" - ]; - "env" = { }; - } - { - "name" = "jnw2texminted"; - "command" = "julia"; - "args" = [ - "-e" - "using Weave; weave(\"%DOC_EXT%\"; doctype=\"texminted\")" - ]; - "env" = { }; - } - { - "name" = "pnw2tex"; - "command" = "pweave"; - "args" = [ - "-f" - "tex" - "%DOC_EXT%" - ]; - "env" = { }; - } - { - "name" = "pnw2texminted"; - "command" = "pweave"; - "args" = [ - "-f" - "texminted" - "%DOC_EXT%" - ]; - "env" = { }; - } - { - "name" = "tectonic"; - "command" = "tectonic"; - "args" = [ - "--synctex" - "--keep-logs" - "%DOC%.tex" - ]; - "env" = { }; - } - ]; - }; - extensions = - with pkgs.vscode-extensions; - with pkgs.v.vscode-extensions; - [ - # astro-build.astro-vscode - brettm12345.nixfmt-vscode - catppuccin.catppuccin-vsc - codezombiech.gitignore - editorconfig.editorconfig - foxundermoon.shell-format - james-yu.latex-workshop - jnoortheen.nix-ide - matklad.rust-analyzer - mkhl.direnv - ms-vscode-remote.remote-ssh - ms-vscode.cpptools - platformio.platformio-ide - redhat.vscode-yaml - tamasfe.even-better-toml - valentjn.vscode-ltex - vscodevim.vim - xaver.clang-format - ]; - }; - - direnv = { - enable = true; - nix-direnv = { - enable = true; - }; - }; - - zsh = { - enable = true; - sessionVariables = { - DIRENV_LOG_FORMAT = ""; - }; - }; - }; - home = { - username = "vivian"; - homeDirectory = "/home/vivian"; - stateVersion = "22.05"; - - packages = with pkgs; [ - appimage-run - brightnessctl - btop - calibre - cinny-desktop - discord-canary - fluxcd - fusee-launcher - gcc - gimp - gnome.eog - gnome.file-roller - gnome.gnome-font-viewer - gnome.nautilus - grim # Screenshot tool - # inputs.comma.packages.${pkgs.system}.default - inputs.webcord.packages.${pkgs.system}.default - k9s - kubectl - libnotify - mullvad-vpn - neofetch - nixpkgs-review - nixfmt - ouch - plex-media-player - plexamp - python3 - retroarchFull - ripgrep - rsync - rustup - saleae-logic-2 - solo2-cli - steam-run - tex - thunderbird-wayland - v.deemix-gui - wf-recorder # Screenrecorder - wl-clipboard # Clipboard manager - wofi # Wayland rofi - wpa_supplicant_gui - ]; - }; - - imports = [ - ./hyprland.nix - ./neovim.nix - ./eww - ./theme.nix - ]; - - xdg.mimeApps = { - enable = true; - defaultApplications = - let - browser = [ "firefox.desktop" ]; - in - { - "image/*" = "org.gnome.eog.desktop"; - "text/html" = browser; - "x-scheme-handler/http" = browser; - "x-scheme-handler/https" = browser; - "x-scheme-handler/ftp" = browser; - "x-scheme-handler/about" = browser; - "x-scheme-handler/unknown" = browser; - "application/x-extension-htm" = browser; - "application/x-extension-html" = browser; - "application/x-extension-shtml" = browser; - "application/xhtml+xml" = browser; - "application/x-extension-xhtml" = browser; - "application/x-extension-xht" = browser; - - "application/json" = browser; - "application/pdf" = browser; - - "x-scheme-handler/vscode" = "code-url-handler.desktop"; - "x-scheme-handler/discord" = "webcord.desktop"; - }; - }; - - xdg.userDirs = - let - home = config.home.homeDirectory; - in - { - enable = true; - createDirectories = true; - desktop = "${home}/.desktop"; - documents = "${home}/cloud/Documents"; - download = "${home}/dl"; - music = "${home}/cloud/Music"; - pictures = "${home}/cloud/Pictures"; - publicShare = "${home}/.publicShare"; - templates = "${home}/.templates"; - videos = "${home}/cloud/Videos"; - }; - - services.syncthing.enable = true; -} diff --git a/hosts/thalassa/null/home/eww/default.nix b/hosts/thalassa/null/home/eww/default.nix deleted file mode 100644 index 120b59a0..00000000 --- a/hosts/thalassa/null/home/eww/default.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ pkgs, ... }: { - home = { - packages = with pkgs; [ - eww-wayland - pamixer - lua - (nerdfonts.override { fonts = [ "JetBrainsMono" ]; }) - ]; - file = { - - ".config/eww/eww.yuck".source = ./eww.yuck; - ".config/eww/eww.scss".text = builtins.readFile ./eww.scss; - - # scripts - # TODO: just link all scripts in ./scripts to .config/eww/scripts - ".config/eww/scripts/volume.sh" = { - source = ./scripts/volume.sh; - executable = true; - }; - - ".config/eww/scripts/wifi.sh" = { - source = ./scripts/wifi.sh; - executable = true; - }; - - ".config/eww/scripts/workspaces.sh" = { - source = ./scripts/workspaces.sh; - executable = true; - }; - - ".config/eww/scripts/workspaces.lua" = { - source = ./scripts/workspaces.lua; - executable = true; - }; - - ".config/eww/scripts/do-not-disturb.sh" = { - source = ./scripts/do-not-disturb.sh; - executable = true; - }; - }; - }; -} diff --git a/hosts/thalassa/null/home/eww/eww.scss b/hosts/thalassa/null/home/eww/eww.scss deleted file mode 100644 index 73435ed6..00000000 --- a/hosts/thalassa/null/home/eww/eww.scss +++ /dev/null @@ -1,138 +0,0 @@ -$light-gray: #9699b7; - -* { - all: unset; //Unsets everything so you can style everything from scratch - font-family: "JetBrainsMono" -} - -tooltip { - background-color: $base; - border-radius: 5px -} - -button { - transition: background-color 200ms, color 200ms; -} - -.active { - color: $pink; - font-size: 1.4rem; -} - -.inactive { - color: $base; - font-size: 1.4rem; -} - -.inactive:hover { - color: $light-gray; -} - -.bar { - background-color: $mantle; -} - -.clock { - font-weight: bold; - background-color: $base; - color: $text; - border-radius: 10px; - padding: 0.2rem; - margin: 0.5rem; -} - -.date { - font-size: 1.5rem; - color: $text; -} - - -.battery { - font-family: monospace; - font-size: 1.5rem; - color: $teal; -} - -.volume, -.dnd, -.wifi { - font-family: monospace; - font-size: 1.5rem; - color: $mauve; - padding: 0 5px; -} - - -// battery menu -.batterywindow { - background-color: $mantle; - border-radius: 5px; - font-size: 18px; - font-weight: normal; - color: $text; - - progressbar { - border-radius: 5px; - } - - progressbar progress { - background-color: $green; - } - - progressbar trough { - background-color: $base; - } - - .batterymenu { - padding: 10px; - } - -} - -// Calendar -.cal { - background-color: $mantle; - border-radius: 5px; - font-size: 18px; - font-weight: normal; - - .cal-in { - padding: 0px 10px 0px 10px; - color: $text; - - .cal { - &.highlight { - padding: 20px; - } - - padding: 5px 5px 5px 5px; - margin-left: 10px; - } - } -} - -calender { - color: $text; -} - -calendar:selected { - color: $mauve; -} - -calendar.header { - color: $overlay0; - font-weight: bold; -} - -calendar.button { - color: $base; -} - -calendar.highlight { - color: $overlay0; - font-weight: bold; -} - -calendar:indeterminate { - color: $text; -} \ No newline at end of file diff --git a/hosts/thalassa/null/home/eww/eww.yuck b/hosts/thalassa/null/home/eww/eww.yuck deleted file mode 100644 index 04673aff..00000000 --- a/hosts/thalassa/null/home/eww/eww.yuck +++ /dev/null @@ -1,164 +0,0 @@ -(defwidget bar [] - (centerbox - :orientation "v" - (box - :valign "start" - :hexpand false - :vexpand false - :orientation "v" - :space-evenly false - ) - - (workspaces - :halign "center" - :vexpand true - :hexpand false - :orientation "v" - ) - - (box :valign "end" :hexpand false :vexpand true :orientation "v" :space-evenly false - (wifi) - (do-not-disturb) - (volume) - (battery) - (time) - ) - ) -) - -;; ━━━ BATTERY ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ -(defwidget battery [] - (eventbox :onclick "eww open batterywindow --toggle" - (label - :text `${ - EWW_BATTERY.BAT0.status == "Charging" ? "" : - EWW_BATTERY.BAT0.capacity < 10 ? "" : - EWW_BATTERY.BAT0.capacity < 20 ? "" : - EWW_BATTERY.BAT0.capacity < 30 ? "" : - EWW_BATTERY.BAT0.capacity < 40 ? "" : - EWW_BATTERY.BAT0.capacity < 50 ? "" : - EWW_BATTERY.BAT0.capacity < 60 ? "" : - EWW_BATTERY.BAT0.capacity < 70 ? "" : - EWW_BATTERY.BAT0.capacity < 80 ? "" : - EWW_BATTERY.BAT0.capacity < 90 ? "" : "" - }` - :class "battery" - )) -) - -(defwidget batterymenu [] - (box :orientation "v" - :class "batterymenu" - (label :text "${EWW_BATTERY.BAT0.status}: ${EWW_BATTERY.BAT0.capacity}%") - (progress :value "${EWW_BATTERY.BAT0.capacity}" :orientation "h") ; TODO: change class (and color) on low juice - ) -) - -(defwindow batterywindow - :monitor 0 - :geometry (geometry - :x "53px" - :y "30px" - :anchor "bottom left" - ) - (batterymenu) -) - -; ━━━ do-not-disturb ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ -(defvar dnd "") -(defwidget do-not-disturb [] - (eventbox - :orientation "h" - :halign "center" - :space-evenly false - :onclick "nohup ./scripts/do-not-disturb.sh &" - (label - :text {dnd} - :class "dnd" - ) - ) -) - -;; ━━━ WIFI ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ -(defpoll wifi :interval "30s" "./scripts/wifi.sh") - -(defwidget wifi [] - (box - :orientation "h" - :halign "center" - :space-evenly false - (label - :text {wifi.icon} - :tooltip {wifi.status} - :class "wifi" - ) - ) -) - -;; ━━━ VOLUME ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ -(defpoll volume :interval "1s" "./scripts/volume.sh") -(defwidget volume [] - (eventbox - :orientation "h" - :halign "center" - :space-evenly false - :onclick "pamixer -t" - (label - :text {volume.icon} - :tooltip "${volume.percent}%" - :class "volume" - ) - ) -) - -;; ━━━ TIME ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ -(defpoll hour :interval "10s" "date +%H") -(defpoll minute :interval "10s" "date +%M") -(defpoll dateVar :interval "600s" "date '+%A %d.%m.%y'") - -(defwidget time [] - (eventbox - :cursor "hand" - :hexpand false - :vexpand false - :tooltip "${dateVar}" - :onclick "eww open calendar --toggle &" - (box :orientation "v" :hexpand false :vexpand false :space-evenly false :class "clock" - (label :class "date" :text "${hour}") - - (label :class "date" :text "${minute}") - ) - ) -) - -;; Calendar -(defpoll calendar_day :interval "20h" "date '+%d'") -(defpoll calendar_year :interval "20h" "date '+%Y'") -(defwidget cal [] - (box :class "cal" :orientation "v" - (box :class "cal-in" - (calendar :class "cal" - :day calendar_day - :year calendar_year)))) - -(defwindow calendar - :monitor 0 - :geometry (geometry :x "53px" - :y "5px" - :anchor "bottom left" - :width "270px" - :height "60px") - (cal)) - -(deflisten workspaces_listen "./scripts/workspaces.sh") -(defwidget workspaces [] - (literal :content workspaces_listen)) - -(defwindow bar - :monitor 0 - :exclusive false - :geometry (geometry :height "1080px" :x "-4px" :y "0px" - :width "52px" - :anchor "top left") - :stacking "fg" - (bar)) diff --git a/hosts/thalassa/null/home/eww/scripts/do-not-disturb.sh b/hosts/thalassa/null/home/eww/scripts/do-not-disturb.sh deleted file mode 100755 index fe35e03c..00000000 --- a/hosts/thalassa/null/home/eww/scripts/do-not-disturb.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env nix-shell -#! nix-shell -p jq -i bash - -if makoctl mode | rg -q "do-not-disturb"; then - eww update dnd="" - makoctl mode -r do-not-disturb > /dev/null -else - eww update dnd="" - makoctl mode -a do-not-disturb > /dev/null -fi diff --git a/hosts/thalassa/null/home/eww/scripts/volume.sh b/hosts/thalassa/null/home/eww/scripts/volume.sh deleted file mode 100755 index f2746614..00000000 --- a/hosts/thalassa/null/home/eww/scripts/volume.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -per="$(pamixer --get-volume)" - -if pamixer --get-mute | rg -q true; then - icon="婢" -elif [ "$per" -gt 66 ]; then - icon="墳" # high -elif [ "$per" -gt 33 ]; then - icon="奔" # med -else - icon="奄" #low -fi - -printf "{\"icon\": \"${icon}\", \"percent\": \"${per}\"}" diff --git a/hosts/thalassa/null/home/eww/scripts/wifi.sh b/hosts/thalassa/null/home/eww/scripts/wifi.sh deleted file mode 100755 index e3601ad0..00000000 --- a/hosts/thalassa/null/home/eww/scripts/wifi.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -if wpa_cli status | rg -q "wpa_state=COMPLETED"; then - icon="直" - status="Connected" -else - icon="睊" - status="offline" -fi - -printf "{\"icon\": \"${icon}\", \"status\": \"${status}\"}" diff --git a/hosts/thalassa/null/home/eww/scripts/workspaces.lua b/hosts/thalassa/null/home/eww/scripts/workspaces.lua deleted file mode 100755 index 43b14785..00000000 --- a/hosts/thalassa/null/home/eww/scripts/workspaces.lua +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env lua - -aw = io.popen("hyprctl monitors | grep active | sed 's/()/(1)/g' | sort | awk 'NR>1{print $1}' RS='(' FS=')'") -active_workspace = aw:read("*a") -aw:close() - -box = "(box :orientation \"v\" :spacing 1 :space-evenly \"true\" " - -for i = 1,10 do - if i == tonumber(active_workspace) then - local btn = "(button :class \"active\" :onclick \"hyprctl dispatch workspace "..i.." \" \"\")" - box = box .. btn - else - local btn = "(button :class \"inactive\" :onclick \"hyprctl dispatch workspace "..i.."\" \"\")" - box = box .. btn - end -end - -box = box .. ")" - -print(box) diff --git a/hosts/thalassa/null/home/eww/scripts/workspaces.sh b/hosts/thalassa/null/home/eww/scripts/workspaces.sh deleted file mode 100755 index 23cc9225..00000000 --- a/hosts/thalassa/null/home/eww/scripts/workspaces.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -workspaces() { - ./scripts/workspaces.lua -} - -workspaces - -tail -f /tmp/hypr/$HYPRLAND_INSTANCE_SIGNATURE/hyprland.log | grep --line-buffered "Changed to workspace" | while read -r; do - workspaces -done diff --git a/hosts/thalassa/null/home/hyprland.nix b/hosts/thalassa/null/home/hyprland.nix deleted file mode 100644 index cdc6efa4..00000000 --- a/hosts/thalassa/null/home/hyprland.nix +++ /dev/null @@ -1,137 +0,0 @@ -{ pkgs, config, ... }: { - home.file.".config/hypr/hyprpaper.conf".text = '' - ipc = off - preload = ~/cloud/Pictures/Wallpapers-Laptop/wallpaper-nix-pink.png - wallpaper = eDP-1,~/cloud/Pictures/Wallpapers-Laptop/wallpaper-nix-pink.png - ''; - - wayland.windowManager.hyprland = - let - startup-script = pkgs.writeScriptBin "startup" '' - #!${pkgs.stdenv.shell} - hyprctl setcursor Catppuccin-Frappe-Pink-Cursors ${ - builtins.toString config.home.pointerCursor.size - } - ${pkgs.hyprpaper}/bin/hyprpaper & - foot --server & - eww daemon & - eww open bar & - firefox-devedition & - webcord & - element-desktop & - ''; - in - { - enable = true; - recommendedEnvironment = true; - extraConfig = '' - exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP - exec-once=systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP - - monitor=eDP-1,1920x1080@60,0x0,1 - monitor=eDP-1,addreserved,0,0,48,0 - monitor=,preferred,auto,1 - - windowrulev2 = workspace 1 silent,class:^(Electron)$,title:^(.*)(WebCord)(.*)$ - windowrulev2 = workspace 1 silent,title:^(Element)(.*)$ - windowrulev2 = workspace 2 silent,class:^(firefox-aurora)$ - windowrulev2 = float,class:^(firefox-aurora)$,title:^(Picture-in-Picture)$ - - general { - layout = dwindle - col.active_border = 0xfff4b8e4 - } - - input { - kb_options=caps:escape - touchpad { - natural_scroll= true - } - } - - gestures { - workspace_swipe = true - } - - misc { - no_vfr = false - disable_hyprland_logo = true - disable_splash_rendering = true - } - - dwindle { - pseudotile=true - } - - bind=SUPER,RETURN,exec,footclient - bind=SUPER,f,exec,firefox-devedition - bind=SUPER,d,exec,wofi --show run,drun - - bind=,Print,exec,grim -g "$(slurp)" -t png - | wl-copy -t image/png - bind=SUPER,W,killactive, - bind=SUPERSHIFT,Q,exit, - bind=SUPER,S,togglefloating, - bind=SUPER,P,pin, - - bindm=SUPER,mouse:272,movewindow - bindm=SUPER,mouse:273,resizewindow - - bind=SUPER,left,movefocus,l - bind=SUPER,right,movefocus,r - bind=SUPER,up,movefocus,u - bind=SUPER,down,movefocus,d - - bind=SUPER,1,workspace,1 - bind=SUPER,2,workspace,2 - bind=SUPER,3,workspace,3 - bind=SUPER,4,workspace,4 - bind=SUPER,5,workspace,5 - bind=SUPER,6,workspace,6 - bind=SUPER,7,workspace,7 - bind=SUPER,8,workspace,8 - bind=SUPER,9,workspace,9 - bind=SUPER,0,workspace,10 - bind=SUPER,grave,togglespecialworkspace - - bind=ALT,1,movetoworkspace,1 - bind=ALT,2,movetoworkspace,2 - bind=ALT,3,movetoworkspace,3 - bind=ALT,4,movetoworkspace,4 - bind=ALT,5,movetoworkspace,5 - bind=ALT,6,movetoworkspace,6 - bind=ALT,7,movetoworkspace,7 - bind=ALT,8,movetoworkspace,8 - bind=ALT,9,movetoworkspace,9 - bind=ALT,0,movetoworkspace,10 - bind=ALT,grave,movetoworkspace,special - - bind=SUPERSHIFT,1,movetoworkspacesilent,1 - bind=SUPERSHIFT,2,movetoworkspacesilent,2 - bind=SUPERSHIFT,3,movetoworkspacesilent,3 - bind=SUPERSHIFT,4,movetoworkspacesilent,4 - bind=SUPERSHIFT,5,movetoworkspacesilent,5 - bind=SUPERSHIFT,6,movetoworkspacesilent,6 - bind=SUPERSHIFT,7,movetoworkspacesilent,7 - bind=SUPERSHIFT,8,movetoworkspacesilent,8 - bind=SUPERSHIFT,9,movetoworkspacesilent,9 - bind=SUPERSHIFT,0,movetoworkspacesilent,10 - bind=SUPERSHIFT,grave,movetoworkspacesilent,special - - bind=SUPER,mouse_down,workspace,e+1 - bind=SUPER,mouse_up,workspace,e-1 - - bind=SUPER,g,togglegroup - bind=SUPER,tab,changegroupactive - bind=SUPER,m,fullscreen,1 - bind=SUPERSHIFT,m,fullscreen,0 - - bind=,XF86MonBrightnessUp,exec,brightnessctl -q s +5% - bind=,XF86MonBrightnessDown,exec,brightnessctl -q s 5%- - bind=,XF86MonRaiseVolume,exec,pamixer -i 5 - bind=,XF86MonLowerVolume,exec,pamixer -d 5 - bind=,XF86AudioMute,exec,pamixer -t - - exec-once=${startup-script}/bin/startup - ''; - }; -} diff --git a/hosts/thalassa/null/home/neovim.nix b/hosts/thalassa/null/home/neovim.nix deleted file mode 100644 index a6eb4fa8..00000000 --- a/hosts/thalassa/null/home/neovim.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ inputs, pkgs, ... }: { - imports = [ inputs.nixvim.homeManagerModules.nixvim ]; - programs.nixvim = { - enable = true; - package = pkgs.neovim-unwrapped; - - extraPlugins = with pkgs.vimPlugins; [ catppuccin-nvim ]; - - colorscheme = "catppuccin-frappe"; - - plugins = { - nix.enable = true; - treesitter = { - enable = true; - nixGrammars = false; - ensureInstalled = [ ]; - }; - surround.enable = true; - fugitive.enable = true; - lualine = { - enable = true; - theme = "catppuccin"; - }; - telescope = { - enable = true; - extensions.fzf-native.enable = true; - }; - lsp = { - enable = true; - servers = { - rust-analyzer.enable = true; - rnix-lsp.enable = true; - pyright.enable = true; - }; - }; - nvim-cmp = { enable = true; }; - }; - }; -} diff --git a/hosts/thalassa/null/home/theme.nix b/hosts/thalassa/null/home/theme.nix deleted file mode 100644 index fecec7af..00000000 --- a/hosts/thalassa/null/home/theme.nix +++ /dev/null @@ -1,127 +0,0 @@ -{ lib, pkgs, config, ... }: -let - inherit (builtins) mapAttrs; - - theme = "Catppuccin-Pink-Dark"; - cursorTheme = config.home.pointerCursor.name; - colour = { - rosewater = "f2d5cf"; - flamingo = "eebebe"; - pink = "f4b8e4"; - mauve = "ca9ee6"; - red = "e78284"; - maroon = "ea999c"; - peach = "ef9f76"; - yellow = "e5c890"; - green = "a6d189"; - teal = "81c8be"; - sky = "99d1db"; - sapphire = "85c1dc"; - blue = "8caaee"; - lavender = "babbf1"; - text = "c6d0f5"; - subtext0 = "a5adce"; - subtext1 = "b5bfe2"; - overlay2 = "949cbb"; - overlay0 = "737994"; - overlay1 = "838ba7"; - surface0 = "414559"; - surface1 = "51576d"; - surface2 = "626880"; - base = "303446"; - mantle = "292c3c"; - crust = "232634"; - - hex = mapAttrs (_name: value: "#${value}") colour; - }; -in -{ - home = { - file.".xsettingsd".text = '' - Net/ThemeName "${theme}" - Gtk/CursorThemeName "${cursorTheme}" - ''; - - pointerCursor = { - name = "Catppuccin-Frappe-Pink-Cursors"; - size = 32; - package = pkgs.catppuccin-cursors.frappePink; - }; - - file.".config/eww/eww.scss".text = lib.mkBefore '' - $rosewater: ${colour.hex.rosewater}; - $flamingo: ${colour.hex.flamingo}; - $pink: ${colour.hex.pink}; - $mauve: ${colour.hex.mauve}; - $red: ${colour.hex.red}; - $maroon: ${colour.hex.maroon}; - $peach: ${colour.hex.peach}; - $yellow: ${colour.hex.yellow}; - $green: ${colour.hex.green}; - $teal: ${colour.hex.teal}; - $sky: ${colour.hex.sky}; - $sapphire: ${colour.hex.sapphire}; - $blue: ${colour.hex.blue}; - $lavender: ${colour.hex.lavender}; - $text: ${colour.hex.text}; - $subtext0: ${colour.hex.subtext0}; - $subtext1: ${colour.hex.subtext1}; - $overlay0: ${colour.hex.overlay0}; - $overlay1: ${colour.hex.overlay1}; - $overlay2: ${colour.hex.overlay2}; - $surface0: ${colour.hex.surface0}; - $surface1: ${colour.hex.surface1}; - $surface2: ${colour.hex.surface2}; - $base: ${colour.hex.base}; - $mantle: ${colour.hex.mantle}; - $crust: ${colour.hex.crust}; - ''; - }; - - gtk = { - enable = true; - theme = { - name = theme; - package = pkgs.catppuccin-gtk; - }; - iconTheme = { - name = "Arc"; - package = pkgs.arc-icon-theme; - }; - cursorTheme = { - name = cursorTheme; - inherit (config.home.pointerCursor) size package; - }; - }; - - # Note, pink and blue are switched - programs.foot.settings.colors = { - alpha = 0.8; - - foreground = colour.text; # Text - background = colour.base; # Base - regular0 = colour.surface1; # Surface 1 - regular1 = colour.red; # red - regular2 = colour.green; # green - regular3 = colour.yellow; # yellow - regular4 = colour.pink; # pink - regular5 = colour.blue; # blue - regular6 = colour.teal; # teal - regular7 = colour.subtext1; # Subtext 1 - bright0 = colour.surface2; # Surface 2 - bright1 = colour.red; # red - bright2 = colour.green; # green - bright3 = colour.yellow; # yellow - bright4 = colour.pink; # pink - bright5 = colour.blue; # blue - bright6 = colour.teal; # teal - bright7 = colour.subtext0; # Subtext 0 - }; - - programs.mako = { - backgroundColor = colour.hex.mantle; - borderColor = colour.hex.pink; - textColor = colour.hex.text; - borderRadius = 5; - }; -} diff --git a/hosts/thalassa/null/networking.nix b/hosts/thalassa/null/networking.nix deleted file mode 100644 index ccf7a8a9..00000000 --- a/hosts/thalassa/null/networking.nix +++ /dev/null @@ -1,76 +0,0 @@ -_: { - services.v.dns = { - enable = true; - openFirewall = false; - mode = "laptop"; - }; - - services.mullvad-vpn.enable = true; - - networking = { - useDHCP = true; - dhcpcd.wait = "background"; - wireless = { - enable = true; - environmentFile = "/var/lib/secrets/wireless.env"; - userControlled.enable = true; - networks = { - eduroam = { - auth = '' - proto=RSN - key_mgmt=WPA-EAP - eap=PEAP - identity="vroest@tudelft.nl" - password=hash:@EDUROAM_PASSWORD_HASH@ - domain_suffix_match="radius.tudelft.nl" - anonymous_identity="anonymous@tudelft.nl" - phase1="peaplabel=0" - phase2="auth=MSCHAPV2" - ca_cert="/etc/ssl/certs/ca-bundle.crt" - ''; - }; - "Pikachu 5G" = { psk = "@PIKACHU_PASSWORD@"; }; - "sha256('yeet')" = { psk = "@SHA256_PASSWORD@"; }; - "wired" = { psk = "@WIRED_PASSWORD@"; }; - "meowy hotspot" = { psk = "@HOTSPOT_PASSWORD@"; }; - "WiFi Roest" = { psk = "@WIFI_ROEST_PASSWORD@"; }; - }; - }; - - nameservers = [ - "127.0.0.1" # Use locally deployed unbound - "::1" - ]; - - firewall.allowedUDPPorts = [ 51820 ]; - - # Maybe switch to wg-quick - wireguard.interfaces.wg0 = { - ips = [ "10.100.0.4/24" ]; - listenPort = 51820; - privateKeyFile = "/var/lib/secrets/wg_key"; - - peers = [ - { - # Delft - publicKey = "kDIO3BJSYlDwRXc2zt9tR1LqKJzIPrulaRmdiYkg+m0="; - allowedIPs = [ "10.100.0.1" "10.42.42.0/23" ]; - endpoint = "195.85.167.34:51820"; - persistentKeepalive = 25; - } - { - # Aerdenhout - publicKey = "KgqLhmUMX6kyTjRoa/GOCrZOvXNE5HWYuOr/T3v8/VI="; - allowedIPs = [ - "10.100.0.5" - "192.168.0.0/24" # to avoid being less specific than a LAN - "192.168.1.0/24" - "10.10.10.0/24" - ]; - endpoint = "80.60.83.220:51820"; - persistentKeepalive = 25; - } - ]; - }; - }; -} diff --git a/hosts/thalassa/null/rescue-boot.nix b/hosts/thalassa/null/rescue-boot.nix deleted file mode 100644 index a6cf2a2c..00000000 --- a/hosts/thalassa/null/rescue-boot.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ pkgs, ... }: -let - # TODO: slim down size - netboot = import (pkgs.path + "/nixos/lib/eval-config.nix") { - inherit (pkgs) system; - modules = [ - (pkgs.path + "/nixos/modules/installer/netboot/netboot-minimal.nix") - module - ]; - }; - module = { - system.stateVersion = "22.11"; - boot.supportedFilesystems = [ "btrfs" "ext4" ]; - environment.systemPackages = with pkgs; [ git ]; - }; -in -{ - boot.loader.systemd-boot = { - extraEntries = { - "rescue.conf" = '' - title Rescue Boot - linux /rescue-kernel - initrd /rescue-initrd - options init=${netboot.config.system.build.toplevel}/init ${ - toString netboot.config.boot.kernelParams - } - ''; - }; - - extraFiles = { - "rescue-kernel" = "${netboot.config.system.build.kernel}/bzImage"; - "rescue-initrd" = "${netboot.config.system.build.netbootRamdisk}/initrd"; - }; - }; -} From 06f6f5f4a6c5e5b35e4c297a22d066b7a37b3827 Mon Sep 17 00:00:00 2001 From: Vivian Date: Sun, 7 Jul 2024 10:14:45 +0200 Subject: [PATCH 37/88] disable starship (for now) --- common/users/default.nix | 4 ++-- hosts/thalassa/aoife/home/starship.nix | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/common/users/default.nix b/common/users/default.nix index 07f80481..4c2980b8 100644 --- a/common/users/default.nix +++ b/common/users/default.nix @@ -31,7 +31,7 @@ source "${inputs.t.packages.${pkgs.system}.default}/bin/t-rs.sh" ''; # otherwise it'll override the grml prompt - # promptInit = lib.mkDefault ""; + promptInit = lib.mkDefault ""; }; # Install Neovim and set it as alias for vi(m) @@ -70,7 +70,7 @@ zoxide # Terminfo - pkgs.kitty.terminfo + kitty.terminfo ]; programs.tmux = { diff --git a/hosts/thalassa/aoife/home/starship.nix b/hosts/thalassa/aoife/home/starship.nix index 72921686..b91be705 100644 --- a/hosts/thalassa/aoife/home/starship.nix +++ b/hosts/thalassa/aoife/home/starship.nix @@ -5,7 +5,7 @@ let ''; in{ programs.starship = { - enable = true; + enable = false; enableZshIntegration = true; enableFishIntegration = true; enableNushellIntegration = true; From a9207d6844fbf59a8a85506c93af4fac2363dec1 Mon Sep 17 00:00:00 2001 From: Vivian Date: Sun, 7 Jul 2024 10:58:58 +0200 Subject: [PATCH 38/88] initial setup --- common/hm-modules/nvim/default.nix | 50 ++++++++------------ common/modules/gnome/default.nix | 14 +++--- flake.nix | 1 + hosts/olympus/bastion/containers/common.nix | 3 +- hosts/olympus/bastion/containers/default.nix | 33 +++++++++---- hosts/olympus/bastion/containers/dns.nix | 8 ---- hosts/thalassa/aoife/hardware.nix | 2 +- hosts/thalassa/aoife/home/hyprland.nix | 29 ++---------- 8 files changed, 58 insertions(+), 82 deletions(-) delete mode 100644 hosts/olympus/bastion/containers/dns.nix diff --git a/common/hm-modules/nvim/default.nix b/common/hm-modules/nvim/default.nix index 8463cac3..dbb56629 100644 --- a/common/hm-modules/nvim/default.nix +++ b/common/hm-modules/nvim/default.nix @@ -24,7 +24,7 @@ with lib; config = mkIf cfg.enable { home.packages = with pkgs; [ fd ]; home.file.".config/nvim/lua".source = ./lua; - programs.nixvim = { + programs.nixvim = {helpers, ...}: { enable = true; package = pkgs.neovim-unwrapped; vimAlias = true; @@ -32,7 +32,7 @@ with lib; globals.mapleader = " "; - options = { + opts = { number = true; conceallevel = 2; expandtab = true; @@ -44,7 +44,7 @@ with lib; clipboard.providers.wl-copy.enable = true; - keymaps = [ + keymaps = with helpers; [ # General { mode = "n"; @@ -65,8 +65,7 @@ with lib; { mode = "n"; key = "fg"; - action = "require('telescope.builtin').live_grep"; - lua = true; + action = mkRaw "require('telescope.builtin').live_grep"; } { mode = "n"; @@ -86,20 +85,18 @@ with lib; { mode = "n"; key = "ob"; - action = "require('obsidian_picker').obsidian_picker"; - lua = true; + action = mkRaw "require('obsidian_picker').obsidian_picker"; } # Commenting { mode = "n"; key = ""; - action = "require('Comment.api').toggle.linewise.current"; - lua = true; + action = mkRaw "require('Comment.api').toggle.linewise.current"; } { mode = "x"; key = ""; - action = '' + action = mkRaw '' function() local esc = vim.api.nvim_replace_termcodes( '', true, false, true @@ -108,7 +105,6 @@ with lib; require('Comment.api').toggle.linewise(vim.fn.visualmode()) end ''; - lua = true; } # Float Term { @@ -119,8 +115,7 @@ with lib; { mode = "t"; key = ""; - action = "function() vim.cmd(':FloatermToggle myfloat') end"; - lua = true; + action = mkRaw "function() vim.cmd(':FloatermToggle myfloat') end"; } # Switch buffers { @@ -163,26 +158,22 @@ with lib; { mode = "n"; key = "nr"; - lua = true; - action = "require('neotest').run.run"; + action = mkRaw "require('neotest').run.run"; } { mode = "n"; key = "no"; - lua = true; - action = "require('neotest').output.open"; + action = mkRaw "require('neotest').output.open"; } { mode = "n"; key = "ns"; - lua = true; - action = "require('neotest').run.stop"; + action = mkRaw "require('neotest').run.stop"; } { mode = "n"; key = "nf"; - lua = true; - action = "function() require('neotest').run.run(vim.fn.expand('%')) end"; + action = mkRaw "function() require('neotest').run.run(vim.fn.expand('%')) end"; } # LSP { @@ -205,7 +196,7 @@ with lib; colorschemes.catppuccin = { enable = true; - flavour = "frappe"; + settings.flavour = "frappe"; }; plugins = { @@ -300,18 +291,19 @@ with lib; telescope = { enable = true; - defaults.preview.ls_short = true; + settings.defaults.preview.ls_short = true; extensions.file-browser = { enable = true; - hijackNetrw = true; - dirIcon = ""; + settings = { + hijack_netrw = true; + dir_icon = ""; + }; }; extensions.fzf-native.enable = true; - extensions.fzf-native.fuzzy = true; + extensions.fzf-native.settings.fuzzy = true; extensions.frecency.enable = true; - extraOptions = { }; }; - comment-nvim.enable = true; + comment.enable = true; none-ls = { enable = true; sources = { @@ -341,7 +333,7 @@ with lib; }; servers = { cssls.enable = true; - nil_ls.enable = true; #NixOS + nil-ls.enable = true; #NixOS dockerls.enable = true; rust-analyzer = { enable = true; diff --git a/common/modules/gnome/default.nix b/common/modules/gnome/default.nix index 333229ed..27902f6e 100644 --- a/common/modules/gnome/default.nix +++ b/common/modules/gnome/default.nix @@ -60,25 +60,25 @@ in gnome-photos gnome-tour gnome-connections + gnome-calendar + epiphany # web browser + geary # email reader + simple-scan # document scanner + totem # video player + gnome-terminal ]) ++ (with pkgs.gnome; [ atomix # puzzle game - epiphany # web browser - geary # email reader pkgs.gedit # text editor - gnome-calendar gnome-clocks gnome-contacts gnome-maps gnome-music gnome-notes - gnome-terminal gnome-weather hitori # sudoku game iagno # go game - simple-scan # document scanner tali # poker game - totem # video player ]); # Services required for gnome @@ -86,7 +86,7 @@ in # Extra gnome packages environment.systemPackages = with pkgs; [ - gnome.gnome-tweaks + gnome-tweaks gnome.gnome-boxes ]; }; diff --git a/flake.nix b/flake.nix index 417fb581..addfec6c 100644 --- a/flake.nix +++ b/flake.nix @@ -160,6 +160,7 @@ jq fup-repl nh + nixfmt-rfc-style ]; }; }; diff --git a/hosts/olympus/bastion/containers/common.nix b/hosts/olympus/bastion/containers/common.nix index e8cae95a..6807b60d 100644 --- a/hosts/olympus/bastion/containers/common.nix +++ b/hosts/olympus/bastion/containers/common.nix @@ -1,8 +1,7 @@ # common container config { lib, ... }: { imports = [ - # ../../../../common/modules - # home-manager.nixosModules.home-manager # TODO: I don't like this + ../../../../common ]; # Workaround for bug https://github.com/NixOS/nixpkgs/issues/162686 networking.useHostResolvConf = lib.mkForce false; diff --git a/hosts/olympus/bastion/containers/default.nix b/hosts/olympus/bastion/containers/default.nix index 11757ebb..1d1cf4ae 100644 --- a/hosts/olympus/bastion/containers/default.nix +++ b/hosts/olympus/bastion/containers/default.nix @@ -1,4 +1,4 @@ -{ config, lib, ... }: +{ config, lib, inputs, ... }: let hostAddress = "10.42.99.1"; hostAddress6 = "fc00::1"; @@ -21,13 +21,28 @@ in { # * fc00:x containers = { - # dns = { - # autoStart = true; - # inherit hostAddress hostAddress6; - # localAddress = "10.42.99.1"; - # localAddress6 = "fc00::2"; - # - # config = ./dns.nix; - # }; + dns = { + autoStart = true; + inherit hostAddress hostAddress6; + localAddress = "10.42.99.1"; + localAddress6 = "fc00::2"; + + specialArgs = { inherit inputs; }; + + config = {pkgs, ...}: { + imports = [ + ./common.nix + inputs.home-manager.nixosModules.home-manager + inputs.gnome-autounlock-keyring.nixosModules.default + inputs.catppuccin.nixosModules.catppuccin + ]; + + services.v.dns = { + enable = true; + openFirewall = true; + mode = "server"; + }; + }; + }; }; } diff --git a/hosts/olympus/bastion/containers/dns.nix b/hosts/olympus/bastion/containers/dns.nix deleted file mode 100644 index b165cd06..00000000 --- a/hosts/olympus/bastion/containers/dns.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ ... }: { - imports = [ ./common.nix ]; - services.v.dns = { - enable = true; - openFirewall = true; - mode = "server"; - }; -} diff --git a/hosts/thalassa/aoife/hardware.nix b/hosts/thalassa/aoife/hardware.nix index 54fff359..17adae98 100644 --- a/hosts/thalassa/aoife/hardware.nix +++ b/hosts/thalassa/aoife/hardware.nix @@ -11,7 +11,7 @@ bluetooth.enable = true; # OpenGL + Vulkan - opengl = { + graphics = { enable = true; extraPackages = with pkgs; [ amdvlk diff --git a/hosts/thalassa/aoife/home/hyprland.nix b/hosts/thalassa/aoife/home/hyprland.nix index 9086960a..b9a77d7c 100644 --- a/hosts/thalassa/aoife/home/hyprland.nix +++ b/hosts/thalassa/aoife/home/hyprland.nix @@ -13,30 +13,8 @@ in v.hyprland-workspaces ]; - systemd.user.services.mako = { - Install = { - WantedBy = [ "hyprland-session.target" ]; - }; - Service = { - Type = "dbus"; - BusName = "org.freedesktop.Notifications"; - - ExecCondition = '' - ${pkgs.bash}/bin/bash -c '[ -n "$WAYLAND_DISPLAY" ]' - ''; - - ExecStart = '' - ${pkgs.mako}/bin/mako - ''; - - ExecReload = '' - ${pkgs.mako}/bin/makoctl reload - ''; - - Restart = "on-failure"; - RestartSec = 1; - TimeoutStopSec = 10; - }; + services = { + mako.enable = true; }; programs = { @@ -49,7 +27,6 @@ in # configDir = ./eww; # }; - mako.enable = true; waybar = { enable = true; @@ -173,7 +150,7 @@ in wpctl = "${pkgs.wireplumber}/bin/wpctl"; brightnessctl = "${pkgs.brightnessctl}/bin/brightnessctl"; menu = "${config.programs.wofi.package}/bin/wofi --show run,drun"; - fileManager = "${pkgs.gnome.nautilus}/bin/nautilus"; + fileManager = "${pkgs.nautilus}/bin/nautilus"; in { "$mod" = "SUPER"; From fa23dd9e0178130f335c60c7678dee793a4fb9e0 Mon Sep 17 00:00:00 2001 From: Vivian Date: Thu, 1 Aug 2024 11:14:27 +0200 Subject: [PATCH 39/88] updates --- common/default.nix | 4 +- common/modules/gnome/default.nix | 14 +- flake.lock | 337 +++++++++--------- flake.nix | 4 +- .../bastion/hardware-configuration.nix | 5 + hosts/thalassa/aoife/hardware.nix | 2 +- hosts/thalassa/aoife/home/default.nix | 23 ++ hosts/thalassa/aoife/home/hyprland.nix | 30 +- pkgs/hyprland-workspaces/default.nix | 3 +- 9 files changed, 218 insertions(+), 204 deletions(-) diff --git a/common/default.nix b/common/default.nix index 06a486d8..47ee908a 100644 --- a/common/default.nix +++ b/common/default.nix @@ -1,4 +1,4 @@ -{ lib, inputs, ... }: +{ lib, inputs, pkgs, ... }: { imports = [ ./users @@ -38,7 +38,7 @@ nix = { # registry.nixpkgs.flake = inputs.nixpkgs; # nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; - # package = pkgs.nixUnstable; + package = pkgs.lix; settings = { auto-optimise-store = true; trusted-users = [ diff --git a/common/modules/gnome/default.nix b/common/modules/gnome/default.nix index 333229ed..707a5fb5 100644 --- a/common/modules/gnome/default.nix +++ b/common/modules/gnome/default.nix @@ -60,25 +60,25 @@ in gnome-photos gnome-tour gnome-connections + epiphany # web browser + gnome-terminal + geary # email reader + simple-scan # document scanner + totem # video player + gnome-calendar ]) ++ (with pkgs.gnome; [ atomix # puzzle game - epiphany # web browser - geary # email reader pkgs.gedit # text editor - gnome-calendar gnome-clocks gnome-contacts gnome-maps gnome-music gnome-notes - gnome-terminal gnome-weather hitori # sudoku game iagno # go game - simple-scan # document scanner tali # poker game - totem # video player ]); # Services required for gnome @@ -86,7 +86,7 @@ in # Extra gnome packages environment.systemPackages = with pkgs; [ - gnome.gnome-tweaks + gnome-tweaks gnome.gnome-boxes ]; }; diff --git a/flake.lock b/flake.lock index e38f6e02..a45e2f94 100644 --- a/flake.lock +++ b/flake.lock @@ -11,11 +11,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1717279440, - "narHash": "sha256-kH04ReTjxOpQumgWnqy40vvQLSnLGxWP6RF3nq5Esrk=", + "lastModified": 1722472866, + "narHash": "sha256-GJIz4M5HDB948Ex/8cPvbkrNzl/eKUE7/c21JBu4lb8=", "owner": "zhaofengli", "repo": "attic", - "rev": "717cc95983cdc357bc347d70be20ced21f935843", + "rev": "e127acbf9a71ebc0c26bc8e28346822e0a6e16ba", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "catppuccin": { "locked": { - "lastModified": 1720311994, - "narHash": "sha256-HsDHgJaozek5fExjwmN47QWbDtDnGLWJT4uOOtLEmvA=", + "lastModified": 1721784420, + "narHash": "sha256-bgF6fN4Qgk7NErFKGuuqWXcLORsiykTYyqMUFRiAUBY=", "owner": "catppuccin", "repo": "nix", - "rev": "0ec7ee23269bcbe3e5f23de743fbc8e1383a3315", + "rev": "8bdb55cc1c13f572b6e4307a3c0d64f1ae286a4f", "type": "github" }, "original": { @@ -105,11 +105,11 @@ ] }, "locked": { - "lastModified": 1718474113, - "narHash": "sha256-UKrfy/46YF2TRnxTtKCYzqf2f5ZPRRWwKCCJb7O5X8U=", + "lastModified": 1721842668, + "narHash": "sha256-k3oiD2z2AAwBFLa4+xfU+7G5fisRXfkvrMTCJrjZzXo=", "owner": "ipetkov", "repo": "crane", - "rev": "0095fd8ea00ae0a9e6014f39c375e40c2fbd3386", + "rev": "529c1a0b1f29f0d78fa3086b8f6a134c71ef3aaf", "type": "github" }, "original": { @@ -140,18 +140,17 @@ }, "devshell": { "inputs": { - "flake-utils": "flake-utils_8", "nixpkgs": [ "nixvim", "nixpkgs" ] }, "locked": { - "lastModified": 1717408969, - "narHash": "sha256-Q0OEFqe35fZbbRPPRdrjTUUChKVhhWXz3T9ZSKmaoVY=", + "lastModified": 1722113426, + "narHash": "sha256-Yo/3loq572A8Su6aY5GP56knpuKYRvM2a1meP9oJZCw=", "owner": "numtide", "repo": "devshell", - "rev": "1ebbe68d57457c8cae98145410b164b5477761f4", + "rev": "67cce7359e4cd3c45296fb4aaf6a19e2a9c757ae", "type": "github" }, "original": { @@ -181,6 +180,28 @@ "type": "github" } }, + "fenix": { + "inputs": { + "nixpkgs": [ + "microvm", + "nixpkgs" + ], + "rust-analyzer-src": "rust-analyzer-src" + }, + "locked": { + "lastModified": 1720420198, + "narHash": "sha256-OIuDb6pHDyGpo7YMFyuRzMLcHm7mRvlYOz0Ht7ps2sU=", + "owner": "nix-community", + "repo": "fenix", + "rev": "abc0549e3560189462a7d394cc9d50af4608d103", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "fenix", + "type": "github" + } + }, "flake-compat": { "flake": false, "locked": { @@ -291,22 +312,6 @@ "type": "github" } }, - "flake-compat_8": { - "flake": false, - "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, "flake-parts": { "inputs": { "nixpkgs-lib": [ @@ -315,11 +320,11 @@ ] }, "locked": { - "lastModified": 1717285511, - "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=", + "lastModified": 1719994518, + "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8", + "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7", "type": "github" }, "original": { @@ -336,11 +341,11 @@ ] }, "locked": { - "lastModified": 1719877454, - "narHash": "sha256-g5N1yyOSsPNiOlFfkuI/wcUjmtah+nxdImJqrSATjOU=", + "lastModified": 1719994518, + "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "4e3583423212f9303aa1a6337f8dffb415920e4f", + "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7", "type": "github" }, "original": { @@ -382,24 +387,6 @@ "type": "github" } }, - "flake-utils_10": { - "inputs": { - "systems": "systems_9" - }, - "locked": { - "lastModified": 1681202837, - "narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "cfacdce06f30d2b68473a46042957675eebb3401", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "flake-utils_2": { "locked": { "lastModified": 1659877975, @@ -492,11 +479,11 @@ "systems": "systems_6" }, "locked": { - "lastModified": 1705309234, - "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -509,24 +496,6 @@ "inputs": { "systems": "systems_7" }, - "locked": { - "lastModified": 1701680307, - "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_9": { - "inputs": { - "systems": "systems_8" - }, "locked": { "lastModified": 1710146030, "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", @@ -541,9 +510,30 @@ "type": "github" } }, + "flake-utils_9": { + "inputs": { + "systems": "systems_8" + }, + "locked": { + "lastModified": 1681202837, + "narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "cfacdce06f30d2b68473a46042957675eebb3401", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "git-hooks": { "inputs": { - "flake-compat": "flake-compat_7", + "flake-compat": [ + "nixvim", + "flake-compat" + ], "gitignore": "gitignore_2", "nixpkgs": [ "nixvim", @@ -555,11 +545,11 @@ ] }, "locked": { - "lastModified": 1719259945, - "narHash": "sha256-F1h+XIsGKT9TkGO3omxDLEb/9jOOsI6NnzsXFsZhry4=", + "lastModified": 1721042469, + "narHash": "sha256-6FPUl7HVtvRHCCBQne7Ylp4p+dpP3P/OYuzjztZ4s70=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07", + "rev": "f451c19376071a90d8c58ab1a953c6e9840527fd", "type": "github" }, "original": { @@ -640,11 +630,11 @@ ] }, "locked": { - "lastModified": 1720327769, - "narHash": "sha256-kAsg3Lg4YKKpGw+f1W2s5hzjP8B0y/juowvjK8utIag=", + "lastModified": 1722462338, + "narHash": "sha256-ss0G8t8RJVDewA3MyqgAlV951cWRK6EtVhVKEZ7J5LU=", "owner": "nix-community", "repo": "home-manager", - "rev": "6b7ce96f34b324e4e104abc30d06955d216bac71", + "rev": "6e090576c4824b16e8759ebca3958c5b09659ee8", "type": "github" }, "original": { @@ -661,11 +651,11 @@ ] }, "locked": { - "lastModified": 1719827439, - "narHash": "sha256-tneHOIv1lEavZ0vQ+rgz67LPNCgOZVByYki3OkSshFU=", + "lastModified": 1722407237, + "narHash": "sha256-wcpVHUc2nBSSgOM7UJSpcRbyus4duREF31xlzHV5T+A=", "owner": "nix-community", "repo": "home-manager", - "rev": "59ce796b2563e19821361abbe2067c3bb4143a7d", + "rev": "58cef3796271aaeabaed98884d4abaab5d9d162d", "type": "github" }, "original": { @@ -679,7 +669,6 @@ "crane": "crane_2", "flake-compat": "flake-compat_4", "flake-parts": "flake-parts", - "flake-utils": "flake-utils_6", "nixpkgs": [ "nixpkgs" ], @@ -687,11 +676,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1719818887, - "narHash": "sha256-Bogl1pJlgby7OpR16jp8zwOWV7FHRxCsnNxHcisyIq0=", + "lastModified": 1722329086, + "narHash": "sha256-e/fSi0WER06N8WCvpht62fkGtWfe5ckDxr6zNYkwkFw=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "0e6457c98547ec8866714d4222545e7e8c1ae429", + "rev": "f5a3a7dff44d131807fc1a89fbd8576cd870334a", "type": "github" }, "original": { @@ -710,11 +699,11 @@ "nixpkgs-24_05": "nixpkgs-24_05" }, "locked": { - "lastModified": 1718697807, - "narHash": "sha256-Enla61WFisytTYbWygPynEbu8vozjeGc6Obkj2GRj7o=", + "lastModified": 1721121314, + "narHash": "sha256-zwc7YXga/1ppaZMWFreZykXtFwBgXodxUZiUx969r+g=", "ref": "refs/heads/master", - "rev": "290a995de5c3d3f08468fa548f0d55ab2efc7b6b", - "revCount": 591, + "rev": "059b50b2e729729ea00c6831124d3837c494f3d5", + "revCount": 592, "type": "git", "url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git" }, @@ -725,16 +714,17 @@ }, "microvm": { "inputs": { - "flake-utils": "flake-utils_7", + "fenix": "fenix", + "flake-utils": "flake-utils_6", "nixpkgs": "nixpkgs_3", "spectrum": "spectrum" }, "locked": { - "lastModified": 1720034501, - "narHash": "sha256-fzZpuVnhw5uOtA4OuXw3a+Otpy8C+QV0Uu5XfhGEPSg=", + "lastModified": 1721849618, + "narHash": "sha256-+cKh/zzyzOfOC7GryAVMESpvTckOVJ+cQC01JJi1z8k=", "owner": "astro", "repo": "microvm.nix", - "rev": "a808af7775f508a2afedd1e4940a382fe1194f21", + "rev": "2f56d58cae49d6b66adc42aa3c52051a83f6a176", "type": "github" }, "original": { @@ -751,11 +741,11 @@ ] }, "locked": { - "lastModified": 1719845423, - "narHash": "sha256-ZLHDmWAsHQQKnmfyhYSHJDlt8Wfjv6SQhl2qek42O7A=", + "lastModified": 1722082646, + "narHash": "sha256-od8dBWVP/ngg0cuoyEl/w9D+TCNDj6Kh4tr151Aax7w=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "ec12b88104d6c117871fad55e931addac4626756", + "rev": "0413754b3cdb879ba14f6e96915e5fdf06c6aab6", "type": "github" }, "original": { @@ -766,11 +756,11 @@ }, "nixlib": { "locked": { - "lastModified": 1719708727, - "narHash": "sha256-XFNKtyirrGNdehpg7lMNm1skEcBApjqGhaHc/OI95HY=", + "lastModified": 1722128034, + "narHash": "sha256-L8rwzYPsLo/TYtydPJoQyYOfetuiyQYnTWYcyB8UE/s=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "1bba8a624b3b9d4f68db94fb63aaeb46039ce9e6", + "rev": "d15f6f6021693898fcd2c6a9bb13707383da9bbc", "type": "github" }, "original": { @@ -787,11 +777,11 @@ ] }, "locked": { - "lastModified": 1720055043, - "narHash": "sha256-SKizewU4UeYrkZWPUjur8EoxscGoNb0pGcrNL4YzAIg=", + "lastModified": 1722214420, + "narHash": "sha256-qfHC1p5hcErGcE672/KhBkyWYloekQpqIxtcbcUVYkA=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "168b220231a70e47cc1f0919048fa5914415fb18", + "rev": "75cbb2a5e19c18840d105a72d036c6c92fc46c5d", "type": "github" }, "original": { @@ -802,11 +792,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1719895800, - "narHash": "sha256-xNbjISJTFailxass4LmdWeV4jNhAlmJPwj46a/GxE6M=", + "lastModified": 1722332872, + "narHash": "sha256-2xLM4sc5QBfi0U/AANJAW21Bj4ZX479MHPMPkB+eKBU=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "6e253f12b1009053eff5344be5e835f604bb64cd", + "rev": "14c333162ba53c02853add87a0000cbd7aa230c2", "type": "github" }, "original": { @@ -864,16 +854,16 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1710695816, - "narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=", + "lastModified": 1720386169, + "narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "614b4613980a522ba49f0d194531beddbb7220d3", + "rev": "194846768975b7ad2c4988bdb82572c00222c0d7", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-23.11", + "ref": "nixos-24.05", "repo": "nixpkgs", "type": "github" } @@ -896,11 +886,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1708475490, - "narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=", + "lastModified": 1720418205, + "narHash": "sha256-cPJoFPXU44GlhWg4pUk9oUPqurPlCFZ11ZQPk21GTPU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0e74ca98a74bc7270d28838369593635a5db3260", + "rev": "655a58a72a6601292512670343087c2d75d859c1", "type": "github" }, "original": { @@ -912,26 +902,26 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1720031269, - "narHash": "sha256-rwz8NJZV+387rnWpTYcXaRNvzUSnnF9aHONoJIYmiUQ=", + "lastModified": 1722452851, + "narHash": "sha256-SdkmXWvYOIxgDksO5hobBwAZdc/pj7Okx0MferKgG9o=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev": "c68bae316281af1b80a1d12c6f56d2b92b6f2d3a", "type": "github" }, "original": { "id": "nixpkgs", - "ref": "nixos-unstable", + "ref": "nixos-unstable-small", "type": "indirect" } }, "nixpkgs_5": { "locked": { - "lastModified": 1719848872, - "narHash": "sha256-H3+EC5cYuq+gQW8y0lSrrDZfH71LB4DAf+TDFyvwCNA=", + "lastModified": 1722185531, + "narHash": "sha256-veKR07psFoJjINLC8RK4DiLniGGMgF3QMlS4tb74S6k=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "00d80d13810dbfea8ab4ed1009b09100cca86ba8", + "rev": "52ec9ac3b12395ad677e8b62106f0b98c1f8569d", "type": "github" }, "original": { @@ -966,14 +956,15 @@ "home-manager": "home-manager_2", "nix-darwin": "nix-darwin", "nixpkgs": "nixpkgs_5", + "nuschtosSearch": "nuschtosSearch", "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1720298683, - "narHash": "sha256-CNtfHBwlKuTTanwmUI85Z/HkHShnqZs+WYyxQR8zRFY=", + "lastModified": 1722458167, + "narHash": "sha256-ri87zBCPf5EaMOvpjU+tx+LgIgVE7HeudjLfVAYSiqs=", "owner": "pta2002", "repo": "nixvim", - "rev": "6674dea8403747827431d4d8497c34023f93d047", + "rev": "8024b044d612a0aa354eafa6d111ddac56f097bd", "type": "github" }, "original": { @@ -984,11 +975,11 @@ }, "nur": { "locked": { - "lastModified": 1720333675, - "narHash": "sha256-VGywVhDGWxNjykMEiCv1XXk1xT7vYAYHe557L9dIQN0=", + "lastModified": 1722494317, + "narHash": "sha256-TPS7h6uaIKxXYVjep3DJdVMNlo++tMdtljjdDwDcr7E=", "owner": "nix-community", "repo": "NUR", - "rev": "25e98a0c8af990fdef4cd1aa951c6a7b93618bdd", + "rev": "85c4a46c0ac51dc69cb44c0950f9ee0f2b9b1c8d", "type": "github" }, "original": { @@ -997,6 +988,28 @@ "type": "github" } }, + "nuschtosSearch": { + "inputs": { + "flake-utils": "flake-utils_7", + "nixpkgs": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1722144272, + "narHash": "sha256-olZbfaEdd+zNPuuyYcYGaRzymA9rOmth8yXOlVm+LUs=", + "owner": "NuschtOS", + "repo": "search", + "rev": "16565307c267ec219c2b5d3494ba66df08e7d403", + "type": "github" + }, + "original": { + "owner": "NuschtOS", + "repo": "search", + "type": "github" + } + }, "pre-commit-hooks-nix": { "inputs": { "flake-compat": [ @@ -1011,11 +1024,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1717664902, - "narHash": "sha256-7XfBuLULizXjXfBYy/VV+SpYMHreNRHk9nKMsm1bgb4=", + "lastModified": 1721042469, + "narHash": "sha256-6FPUl7HVtvRHCCBQne7Ylp4p+dpP3P/OYuzjztZ4s70=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "cc4d466cb1254af050ff7bdf47f6d404a7c646d1", + "rev": "f451c19376071a90d8c58ab1a953c6e9840527fd", "type": "github" }, "original": { @@ -1047,23 +1060,36 @@ "vault-unseal": "vault-unseal" } }, + "rust-analyzer-src": { + "flake": false, + "locked": { + "lastModified": 1720344064, + "narHash": "sha256-STmaV9Zu74QtkGGrbr9uMhskwagfCjJqOAYapXabiuk=", + "owner": "rust-lang", + "repo": "rust-analyzer", + "rev": "a5b21ea0aa644dffd7cf958b43f11f221d53404e", + "type": "github" + }, + "original": { + "owner": "rust-lang", + "ref": "nightly", + "repo": "rust-analyzer", + "type": "github" + } + }, "rust-overlay": { "inputs": { - "flake-utils": [ - "lanzaboote", - "flake-utils" - ], "nixpkgs": [ "lanzaboote", "nixpkgs" ] }, "locked": { - "lastModified": 1718504420, - "narHash": "sha256-F2HT/abCfr0CDpkvXwYCscJyD66XDTLMVfdrIMRp2ck=", + "lastModified": 1722219664, + "narHash": "sha256-xMOJ+HW4yj6e69PvieohUJ3dBSdgCfvI0nnCEe6/yVc=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "0043c3f92304823cc2c0a4354b0feaa61dfb4cd9", + "rev": "a6fbda5d9a14fb5f7c69b8489d24afeb349c7bb4", "type": "github" }, "original": { @@ -1075,11 +1101,11 @@ "spectrum": { "flake": false, "locked": { - "lastModified": 1708358594, - "narHash": "sha256-e71YOotu2FYA67HoC/voJDTFsiPpZNRwmiQb4f94OxQ=", + "lastModified": 1720264467, + "narHash": "sha256-xzM92n3Q9L90faJIJrkrTtTx+JqCGRHMkHWztkV4PuY=", "ref": "refs/heads/main", - "rev": "6d0e73864d28794cdbd26ab7b37259ab0e1e044c", - "revCount": 614, + "rev": "fb59d42542049f586c84b0f8bb86ff3be338e9d3", + "revCount": 674, "type": "git", "url": "https://spectrum-os.org/git/spectrum" }, @@ -1224,24 +1250,9 @@ "type": "github" } }, - "systems_9": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, "t": { "inputs": { - "flake-utils": "flake-utils_9", + "flake-utils": "flake-utils_8", "nixpkgs": [ "nixpkgs" ] @@ -1268,11 +1279,11 @@ ] }, "locked": { - "lastModified": 1719887753, - "narHash": "sha256-p0B2r98UtZzRDM5miGRafL4h7TwGRC4DII+XXHDHqek=", + "lastModified": 1722330636, + "narHash": "sha256-uru7JzOa33YlSRwf9sfXpJG+UAV+bnBEYMjrzKrQZFw=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "bdb6355009562d8f9313d9460c0d3860f525bc6c", + "rev": "768acdb06968e53aa1ee8de207fd955335c754b7", "type": "github" }, "original": { @@ -1301,7 +1312,7 @@ }, "vault-secrets": { "inputs": { - "flake-compat": "flake-compat_8", + "flake-compat": "flake-compat_7", "nixpkgs": "nixpkgs_6" }, "locked": { @@ -1320,7 +1331,7 @@ }, "vault-unseal": { "inputs": { - "flake-utils": "flake-utils_10", + "flake-utils": "flake-utils_9", "nixpkgs": [ "nixpkgs" ] diff --git a/flake.nix b/flake.nix index 417fb581..f2e0c7ca 100644 --- a/flake.nix +++ b/flake.nix @@ -5,7 +5,7 @@ # * https://github.com/Infinidoge/nix-minecraft inputs = { - nixpkgs.url = "nixpkgs/nixos-unstable"; + nixpkgs.url = "nixpkgs/nixos-unstable-small"; flake-utils-plus.url = "github:NULLx76/flake-utils-plus"; nur.url = "github:nix-community/NUR"; colmena.url = "github:zhaofengli/colmena"; @@ -150,7 +150,7 @@ VAULT_ADDR = "http://vault.olympus:8200/"; FLAKE = "/home/vivian/src/infrastructure-new"; packages = with pkgs; [ - attic.packages.${system}.attic + # attic.packages.${system}.attic apply-local deploy.packages.${system}.deploy-rs deadnix diff --git a/hosts/olympus/bastion/hardware-configuration.nix b/hosts/olympus/bastion/hardware-configuration.nix index be7d9923..36ac4572 100644 --- a/hosts/olympus/bastion/hardware-configuration.nix +++ b/hosts/olympus/bastion/hardware-configuration.nix @@ -19,6 +19,11 @@ fsType = "ext4"; }; + fileSystems."/mnt/backup" = { + device = "/dev/disk/by-uuid/83b1e87f-975f-4150-b673-81087f84f0bb"; + fsType = "ext4"; + }; + swapDevices = [{ device = "/dev/disk/by-uuid/63d90b92-cdde-4795-a3ab-9566ae88f43d"; }]; diff --git a/hosts/thalassa/aoife/hardware.nix b/hosts/thalassa/aoife/hardware.nix index 54fff359..17adae98 100644 --- a/hosts/thalassa/aoife/hardware.nix +++ b/hosts/thalassa/aoife/hardware.nix @@ -11,7 +11,7 @@ bluetooth.enable = true; # OpenGL + Vulkan - opengl = { + graphics = { enable = true; extraPackages = with pkgs; [ amdvlk diff --git a/hosts/thalassa/aoife/home/default.nix b/hosts/thalassa/aoife/home/default.nix index dbe2b48d..1e0d5ca9 100644 --- a/hosts/thalassa/aoife/home/default.nix +++ b/hosts/thalassa/aoife/home/default.nix @@ -23,5 +23,28 @@ obsidian typst prismlauncher + libraw + libopenraw ]; + + + programs.ssh.enable = true; + programs.ssh.matchBlocks = { + "student-linux.tudelft.nl" = { + user = "vroest"; + }; + "cese01" = { + hostname = "cese01.ewi.tudelft.nl"; + user = "vroest"; + proxyJump = "student-linux.tudelft.nl"; + }; + "cese" = { + user = "root"; + hostname = "10.0.3.121"; + proxyJump = "cese01"; + }; + "bastion.olympus" = { }; + "bastion.hades" = { }; + }; + } diff --git a/hosts/thalassa/aoife/home/hyprland.nix b/hosts/thalassa/aoife/home/hyprland.nix index 9086960a..43883dbc 100644 --- a/hosts/thalassa/aoife/home/hyprland.nix +++ b/hosts/thalassa/aoife/home/hyprland.nix @@ -12,32 +12,7 @@ in home.packages = with pkgs; [ v.hyprland-workspaces ]; - - systemd.user.services.mako = { - Install = { - WantedBy = [ "hyprland-session.target" ]; - }; - Service = { - Type = "dbus"; - BusName = "org.freedesktop.Notifications"; - - ExecCondition = '' - ${pkgs.bash}/bin/bash -c '[ -n "$WAYLAND_DISPLAY" ]' - ''; - - ExecStart = '' - ${pkgs.mako}/bin/mako - ''; - - ExecReload = '' - ${pkgs.mako}/bin/makoctl reload - ''; - - Restart = "on-failure"; - RestartSec = 1; - TimeoutStopSec = 10; - }; - }; + services.mako.enable = true; programs = { wofi = { @@ -49,7 +24,6 @@ in # configDir = ./eww; # }; - mako.enable = true; waybar = { enable = true; @@ -173,7 +147,7 @@ in wpctl = "${pkgs.wireplumber}/bin/wpctl"; brightnessctl = "${pkgs.brightnessctl}/bin/brightnessctl"; menu = "${config.programs.wofi.package}/bin/wofi --show run,drun"; - fileManager = "${pkgs.gnome.nautilus}/bin/nautilus"; + fileManager = "${pkgs.nautilus}/bin/nautilus"; in { "$mod" = "SUPER"; diff --git a/pkgs/hyprland-workspaces/default.nix b/pkgs/hyprland-workspaces/default.nix index 77e7944a..1b115390 100644 --- a/pkgs/hyprland-workspaces/default.nix +++ b/pkgs/hyprland-workspaces/default.nix @@ -10,7 +10,8 @@ rustPlatform.buildRustPackage rec { sha256 = "sha256-4QGLTimIpx74gWUyHCheUZZT1WgVzBoJRY8OlUDdOh4="; }; - cargoSha256 = "sha256-9ndP0nyRBCdOGth4UWA263IvjbgnVW2x9PK8oTaMrxg="; + # cargoSha256 = "sha256-9ndP0nyRBCdOGth4UWA263IvjbgnVW2x9PK8oTaMrxg="; + cargoHash = null; meta = with lib; { description = "A multi-monitor aware Hyprland workspace widget"; From 07020f01c393bc43d5fc0ab97b909998a5172ab2 Mon Sep 17 00:00:00 2001 From: Vivian Date: Mon, 19 Aug 2024 18:21:56 +0200 Subject: [PATCH 40/88] updates --- common/desktop/home.nix | 1 - common/modules/meta.nix | 20 +-- common/users/laura.nix | 6 +- common/users/vivian.nix | 2 +- flake.lock | 128 +++++++++--------- flake.nix | 13 ++ hosts/olympus/bastion/containers/default.nix | 5 - hosts/olympus/bastion/default.nix | 3 +- hosts/olympus/bastion/immich.nix | 78 +++++++++++ hosts/olympus/eevee/default.nix | 53 ++++++++ .../olympus/eevee/hardware-configuration.nix | 42 ++++++ hosts/olympus/eevee/hardware.nix | 43 ++++++ hosts/olympus/eevee/home/.gitignore | 1 + hosts/olympus/eevee/home/default.nix | 9 ++ pkgs/hyprland-workspaces/default.nix | 3 +- 15 files changed, 321 insertions(+), 86 deletions(-) create mode 100644 hosts/olympus/bastion/immich.nix create mode 100644 hosts/olympus/eevee/default.nix create mode 100644 hosts/olympus/eevee/hardware-configuration.nix create mode 100644 hosts/olympus/eevee/hardware.nix create mode 100644 hosts/olympus/eevee/home/.gitignore create mode 100644 hosts/olympus/eevee/home/default.nix diff --git a/common/desktop/home.nix b/common/desktop/home.nix index 89832ef7..d5289d34 100644 --- a/common/desktop/home.nix +++ b/common/desktop/home.nix @@ -31,7 +31,6 @@ in btop calibre celluloid # video player - cinny-desktop element-desktop fusee-launcher foliate # epub reader diff --git a/common/modules/meta.nix b/common/modules/meta.nix index 7b1a372e..847c2e28 100644 --- a/common/modules/meta.nix +++ b/common/modules/meta.nix @@ -74,16 +74,16 @@ in { # TODO: Open Firewall assertions = [ - { - assertion = config.meta.mac != null; - message = - "${config.networking.fqdnOrHostName} is missing a mac address"; - } - { - assertion = !config.meta.isLaptop -> config.meta.ipv4 != null; - message = - "${config.networking.fqdnOrHostName} needs ipv4 address set as it is not a laptop"; - } + # { + # assertion = config.meta.mac != null; + # message = + # "${config.networking.fqdnOrHostName} is missing a mac address"; + # } + # { + # assertion = !config.meta.isLaptop -> config.meta.ipv4 != null; + # message = + # "${config.networking.fqdnOrHostName} needs ipv4 address set as it is not a laptop"; + # } ]; }; } diff --git a/common/users/laura.nix b/common/users/laura.nix index 6c19947c..05226303 100644 --- a/common/users/laura.nix +++ b/common/users/laura.nix @@ -1,4 +1,5 @@ -{ pkgs, ... }: { +{ pkgs, ... }: +{ users.extraUsers.laura = { isNormalUser = true; shell = pkgs.zsh; @@ -6,9 +7,10 @@ openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBIlFUUXbwOkhNUjoA6zueTdRuaylgpgFqSe/xWGK9zb laura@zmeura" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBVkk9/80askWhInQk03JMntF6SThAYkFZNm+lIGt4E7 laura@mura" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFxoq/J/0ad3AOK/CxPvsIGQjRUzURSuNAtmNOqUmKcr laura@cherry" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGMKbP2/vNTybDoEwdFaQvAI1zCVpdTBN25avfeCV0jP laura@bosbes" ]; extraGroups = [ ]; }; } - diff --git a/common/users/vivian.nix b/common/users/vivian.nix index 862ff070..106bfbc0 100644 --- a/common/users/vivian.nix +++ b/common/users/vivian.nix @@ -12,9 +12,9 @@ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICBhJAp7NWlHgwDYd2z6VNROy5RkeZHRINFLsFvwT4b3 vivian@bastion" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMMbdjysLnmwJD5Fs/SjBPstdIQNUxy8zFHP0GlhHMJB vivian@bastion" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIfooZjMWXvXZu1ReOEACDZ0TMb2WJRBSOLlWE8y6fUh vivian@aoife" - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBMTCUjDbDjAiEKbKmLPavuYM0wJIBdjgytLsg1uWuGc vivian@nord" "sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIM3TqXaApX2JZsgfZd7PKVFMecDgqTHKibpSzgdXNpYAAAAABHNzaDo= solov2-le" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID+HbsgJTQS6pvnMEI5NPKjIf78z+9A7CTIt3abi+PS6 vivian@eevee" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMypFe7cSMgvEI1sdxRtdC+AalXa0ryB/zkO9KmQGOxK vivian@nothing2" ]; # Make me admin diff --git a/flake.lock b/flake.lock index a45e2f94..63e02d2c 100644 --- a/flake.lock +++ b/flake.lock @@ -11,11 +11,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1722472866, - "narHash": "sha256-GJIz4M5HDB948Ex/8cPvbkrNzl/eKUE7/c21JBu4lb8=", + "lastModified": 1723558887, + "narHash": "sha256-FBaRmikNnCX+HQJXAfNJyiOl3sM1NrlxvcFwQDqwCyk=", "owner": "zhaofengli", "repo": "attic", - "rev": "e127acbf9a71ebc0c26bc8e28346822e0a6e16ba", + "rev": "26b9417bde03edc6280d1f7ce709cd619cdb72d4", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "catppuccin": { "locked": { - "lastModified": 1721784420, - "narHash": "sha256-bgF6fN4Qgk7NErFKGuuqWXcLORsiykTYyqMUFRiAUBY=", + "lastModified": 1723691425, + "narHash": "sha256-F25VvHFMaqr26b7goaVWspXaK6XTRFz8RnILV+9OPkk=", "owner": "catppuccin", "repo": "nix", - "rev": "8bdb55cc1c13f572b6e4307a3c0d64f1ae286a4f", + "rev": "552056779a136092eb6358c573d925630172fc30", "type": "github" }, "original": { @@ -189,11 +189,11 @@ "rust-analyzer-src": "rust-analyzer-src" }, "locked": { - "lastModified": 1720420198, - "narHash": "sha256-OIuDb6pHDyGpo7YMFyuRzMLcHm7mRvlYOz0Ht7ps2sU=", + "lastModified": 1722580276, + "narHash": "sha256-VaNcSh7n8OaFW/DJsR6Fm23V+EGpSei0DyF71RKB+90=", "owner": "nix-community", "repo": "fenix", - "rev": "abc0549e3560189462a7d394cc9d50af4608d103", + "rev": "286f371b3cfeaa5c856c8e6dfb893018e86cc947", "type": "github" }, "original": { @@ -341,11 +341,11 @@ ] }, "locked": { - "lastModified": 1719994518, - "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=", + "lastModified": 1722555600, + "narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7", + "rev": "8471fe90ad337a8074e957b69ca4d0089218391d", "type": "github" }, "original": { @@ -545,11 +545,11 @@ ] }, "locked": { - "lastModified": 1721042469, - "narHash": "sha256-6FPUl7HVtvRHCCBQne7Ylp4p+dpP3P/OYuzjztZ4s70=", + "lastModified": 1723202784, + "narHash": "sha256-qbhjc/NEGaDbyy0ucycubq4N3//gDFFH3DOmp1D3u1Q=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "f451c19376071a90d8c58ab1a953c6e9840527fd", + "rev": "c7012d0c18567c889b948781bc74a501e92275d1", "type": "github" }, "original": { @@ -630,11 +630,11 @@ ] }, "locked": { - "lastModified": 1722462338, - "narHash": "sha256-ss0G8t8RJVDewA3MyqgAlV951cWRK6EtVhVKEZ7J5LU=", + "lastModified": 1723986931, + "narHash": "sha256-Fy+KEvDQ+Hc8lJAV3t6leXhZJ2ncU5/esxkgt3b8DEY=", "owner": "nix-community", "repo": "home-manager", - "rev": "6e090576c4824b16e8759ebca3958c5b09659ee8", + "rev": "2598861031b78aadb4da7269df7ca9ddfc3e1671", "type": "github" }, "original": { @@ -651,11 +651,11 @@ ] }, "locked": { - "lastModified": 1722407237, - "narHash": "sha256-wcpVHUc2nBSSgOM7UJSpcRbyus4duREF31xlzHV5T+A=", + "lastModified": 1723399884, + "narHash": "sha256-97wn0ihhGqfMb8WcUgzzkM/TuAxce2Gd20A8oiruju4=", "owner": "nix-community", "repo": "home-manager", - "rev": "58cef3796271aaeabaed98884d4abaab5d9d162d", + "rev": "086f619dd991a4d355c07837448244029fc2d9ab", "type": "github" }, "original": { @@ -699,11 +699,11 @@ "nixpkgs-24_05": "nixpkgs-24_05" }, "locked": { - "lastModified": 1721121314, - "narHash": "sha256-zwc7YXga/1ppaZMWFreZykXtFwBgXodxUZiUx969r+g=", + "lastModified": 1722877200, + "narHash": "sha256-qgKDNJXs+od+1UbRy62uk7dYal3h98I4WojfIqMoGcg=", "ref": "refs/heads/master", - "rev": "059b50b2e729729ea00c6831124d3837c494f3d5", - "revCount": 592, + "rev": "af7d3bf5daeba3fc28089b015c0dd43f06b176f2", + "revCount": 593, "type": "git", "url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git" }, @@ -720,11 +720,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1721849618, - "narHash": "sha256-+cKh/zzyzOfOC7GryAVMESpvTckOVJ+cQC01JJi1z8k=", + "lastModified": 1723470968, + "narHash": "sha256-W76xLG4thxkENM3MOoXWYqKPrgk1WgUWzTixUyuw/co=", "owner": "astro", "repo": "microvm.nix", - "rev": "2f56d58cae49d6b66adc42aa3c52051a83f6a176", + "rev": "69e8ac63a7a4d40bb65e73af41ba60df2eba0419", "type": "github" }, "original": { @@ -741,11 +741,11 @@ ] }, "locked": { - "lastModified": 1722082646, - "narHash": "sha256-od8dBWVP/ngg0cuoyEl/w9D+TCNDj6Kh4tr151Aax7w=", + "lastModified": 1722924007, + "narHash": "sha256-+CQDamNwqO33REJLft8c26NbUi2Td083hq6SvAm2xkU=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "0413754b3cdb879ba14f6e96915e5fdf06c6aab6", + "rev": "91010a5613ffd7ee23ee9263213157a1c422b705", "type": "github" }, "original": { @@ -756,11 +756,11 @@ }, "nixlib": { "locked": { - "lastModified": 1722128034, - "narHash": "sha256-L8rwzYPsLo/TYtydPJoQyYOfetuiyQYnTWYcyB8UE/s=", + "lastModified": 1723337705, + "narHash": "sha256-znSU0DeNDPt7+LMAfFkvKloMaeQ6yl/U5SqV/ktl1vA=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "d15f6f6021693898fcd2c6a9bb13707383da9bbc", + "rev": "ace7856d327b618d3777e31b1f224b3ab57ed71a", "type": "github" }, "original": { @@ -777,11 +777,11 @@ ] }, "locked": { - "lastModified": 1722214420, - "narHash": "sha256-qfHC1p5hcErGcE672/KhBkyWYloekQpqIxtcbcUVYkA=", + "lastModified": 1723870831, + "narHash": "sha256-rXQKvogLHY3BxRVVt5unpbi0zpRf965f57gplWSzQ5k=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "75cbb2a5e19c18840d105a72d036c6c92fc46c5d", + "rev": "32e9d82bada67fc5155e8d4d99b6fc3a1765bfdc", "type": "github" }, "original": { @@ -792,11 +792,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1722332872, - "narHash": "sha256-2xLM4sc5QBfi0U/AANJAW21Bj4ZX479MHPMPkB+eKBU=", + "lastModified": 1723310128, + "narHash": "sha256-IiH8jG6PpR4h9TxSGMYh+2/gQiJW9MwehFvheSb5rPc=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "14c333162ba53c02853add87a0000cbd7aa230c2", + "rev": "c54cf53e022b0b3c1d3b8207aa0f9b194c24f0cf", "type": "github" }, "original": { @@ -886,11 +886,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1720418205, - "narHash": "sha256-cPJoFPXU44GlhWg4pUk9oUPqurPlCFZ11ZQPk21GTPU=", + "lastModified": 1722421184, + "narHash": "sha256-/DJBI6trCeVnasdjUo9pbnodCLZcFqnVZiLUfqLH4jA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "655a58a72a6601292512670343087c2d75d859c1", + "rev": "9f918d616c5321ad374ae6cb5ea89c9e04bf3e58", "type": "github" }, "original": { @@ -902,11 +902,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1722452851, - "narHash": "sha256-SdkmXWvYOIxgDksO5hobBwAZdc/pj7Okx0MferKgG9o=", + "lastModified": 1723957280, + "narHash": "sha256-J08Yqf2IJ73y7myI69qEKsQ048ibweG6FeJeCxbIdB4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c68bae316281af1b80a1d12c6f56d2b92b6f2d3a", + "rev": "abcef4da4ebb72240bddc370a27263627e64877f", "type": "github" }, "original": { @@ -917,11 +917,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1722185531, - "narHash": "sha256-veKR07psFoJjINLC8RK4DiLniGGMgF3QMlS4tb74S6k=", + "lastModified": 1723175592, + "narHash": "sha256-M0xJ3FbDUc4fRZ84dPGx5VvgFsOzds77KiBMW/mMTnI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "52ec9ac3b12395ad677e8b62106f0b98c1f8569d", + "rev": "5e0ca22929f3342b19569b21b2f3462f053e497b", "type": "github" }, "original": { @@ -960,11 +960,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1722458167, - "narHash": "sha256-ri87zBCPf5EaMOvpjU+tx+LgIgVE7HeudjLfVAYSiqs=", + "lastModified": 1723923888, + "narHash": "sha256-w+/PG6KqB8en0x1JH5aMuf0QC78Nfei208EaaaRuYG4=", "owner": "pta2002", "repo": "nixvim", - "rev": "8024b044d612a0aa354eafa6d111ddac56f097bd", + "rev": "78fc4be6a830e8dc01f3e66ddbe3243b4bfe8560", "type": "github" }, "original": { @@ -975,11 +975,11 @@ }, "nur": { "locked": { - "lastModified": 1722494317, - "narHash": "sha256-TPS7h6uaIKxXYVjep3DJdVMNlo++tMdtljjdDwDcr7E=", + "lastModified": 1723992327, + "narHash": "sha256-w0DhauBqGC7zBlsm0i0IXVvhBGqBvsJPGnc5b9jffvA=", "owner": "nix-community", "repo": "NUR", - "rev": "85c4a46c0ac51dc69cb44c0950f9ee0f2b9b1c8d", + "rev": "adee26fc0c486560152c814b963ae27851eef658", "type": "github" }, "original": { @@ -997,11 +997,11 @@ ] }, "locked": { - "lastModified": 1722144272, - "narHash": "sha256-olZbfaEdd+zNPuuyYcYGaRzymA9rOmth8yXOlVm+LUs=", + "lastModified": 1723367906, + "narHash": "sha256-v1qA4WBGDI2uH/TVqRwuXSBP341W681psbzYJ8zrjog=", "owner": "NuschtOS", "repo": "search", - "rev": "16565307c267ec219c2b5d3494ba66df08e7d403", + "rev": "6ca2c3ae05a915c160512bd41f6810f456c9b30d", "type": "github" }, "original": { @@ -1063,11 +1063,11 @@ "rust-analyzer-src": { "flake": false, "locked": { - "lastModified": 1720344064, - "narHash": "sha256-STmaV9Zu74QtkGGrbr9uMhskwagfCjJqOAYapXabiuk=", + "lastModified": 1722521768, + "narHash": "sha256-FvJ4FaMy1kJbZ3Iw1RyvuiUAsbHJXoU2HwylzaFzj1o=", "owner": "rust-lang", "repo": "rust-analyzer", - "rev": "a5b21ea0aa644dffd7cf958b43f11f221d53404e", + "rev": "f149dc5029d8406fae8b2c541603bcac06e30deb", "type": "github" }, "original": { @@ -1279,11 +1279,11 @@ ] }, "locked": { - "lastModified": 1722330636, - "narHash": "sha256-uru7JzOa33YlSRwf9sfXpJG+UAV+bnBEYMjrzKrQZFw=", + "lastModified": 1723454642, + "narHash": "sha256-S0Gvsenh0II7EAaoc9158ZB4vYyuycvMGKGxIbERNAM=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "768acdb06968e53aa1ee8de207fd955335c754b7", + "rev": "349de7bc435bdff37785c2466f054ed1766173be", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 38a44e08..5bab0ea6 100644 --- a/flake.nix +++ b/flake.nix @@ -117,6 +117,13 @@ ./hosts/thalassa/aoife ]; }; + + eevee = { + modules = [ + ./common/desktop + ./hosts/olympus/eevee + ]; + }; }; # deploy-rs @@ -140,6 +147,12 @@ hostname = "aoife"; profiles.system.path = deploy.lib.x86_64-linux.activate.nixos self.nixosConfigurations.aoife; }; + + eevee = { + fastConnection = true; + hostname = "eevee.olympus"; + profiles.system.path = deploy.lib.x86_64-linux.activate.nixos self.nixosConfigurations.eevee; + }; }; }; diff --git a/hosts/olympus/bastion/containers/default.nix b/hosts/olympus/bastion/containers/default.nix index 1d1cf4ae..b88348a0 100644 --- a/hosts/olympus/bastion/containers/default.nix +++ b/hosts/olympus/bastion/containers/default.nix @@ -37,11 +37,6 @@ in { inputs.catppuccin.nixosModules.catppuccin ]; - services.v.dns = { - enable = true; - openFirewall = true; - mode = "server"; - }; }; }; }; diff --git a/hosts/olympus/bastion/default.nix b/hosts/olympus/bastion/default.nix index e6fe5de8..c5386982 100644 --- a/hosts/olympus/bastion/default.nix +++ b/hosts/olympus/bastion/default.nix @@ -7,6 +7,7 @@ # Include the results of the hardware scan. ./hardware-configuration.nix ./containers + ./immich.nix # ./vms.nix ]; @@ -30,7 +31,7 @@ # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). system.stateVersion = "22.11"; # Did you read the comment? - virtualisation.podman.enable = true; + virtualisation.docker.enable = true; # Additional packages environment.systemPackages = with pkgs; [ vault ]; diff --git a/hosts/olympus/bastion/immich.nix b/hosts/olympus/bastion/immich.nix new file mode 100644 index 00000000..46e21e79 --- /dev/null +++ b/hosts/olympus/bastion/immich.nix @@ -0,0 +1,78 @@ +{ config, pkgs, ... }: +{ + boot.kernel.sysctl = { "vm.overcommit_memory" = 1; }; + + virtualisation.oci-containers.backend = "docker"; + virtualisation.docker.autoPrune.enable = true; + + + systemd.services.init-filerun-network-and-files = { + description = "Create the network bridge for Immich."; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + + serviceConfig.Type = "oneshot"; + script = + let + dockercli = "${config.virtualisation.docker.package}/bin/docker"; + in + '' + # immich-net network + check=$(${dockercli} network ls | grep "immich-net" || true) + if [ -z "$check" ]; then + ${dockercli} network create immich-net + else + echo "immich-net already exists in docker" + fi + ''; + }; + + virtualisation.oci-containers.containers = { + immich = { + autoStart = true; + image = "ghcr.io/imagegenius/immich:latest"; + volumes = [ + "/mnt/backup/immich/config:/config" + "/mnt/backup/immich/photos:/photos" + "/mnt/backup/replicated/photos:/replicated" + "/mnt/backup/immich/config/machine-learning:/config/machine-learning" + ]; + ports = [ "2283:8080" ]; + environment = { + PUID = "1000"; + PGID = "1000"; + TZ = "Europe/Amsterdam"; # Change this to your timezone + DB_HOSTNAME = "postgres14"; + DB_USERNAME = "postgres"; + DB_PASSWORD = "postgres"; + DB_DATABASE_NAME = "immich"; + REDIS_HOSTNAME = "redis"; + }; + extraOptions = [ + "--network=immich-net" + "--pull=always" + # "--gpus=all" + ]; + }; + + redis = { + autoStart = true; + image = "redis"; + ports = [ "6379:6379" ]; + extraOptions = [ "--network=immich-net" ]; + }; + + postgres14 = { + autoStart = true; + image = "tensorchord/pgvecto-rs:pg14-v0.2.0"; + ports = [ "5432:5432" ]; + volumes = [ "pgdata:/var/lib/postgresql/data" ]; + environment = { + POSTGRES_USER = "postgres"; + POSTGRES_PASSWORD = "postgres"; + POSTGRES_DB = "immich"; + }; + extraOptions = [ "--network=immich-net" ]; + }; + }; +} diff --git a/hosts/olympus/eevee/default.nix b/hosts/olympus/eevee/default.nix new file mode 100644 index 00000000..6e4e1710 --- /dev/null +++ b/hosts/olympus/eevee/default.nix @@ -0,0 +1,53 @@ +# Edit this configuration file to define what should be installed on +# your system. Help is available in the configuration.nix(5) man page +# and in the NixOS manual (accessible by running ‘nixos-help’). + +{ pkgs, ... }: { + imports = [ ./hardware-configuration.nix ./hardware.nix ]; + + # Bootloader. + boot = { + kernelPackages = pkgs.linuxPackages_latest; + initrd = { + kernelModules = [ "nvidia" "nvidia_modeset" "nvidia_uvm" "nvidia_drm" ]; + }; + loader.systemd-boot.configurationLimit = 5; + }; + + fileSystems."/".options = [ "compress=zstd" ]; + + # Set your time zone. + time.timeZone = "Europe/Amsterdam"; + + # Select internationalisation properties. + i18n.defaultLocale = "en_GB.UTF-8"; + i18n.extraLocaleSettings = { + LC_ADDRESS = "nl_NL.UTF-8"; + LC_IDENTIFICATION = "nl_NL.UTF-8"; + LC_MEASUREMENT = "nl_NL.UTF-8"; + LC_MONETARY = "nl_NL.UTF-8"; + LC_NAME = "nl_NL.UTF-8"; + LC_NUMERIC = "nl_NL.UTF-8"; + LC_PAPER = "nl_NL.UTF-8"; + LC_TELEPHONE = "nl_NL.UTF-8"; + LC_TIME = "nl_NL.UTF-8"; + }; + + # Enable CUPS to print documents. + services.printing.enable = true; + + environment.systemPackages = with pkgs; [ wireguard-tools ]; + + environment.sessionVariables.NIXOS_OZONE_WL = "1"; + + home-manager = { + users.vivian = import ./home; + }; + # 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 + # 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 = "23.05"; # Did you read the comment? +} diff --git a/hosts/olympus/eevee/hardware-configuration.nix b/hosts/olympus/eevee/hardware-configuration.nix new file mode 100644 index 00000000..efc77070 --- /dev/null +++ b/hosts/olympus/eevee/hardware-configuration.nix @@ -0,0 +1,42 @@ +# 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, modulesPath, ... }: + +{ + imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; + boot = { + + initrd.availableKernelModules = + [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ]; + initrd.kernelModules = [ ]; + kernelModules = [ "kvm-intel" ]; + extraModulePackages = [ ]; + }; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/947a98af-9a4e-4811-a2ca-9aa00b319e9c"; + fsType = "btrfs"; + options = [ "subvol=@" ]; + }; + + fileSystems."/boot/efi" = { + device = "/dev/disk/by-uuid/D883-F146"; + fsType = "vfat"; + }; + + swapDevices = + [{ device = "/dev/disk/by-uuid/a99402e1-6f2a-4c4b-b69f-aae2fd13ffc0"; }]; + + # 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.enp0s31f6.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; + hardware.cpu.intel.updateMicrocode = + lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/hosts/olympus/eevee/hardware.nix b/hosts/olympus/eevee/hardware.nix new file mode 100644 index 00000000..1595ddfb --- /dev/null +++ b/hosts/olympus/eevee/hardware.nix @@ -0,0 +1,43 @@ +{ pkgs, ... }: +{ + hardware = { + enableAllFirmware = true; + nvidia = { + # package = config.boot.kernelPackages.nvidiaPackages.stable; + + # Open drivers cause gdm to crash + # open = true; + + # nvidia-drm.modeset=1 + modesetting.enable = true; + powerManagement.enable = false; + }; + + # Hardware acceleration + graphics.enable = true; + + logitech.wireless = { + enable = true; + enableGraphical = true; + }; + }; + services = { + + hardware.bolt.enable = true; + + xserver.videoDrivers = [ "nvidia" ]; + + # udev + udev.packages = with pkgs; [ + android-udev-rules + logitech-udev-rules + wooting-udev-rules + ]; + + # SSD Trim + fstrim.enable = true; + }; + + # FS + fileSystems."/".options = [ "compress=zstd" ]; +} diff --git a/hosts/olympus/eevee/home/.gitignore b/hosts/olympus/eevee/home/.gitignore new file mode 100644 index 00000000..3e0fc8e7 --- /dev/null +++ b/hosts/olympus/eevee/home/.gitignore @@ -0,0 +1 @@ +*dconf_dump* \ No newline at end of file diff --git a/hosts/olympus/eevee/home/default.nix b/hosts/olympus/eevee/home/default.nix new file mode 100644 index 00000000..bf2d078a --- /dev/null +++ b/hosts/olympus/eevee/home/default.nix @@ -0,0 +1,9 @@ +{ pkgs, ... }: { + dconf.settings."org/gnome/desktop/peripherals/mouse" = { + accel-profile = "flat"; + }; + + home.packages = with pkgs; [ + zoom-us + ]; +} diff --git a/pkgs/hyprland-workspaces/default.nix b/pkgs/hyprland-workspaces/default.nix index 1b115390..af9f9136 100644 --- a/pkgs/hyprland-workspaces/default.nix +++ b/pkgs/hyprland-workspaces/default.nix @@ -10,8 +10,7 @@ rustPlatform.buildRustPackage rec { sha256 = "sha256-4QGLTimIpx74gWUyHCheUZZT1WgVzBoJRY8OlUDdOh4="; }; - # cargoSha256 = "sha256-9ndP0nyRBCdOGth4UWA263IvjbgnVW2x9PK8oTaMrxg="; - cargoHash = null; + cargoHash = "sha256-9ndP0nyRBCdOGth4UWA263IvjbgnVW2x9PK8oTaMrxg="; meta = with lib; { description = "A multi-monitor aware Hyprland workspace widget"; From c4b8889492ac3447e9bd4ecc0430d631e71f4180 Mon Sep 17 00:00:00 2001 From: Vivian Date: Fri, 23 Aug 2024 09:49:49 +0200 Subject: [PATCH 41/88] updates --- common/desktop/home.nix | 6 +- flake.lock | 142 +++++++++++++++----------- hosts/olympus/eevee/home/default.nix | 1 - hosts/thalassa/aoife/hardware.nix | 1 - hosts/thalassa/aoife/home/default.nix | 2 +- 5 files changed, 85 insertions(+), 67 deletions(-) diff --git a/common/desktop/home.nix b/common/desktop/home.nix index d5289d34..398f6640 100644 --- a/common/desktop/home.nix +++ b/common/desktop/home.nix @@ -36,7 +36,6 @@ in foliate # epub reader gcc gimp - inputs.attic.packages.${pkgs.system}.attic comma discord jetbrains.rust-rover @@ -69,7 +68,10 @@ in chromium = { enable = true; - package = pkgs.ungoogled-chromium; + extensions = [ + { id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; } # ublock origin + { id = "nngceckbapebfimnlniiiahkandclblb"; } # bitwarden + ]; }; direnv = { diff --git a/flake.lock b/flake.lock index 63e02d2c..151aa7f5 100644 --- a/flake.lock +++ b/flake.lock @@ -11,11 +11,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1723558887, - "narHash": "sha256-FBaRmikNnCX+HQJXAfNJyiOl3sM1NrlxvcFwQDqwCyk=", + "lastModified": 1724226964, + "narHash": "sha256-cltFh4su2vcFidxKp7LuEgX3ZGLfPy0DCdrQZ/QTe68=", "owner": "zhaofengli", "repo": "attic", - "rev": "26b9417bde03edc6280d1f7ce709cd619cdb72d4", + "rev": "6d9aeaef0a067d664cb11bb7704f7ec373d47fb2", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "catppuccin": { "locked": { - "lastModified": 1723691425, - "narHash": "sha256-F25VvHFMaqr26b7goaVWspXaK6XTRFz8RnILV+9OPkk=", + "lastModified": 1724156255, + "narHash": "sha256-rpUCeS/QZwQdJmDrvCm0hRi8bFvQNQKAnIMK5ZDBfpM=", "owner": "catppuccin", "repo": "nix", - "rev": "552056779a136092eb6358c573d925630172fc30", + "rev": "8886a68edadb1d93c7101337f995ffce4b410ff2", "type": "github" }, "original": { @@ -84,11 +84,11 @@ ] }, "locked": { - "lastModified": 1717025063, - "narHash": "sha256-dIubLa56W9sNNz0e8jGxrX3CAkPXsq7snuFA/Ie6dn8=", + "lastModified": 1722960479, + "narHash": "sha256-NhCkJJQhD5GUib8zN9JrmYGMwt4lCRp6ZVNzIiYCl0Y=", "owner": "ipetkov", "repo": "crane", - "rev": "480dff0be03dac0e51a8dfc26e882b0d123a450e", + "rev": "4c6c77920b8d44cd6660c1621dea6b3fc4b4c4f4", "type": "github" }, "original": { @@ -205,11 +205,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", "owner": "edolstra", "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "type": "github" }, "original": { @@ -355,12 +355,15 @@ } }, "flake-utils": { + "inputs": { + "systems": "systems" + }, "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -404,7 +407,7 @@ }, "flake-utils_3": { "inputs": { - "systems": "systems_2" + "systems": "systems_3" }, "locked": { "lastModified": 1701680307, @@ -422,7 +425,7 @@ }, "flake-utils_4": { "inputs": { - "systems": "systems_3" + "systems": "systems_4" }, "locked": { "lastModified": 1694529238, @@ -440,7 +443,7 @@ }, "flake-utils_5": { "inputs": { - "systems": "systems_4" + "systems": "systems_5" }, "locked": { "lastModified": 1710146030, @@ -458,7 +461,7 @@ }, "flake-utils_6": { "inputs": { - "systems": "systems_5" + "systems": "systems_6" }, "locked": { "lastModified": 1710146030, @@ -476,7 +479,7 @@ }, "flake-utils_7": { "inputs": { - "systems": "systems_6" + "systems": "systems_7" }, "locked": { "lastModified": 1710146030, @@ -494,7 +497,7 @@ }, "flake-utils_8": { "inputs": { - "systems": "systems_7" + "systems": "systems_8" }, "locked": { "lastModified": 1710146030, @@ -512,7 +515,7 @@ }, "flake-utils_9": { "inputs": { - "systems": "systems_8" + "systems": "systems_9" }, "locked": { "lastModified": 1681202837, @@ -545,11 +548,11 @@ ] }, "locked": { - "lastModified": 1723202784, - "narHash": "sha256-qbhjc/NEGaDbyy0ucycubq4N3//gDFFH3DOmp1D3u1Q=", + "lastModified": 1724227338, + "narHash": "sha256-TuSaYdhOxeaaE9885mFO1lZHHax33GD5A9dczJrGUjw=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "c7012d0c18567c889b948781bc74a501e92275d1", + "rev": "6cedaa7c1b4f82a266e5d30f212273e60d62cb0d", "type": "github" }, "original": { @@ -651,11 +654,11 @@ ] }, "locked": { - "lastModified": 1723399884, - "narHash": "sha256-97wn0ihhGqfMb8WcUgzzkM/TuAxce2Gd20A8oiruju4=", + "lastModified": 1723986931, + "narHash": "sha256-Fy+KEvDQ+Hc8lJAV3t6leXhZJ2ncU5/esxkgt3b8DEY=", "owner": "nix-community", "repo": "home-manager", - "rev": "086f619dd991a4d355c07837448244029fc2d9ab", + "rev": "2598861031b78aadb4da7269df7ca9ddfc3e1671", "type": "github" }, "original": { @@ -741,11 +744,11 @@ ] }, "locked": { - "lastModified": 1722924007, - "narHash": "sha256-+CQDamNwqO33REJLft8c26NbUi2Td083hq6SvAm2xkU=", + "lastModified": 1724299755, + "narHash": "sha256-P5zMA17kD9tqiqMuNXwupkM7buM3gMNtoZ1VuJTRDE4=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "91010a5613ffd7ee23ee9263213157a1c422b705", + "rev": "a8968d88e5a537b0491f68ce910749cd870bdbef", "type": "github" }, "original": { @@ -756,11 +759,11 @@ }, "nixlib": { "locked": { - "lastModified": 1723337705, - "narHash": "sha256-znSU0DeNDPt7+LMAfFkvKloMaeQ6yl/U5SqV/ktl1vA=", + "lastModified": 1723942470, + "narHash": "sha256-QdSArN0xKESEOTcv+3kE6yu4B4WX9lupZ4+Htx3RXGg=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "ace7856d327b618d3777e31b1f224b3ab57ed71a", + "rev": "531a2e8416a6d8200a53eddfbdb8f2c8dc4a1251", "type": "github" }, "original": { @@ -777,11 +780,11 @@ ] }, "locked": { - "lastModified": 1723870831, - "narHash": "sha256-rXQKvogLHY3BxRVVt5unpbi0zpRf965f57gplWSzQ5k=", + "lastModified": 1724288137, + "narHash": "sha256-ZsDarezhjZ7kloarJlA2KxTrLHrLVUtLyYcXr/0wbCw=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "32e9d82bada67fc5155e8d4d99b6fc3a1765bfdc", + "rev": "0552f784af9f211481c5dda6df9b918733492826", "type": "github" }, "original": { @@ -792,11 +795,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1723310128, - "narHash": "sha256-IiH8jG6PpR4h9TxSGMYh+2/gQiJW9MwehFvheSb5rPc=", + "lastModified": 1724067415, + "narHash": "sha256-WJBAEFXAtA41RMpK8mvw0cQ62CJkNMBtzcEeNIJV7b0=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "c54cf53e022b0b3c1d3b8207aa0f9b194c24f0cf", + "rev": "b09c46430ffcf18d575acf5c339b38ac4e1db5d2", "type": "github" }, "original": { @@ -838,11 +841,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1711460390, - "narHash": "sha256-akSgjDZL6pVHEfSE6sz1DNSXuYX6hq+P/1Z5IoYWs7E=", + "lastModified": 1720535198, + "narHash": "sha256-zwVvxrdIzralnSbcpghA92tWu2DV2lwv89xZc8MTrbg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "44733514b72e732bd49f5511bd0203dea9b9a434", + "rev": "205fd4226592cc83fd4c0885a3e4c9c400efabb5", "type": "github" }, "original": { @@ -902,11 +905,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1723957280, - "narHash": "sha256-J08Yqf2IJ73y7myI69qEKsQ048ibweG6FeJeCxbIdB4=", + "lastModified": 1724306539, + "narHash": "sha256-9jF5qr44cnvWoXhE0cr114GHT5Adav3q/DKJ6n9tor8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "abcef4da4ebb72240bddc370a27263627e64877f", + "rev": "6c31eb9b990446880000e3297f69f4fdee5b69d7", "type": "github" }, "original": { @@ -917,11 +920,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1723175592, - "narHash": "sha256-M0xJ3FbDUc4fRZ84dPGx5VvgFsOzds77KiBMW/mMTnI=", + "lastModified": 1724224976, + "narHash": "sha256-Z/ELQhrSd7bMzTO8r7NZgi9g5emh+aRKoCdaAv5fiO0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5e0ca22929f3342b19569b21b2f3462f053e497b", + "rev": "c374d94f1536013ca8e92341b540eba4c22f9c62", "type": "github" }, "original": { @@ -960,11 +963,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1723923888, - "narHash": "sha256-w+/PG6KqB8en0x1JH5aMuf0QC78Nfei208EaaaRuYG4=", + "lastModified": 1724340365, + "narHash": "sha256-SFJuLI6FpuLHI0PdZAIOAJoeR6Z+cRkbTUQ5TuqJw5s=", "owner": "pta2002", "repo": "nixvim", - "rev": "78fc4be6a830e8dc01f3e66ddbe3243b4bfe8560", + "rev": "1854d591cb0e5be6ad97f5091766cdf28e948265", "type": "github" }, "original": { @@ -975,11 +978,11 @@ }, "nur": { "locked": { - "lastModified": 1723992327, - "narHash": "sha256-w0DhauBqGC7zBlsm0i0IXVvhBGqBvsJPGnc5b9jffvA=", + "lastModified": 1724348704, + "narHash": "sha256-h8HB+4AiVZAe3ie6zYOmJco7QkKRPC7iHfChsoSOHm4=", "owner": "nix-community", "repo": "NUR", - "rev": "adee26fc0c486560152c814b963ae27851eef658", + "rev": "bf3ebc298e0a5091f4f41cb45f38b31cac050e62", "type": "github" }, "original": { @@ -997,11 +1000,11 @@ ] }, "locked": { - "lastModified": 1723367906, - "narHash": "sha256-v1qA4WBGDI2uH/TVqRwuXSBP341W681psbzYJ8zrjog=", + "lastModified": 1723969429, + "narHash": "sha256-BuewfNEXEf11MIkJY+uvWsdLu1dIvgJqntWChvNdALg=", "owner": "NuschtOS", "repo": "search", - "rev": "6ca2c3ae05a915c160512bd41f6810f456c9b30d", + "rev": "a05d1805f2a2bc47d230e5e92aecbf69f784f3d0", "type": "github" }, "original": { @@ -1250,6 +1253,21 @@ "type": "github" } }, + "systems_9": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "t": { "inputs": { "flake-utils": "flake-utils_8", @@ -1279,11 +1297,11 @@ ] }, "locked": { - "lastModified": 1723454642, - "narHash": "sha256-S0Gvsenh0II7EAaoc9158ZB4vYyuycvMGKGxIbERNAM=", + "lastModified": 1723808491, + "narHash": "sha256-rhis3qNuGmJmYC/okT7Dkc4M8CeUuRCSvW6kC2f3hBc=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "349de7bc435bdff37785c2466f054ed1766173be", + "rev": "1d07739554fdc4f8481068f1b11d6ab4c1a4167a", "type": "github" }, "original": { @@ -1294,7 +1312,7 @@ }, "utils": { "inputs": { - "systems": "systems" + "systems": "systems_2" }, "locked": { "lastModified": 1701680307, diff --git a/hosts/olympus/eevee/home/default.nix b/hosts/olympus/eevee/home/default.nix index bf2d078a..01ab876e 100644 --- a/hosts/olympus/eevee/home/default.nix +++ b/hosts/olympus/eevee/home/default.nix @@ -4,6 +4,5 @@ }; home.packages = with pkgs; [ - zoom-us ]; } diff --git a/hosts/thalassa/aoife/hardware.nix b/hosts/thalassa/aoife/hardware.nix index 17adae98..2219c67a 100644 --- a/hosts/thalassa/aoife/hardware.nix +++ b/hosts/thalassa/aoife/hardware.nix @@ -40,7 +40,6 @@ # Video Driver xserver = { dpi = 280; - xkb.options = "caps:swapescape"; }; # SSD Trim diff --git a/hosts/thalassa/aoife/home/default.nix b/hosts/thalassa/aoife/home/default.nix index 1e0d5ca9..e8df0a42 100644 --- a/hosts/thalassa/aoife/home/default.nix +++ b/hosts/thalassa/aoife/home/default.nix @@ -7,7 +7,7 @@ # Custom dconf settings dconf.settings."org/gnome/desktop/input-sources" = { - xkb-options = [ "caps:swapescape" ]; + # xkb-options = [ "caps:swapescape" ]; }; programs.zsh.envExtra = '' From f42c42b0a73f780bf74356ae63d4c344e696275f Mon Sep 17 00:00:00 2001 From: Vivian Date: Mon, 9 Sep 2024 08:36:20 +0200 Subject: [PATCH 42/88] cleanup & updates --- common/hm-modules/nvim/default.nix | 6 +- flake.lock | 186 ++++++++---------- flake.nix | 2 +- hosts/olympus/bastion/containers/default.nix | 5 +- hosts/olympus/bastion/containers/dns.nix | 7 + nixos/hosts/olympus/bastion/configuration.nix | 38 ---- .../olympus/bastion/containers/common.nix | 6 - .../olympus/bastion/containers/default.nix | 26 --- .../bastion/hardware-configuration.nix | 25 --- nixos/hosts/olympus/bastion/vms.nix | 32 --- nixos/hosts/olympus/dhcp/configuration.nix | 3 - nixos/hosts/olympus/eevee/configuration.nix | 53 ----- .../olympus/eevee/hardware-configuration.nix | 42 ---- nixos/hosts/olympus/eevee/hardware.nix | 48 ----- nixos/hosts/olympus/eevee/home/.gitignore | 1 - nixos/hosts/olympus/eevee/home/default.nix | 9 - nixos/hosts/olympus/nginx/configuration.nix | 1 - 17 files changed, 95 insertions(+), 395 deletions(-) create mode 100644 hosts/olympus/bastion/containers/dns.nix delete mode 100644 nixos/hosts/olympus/bastion/configuration.nix delete mode 100644 nixos/hosts/olympus/bastion/containers/common.nix delete mode 100644 nixos/hosts/olympus/bastion/containers/default.nix delete mode 100644 nixos/hosts/olympus/bastion/hardware-configuration.nix delete mode 100644 nixos/hosts/olympus/bastion/vms.nix delete mode 100644 nixos/hosts/olympus/eevee/configuration.nix delete mode 100644 nixos/hosts/olympus/eevee/hardware-configuration.nix delete mode 100644 nixos/hosts/olympus/eevee/hardware.nix delete mode 100644 nixos/hosts/olympus/eevee/home/.gitignore delete mode 100644 nixos/hosts/olympus/eevee/home/default.nix diff --git a/common/hm-modules/nvim/default.nix b/common/hm-modules/nvim/default.nix index dbb56629..8f86bdc7 100644 --- a/common/hm-modules/nvim/default.nix +++ b/common/hm-modules/nvim/default.nix @@ -219,10 +219,6 @@ with lib; folder = "daily"; }; workspaces = [ - { - name = "uni"; - path = "~/cloud/Documents/CESE/notes"; - } { name = "notes"; path = "~/cloud/Notes"; @@ -282,7 +278,7 @@ with lib; }; # surround.enable = true; fugitive.enable = true; - gitgutter.enable = true; + # gitgutter.enable = true; lualine = { enable = true; diff --git a/flake.lock b/flake.lock index 151aa7f5..9d026692 100644 --- a/flake.lock +++ b/flake.lock @@ -4,6 +4,7 @@ "inputs": { "crane": "crane", "flake-compat": "flake-compat", + "flake-parts": "flake-parts", "flake-utils": "flake-utils", "nixpkgs": [ "nixpkgs" @@ -11,11 +12,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1724226964, - "narHash": "sha256-cltFh4su2vcFidxKp7LuEgX3ZGLfPy0DCdrQZ/QTe68=", + "lastModified": 1725300620, + "narHash": "sha256-IdM+pZ6BnmD3o1fTJZ2BD43k7dwi1BbVfLDLpM1nE5s=", "owner": "zhaofengli", "repo": "attic", - "rev": "6d9aeaef0a067d664cb11bb7704f7ec373d47fb2", + "rev": "bea72d75b6165dfb529ba0c39cc6c7e9c7f0d234", "type": "github" }, "original": { @@ -42,11 +43,11 @@ }, "catppuccin": { "locked": { - "lastModified": 1724156255, - "narHash": "sha256-rpUCeS/QZwQdJmDrvCm0hRi8bFvQNQKAnIMK5ZDBfpM=", + "lastModified": 1725509983, + "narHash": "sha256-NHCgHVqumPraFJnLrkanoLDuhOoUHUvRhvp/RIHJR+A=", "owner": "catppuccin", "repo": "nix", - "rev": "8886a68edadb1d93c7101337f995ffce4b410ff2", + "rev": "45745fe5960acaefef2b60f3455bcac6a0ca6bc9", "type": "github" }, "original": { @@ -180,28 +181,6 @@ "type": "github" } }, - "fenix": { - "inputs": { - "nixpkgs": [ - "microvm", - "nixpkgs" - ], - "rust-analyzer-src": "rust-analyzer-src" - }, - "locked": { - "lastModified": 1722580276, - "narHash": "sha256-VaNcSh7n8OaFW/DJsR6Fm23V+EGpSei0DyF71RKB+90=", - "owner": "nix-community", - "repo": "fenix", - "rev": "286f371b3cfeaa5c856c8e6dfb893018e86cc947", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "fenix", - "type": "github" - } - }, "flake-compat": { "flake": false, "locked": { @@ -313,6 +292,27 @@ } }, "flake-parts": { + "inputs": { + "nixpkgs-lib": [ + "attic", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1722555600, + "narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "8471fe90ad337a8074e957b69ca4d0089218391d", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_2": { "inputs": { "nixpkgs-lib": [ "lanzaboote", @@ -333,7 +333,7 @@ "type": "github" } }, - "flake-parts_2": { + "flake-parts_3": { "inputs": { "nixpkgs-lib": [ "nixvim", @@ -548,11 +548,11 @@ ] }, "locked": { - "lastModified": 1724227338, - "narHash": "sha256-TuSaYdhOxeaaE9885mFO1lZHHax33GD5A9dczJrGUjw=", + "lastModified": 1724857454, + "narHash": "sha256-Qyl9Q4QMTLZnnBb/8OuQ9LSkzWjBU1T5l5zIzTxkkhk=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "6cedaa7c1b4f82a266e5d30f212273e60d62cb0d", + "rev": "4509ca64f1084e73bc7a721b20c669a8d4c5ebe6", "type": "github" }, "original": { @@ -633,11 +633,11 @@ ] }, "locked": { - "lastModified": 1723986931, - "narHash": "sha256-Fy+KEvDQ+Hc8lJAV3t6leXhZJ2ncU5/esxkgt3b8DEY=", + "lastModified": 1725628988, + "narHash": "sha256-Y6TBMTGu4bddUwszGjlcOuN0soVc1Gv43hp+1sT/GNI=", "owner": "nix-community", "repo": "home-manager", - "rev": "2598861031b78aadb4da7269df7ca9ddfc3e1671", + "rev": "127ccc3eb7e36fa75e8c3fbd8a343154f66cc1c6", "type": "github" }, "original": { @@ -654,11 +654,11 @@ ] }, "locked": { - "lastModified": 1723986931, - "narHash": "sha256-Fy+KEvDQ+Hc8lJAV3t6leXhZJ2ncU5/esxkgt3b8DEY=", + "lastModified": 1724435763, + "narHash": "sha256-UNky3lJNGQtUEXT2OY8gMxejakSWPTfWKvpFkpFlAfM=", "owner": "nix-community", "repo": "home-manager", - "rev": "2598861031b78aadb4da7269df7ca9ddfc3e1671", + "rev": "c2cd2a52e02f1dfa1c88f95abeb89298d46023be", "type": "github" }, "original": { @@ -671,7 +671,7 @@ "inputs": { "crane": "crane_2", "flake-compat": "flake-compat_4", - "flake-parts": "flake-parts", + "flake-parts": "flake-parts_2", "nixpkgs": [ "nixpkgs" ], @@ -679,11 +679,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1722329086, - "narHash": "sha256-e/fSi0WER06N8WCvpht62fkGtWfe5ckDxr6zNYkwkFw=", + "lastModified": 1725379389, + "narHash": "sha256-qS1H/5/20ewJIXmf8FN2A5KTOKKU9elWvCPwdBi1P/U=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "f5a3a7dff44d131807fc1a89fbd8576cd870334a", + "rev": "e7bd94e0b5ff3c1e686f2101004ebf4fcea9d871", "type": "github" }, "original": { @@ -717,17 +717,16 @@ }, "microvm": { "inputs": { - "fenix": "fenix", "flake-utils": "flake-utils_6", "nixpkgs": "nixpkgs_3", "spectrum": "spectrum" }, "locked": { - "lastModified": 1723470968, - "narHash": "sha256-W76xLG4thxkENM3MOoXWYqKPrgk1WgUWzTixUyuw/co=", + "lastModified": 1725664757, + "narHash": "sha256-kUMgeF3hHJM8aBpdazNgtCeeOTrWext6lHfrYmC6otU=", "owner": "astro", "repo": "microvm.nix", - "rev": "69e8ac63a7a4d40bb65e73af41ba60df2eba0419", + "rev": "caac7808d1e31f8a0fa408338cd3736947cb226d", "type": "github" }, "original": { @@ -744,11 +743,11 @@ ] }, "locked": { - "lastModified": 1724299755, - "narHash": "sha256-P5zMA17kD9tqiqMuNXwupkM7buM3gMNtoZ1VuJTRDE4=", + "lastModified": 1724561770, + "narHash": "sha256-zv8C9RNa86CIpyHwPIVO/k+5TfM8ZbjGwOOpTe1grls=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "a8968d88e5a537b0491f68ce910749cd870bdbef", + "rev": "ac5694a0b855a981e81b4d9f14052e3ff46ca39e", "type": "github" }, "original": { @@ -759,11 +758,11 @@ }, "nixlib": { "locked": { - "lastModified": 1723942470, - "narHash": "sha256-QdSArN0xKESEOTcv+3kE6yu4B4WX9lupZ4+Htx3RXGg=", + "lastModified": 1725152544, + "narHash": "sha256-Tm344cnFM9f2YZsgWtJduvhIrvLr3Bi8J4Xc+UZDKYE=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "531a2e8416a6d8200a53eddfbdb8f2c8dc4a1251", + "rev": "7f0b9e4fbd91826cb9ce6babbc11c87903191051", "type": "github" }, "original": { @@ -780,11 +779,11 @@ ] }, "locked": { - "lastModified": 1724288137, - "narHash": "sha256-ZsDarezhjZ7kloarJlA2KxTrLHrLVUtLyYcXr/0wbCw=", + "lastModified": 1725497951, + "narHash": "sha256-fayKyVs/9FQdYH+3SCOkQM1GCsEPPVE+lSiVGlYQ7i0=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "0552f784af9f211481c5dda6df9b918733492826", + "rev": "15a07ebf4a041bf232026263f1f96f2af390f3bc", "type": "github" }, "original": { @@ -795,11 +794,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1724067415, - "narHash": "sha256-WJBAEFXAtA41RMpK8mvw0cQ62CJkNMBtzcEeNIJV7b0=", + "lastModified": 1725477728, + "narHash": "sha256-ahej1VRqKmWbG7gewty+GlrSBEeGY/J2Zy8Nt8+3fdg=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "b09c46430ffcf18d575acf5c339b38ac4e1db5d2", + "rev": "880be1ab837e1e9fe0449dae41ac4d034694d4ce", "type": "github" }, "original": { @@ -841,16 +840,16 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1720535198, - "narHash": "sha256-zwVvxrdIzralnSbcpghA92tWu2DV2lwv89xZc8MTrbg=", + "lastModified": 1724316499, + "narHash": "sha256-Qb9MhKBUTCfWg/wqqaxt89Xfi6qTD3XpTzQ9eXi3JmE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "205fd4226592cc83fd4c0885a3e4c9c400efabb5", + "rev": "797f7dc49e0bc7fab4b57c021cdf68f595e47841", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-23.11", + "ref": "nixos-24.05", "repo": "nixpkgs", "type": "github" } @@ -889,11 +888,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1722421184, - "narHash": "sha256-/DJBI6trCeVnasdjUo9pbnodCLZcFqnVZiLUfqLH4jA=", + "lastModified": 1725432240, + "narHash": "sha256-+yj+xgsfZaErbfYM3T+QvEE2hU7UuE+Jf0fJCJ8uPS0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9f918d616c5321ad374ae6cb5ea89c9e04bf3e58", + "rev": "ad416d066ca1222956472ab7d0555a6946746a80", "type": "github" }, "original": { @@ -905,26 +904,26 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1724306539, - "narHash": "sha256-9jF5qr44cnvWoXhE0cr114GHT5Adav3q/DKJ6n9tor8=", + "lastModified": 1725432240, + "narHash": "sha256-+yj+xgsfZaErbfYM3T+QvEE2hU7UuE+Jf0fJCJ8uPS0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6c31eb9b990446880000e3297f69f4fdee5b69d7", + "rev": "ad416d066ca1222956472ab7d0555a6946746a80", "type": "github" }, "original": { "id": "nixpkgs", - "ref": "nixos-unstable-small", + "ref": "nixos-unstable", "type": "indirect" } }, "nixpkgs_5": { "locked": { - "lastModified": 1724224976, - "narHash": "sha256-Z/ELQhrSd7bMzTO8r7NZgi9g5emh+aRKoCdaAv5fiO0=", + "lastModified": 1724819573, + "narHash": "sha256-GnR7/ibgIH1vhoy8cYdmXE6iyZqKqFxQSVkFgosBh6w=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c374d94f1536013ca8e92341b540eba4c22f9c62", + "rev": "71e91c409d1e654808b2621f28a327acfdad8dc2", "type": "github" }, "original": { @@ -954,7 +953,7 @@ "inputs": { "devshell": "devshell", "flake-compat": "flake-compat_6", - "flake-parts": "flake-parts_2", + "flake-parts": "flake-parts_3", "git-hooks": "git-hooks", "home-manager": "home-manager_2", "nix-darwin": "nix-darwin", @@ -963,11 +962,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1724340365, - "narHash": "sha256-SFJuLI6FpuLHI0PdZAIOAJoeR6Z+cRkbTUQ5TuqJw5s=", + "lastModified": 1725669404, + "narHash": "sha256-Bbp1GVgKVLz9mSfzgwBdQ96Pxm+RgPEdYjS4kKSFrAI=", "owner": "pta2002", "repo": "nixvim", - "rev": "1854d591cb0e5be6ad97f5091766cdf28e948265", + "rev": "86a4021597c860a6cd1953305a9995f44e60d4d5", "type": "github" }, "original": { @@ -978,11 +977,11 @@ }, "nur": { "locked": { - "lastModified": 1724348704, - "narHash": "sha256-h8HB+4AiVZAe3ie6zYOmJco7QkKRPC7iHfChsoSOHm4=", + "lastModified": 1725687722, + "narHash": "sha256-LPv282y5okYk8ebiBsEbDXy2WykwdBPpAthjKSmTfNI=", "owner": "nix-community", "repo": "NUR", - "rev": "bf3ebc298e0a5091f4f41cb45f38b31cac050e62", + "rev": "ff7f8143f33751c4f37caec678ed1eb63006c0d3", "type": "github" }, "original": { @@ -1000,11 +999,11 @@ ] }, "locked": { - "lastModified": 1723969429, - "narHash": "sha256-BuewfNEXEf11MIkJY+uvWsdLu1dIvgJqntWChvNdALg=", + "lastModified": 1724584782, + "narHash": "sha256-7FfHv7b1jwMPSu9SPY9hdxStk8E6EeSwzqdvV69U4BM=", "owner": "NuschtOS", "repo": "search", - "rev": "a05d1805f2a2bc47d230e5e92aecbf69f784f3d0", + "rev": "5a08d691de30b6fc28d58ce71a5e420f2694e087", "type": "github" }, "original": { @@ -1063,23 +1062,6 @@ "vault-unseal": "vault-unseal" } }, - "rust-analyzer-src": { - "flake": false, - "locked": { - "lastModified": 1722521768, - "narHash": "sha256-FvJ4FaMy1kJbZ3Iw1RyvuiUAsbHJXoU2HwylzaFzj1o=", - "owner": "rust-lang", - "repo": "rust-analyzer", - "rev": "f149dc5029d8406fae8b2c541603bcac06e30deb", - "type": "github" - }, - "original": { - "owner": "rust-lang", - "ref": "nightly", - "repo": "rust-analyzer", - "type": "github" - } - }, "rust-overlay": { "inputs": { "nixpkgs": [ @@ -1297,11 +1279,11 @@ ] }, "locked": { - "lastModified": 1723808491, - "narHash": "sha256-rhis3qNuGmJmYC/okT7Dkc4M8CeUuRCSvW6kC2f3hBc=", + "lastModified": 1724833132, + "narHash": "sha256-F4djBvyNRAXGusJiNYInqR6zIMI3rvlp6WiKwsRISos=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "1d07739554fdc4f8481068f1b11d6ab4c1a4167a", + "rev": "3ffd842a5f50f435d3e603312eefa4790db46af5", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 5bab0ea6..d1a866e9 100644 --- a/flake.nix +++ b/flake.nix @@ -5,7 +5,7 @@ # * https://github.com/Infinidoge/nix-minecraft inputs = { - nixpkgs.url = "nixpkgs/nixos-unstable-small"; + nixpkgs.url = "nixpkgs/nixos-unstable"; flake-utils-plus.url = "github:NULLx76/flake-utils-plus"; nur.url = "github:nix-community/NUR"; colmena.url = "github:zhaofengli/colmena"; diff --git a/hosts/olympus/bastion/containers/default.nix b/hosts/olympus/bastion/containers/default.nix index b88348a0..4f41ed31 100644 --- a/hosts/olympus/bastion/containers/default.nix +++ b/hosts/olympus/bastion/containers/default.nix @@ -3,7 +3,6 @@ let hostAddress = "10.42.99.1"; hostAddress6 = "fc00::1"; in { - # TODO: Loop over subdirs, create nixos container for each networking.nat = { enable = true; internalInterfaces = [ "ve-+" ]; @@ -24,7 +23,7 @@ in { dns = { autoStart = true; inherit hostAddress hostAddress6; - localAddress = "10.42.99.1"; + localAddress = "10.42.99.2"; localAddress6 = "fc00::2"; specialArgs = { inherit inputs; }; @@ -32,11 +31,11 @@ in { config = {pkgs, ...}: { imports = [ ./common.nix + # ./dns.nix inputs.home-manager.nixosModules.home-manager inputs.gnome-autounlock-keyring.nixosModules.default inputs.catppuccin.nixosModules.catppuccin ]; - }; }; }; diff --git a/hosts/olympus/bastion/containers/dns.nix b/hosts/olympus/bastion/containers/dns.nix new file mode 100644 index 00000000..530b642f --- /dev/null +++ b/hosts/olympus/bastion/containers/dns.nix @@ -0,0 +1,7 @@ +{ ... }: { + services.v.dns = { + enable = true; + openFirewall = true; + mode = "server"; + }; +} diff --git a/nixos/hosts/olympus/bastion/configuration.nix b/nixos/hosts/olympus/bastion/configuration.nix deleted file mode 100644 index 3cb429d7..00000000 --- a/nixos/hosts/olympus/bastion/configuration.nix +++ /dev/null @@ -1,38 +0,0 @@ -# Edit this configuration file to define what should be installed on -# your system. Help is available in the configuration.nix(5) man page -# and in the NixOS manual (accessible by running ‘nixos-help’). - -{ pkgs, inputs, ... }: { - imports = [ - # Include the results of the hardware scan. - ./hardware-configuration.nix - ./containers - # ./vms.nix - ]; - - programs.nix-ld.enable = true; - - # Use the GRUB 2 boot loader. - boot.loader.grub.enable = true; - boot.loader.grub.device = "/dev/sda"; - - # 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 - # 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 = "22.11"; # Did you read the comment? - - virtualisation.podman.enable = true; - - # Additional packages - environment.systemPackages = with pkgs; [ vault ]; - - networking.useNetworkd = true; - - programs.gnupg.agent = { - enable = true; - pinentryFlavor = "curses"; - }; -} diff --git a/nixos/hosts/olympus/bastion/containers/common.nix b/nixos/hosts/olympus/bastion/containers/common.nix deleted file mode 100644 index 56ccdd5e..00000000 --- a/nixos/hosts/olympus/bastion/containers/common.nix +++ /dev/null @@ -1,6 +0,0 @@ -# common container config -{ lib, ... }: { - # Workaround for bug https://github.com/NixOS/nixpkgs/issues/162686 - networking.useHostResolvConf = lib.mkForce false; - services.resolved.enable = true; -} diff --git a/nixos/hosts/olympus/bastion/containers/default.nix b/nixos/hosts/olympus/bastion/containers/default.nix deleted file mode 100644 index d2e8299d..00000000 --- a/nixos/hosts/olympus/bastion/containers/default.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ config, lib, ... }: -let - hostAddress = "10.42.99.1"; - hostAddress6 = "fc00::1"; -in { - # TODO: Loop over subdirs, create nixos container for each - networking.nat = { - enable = true; - internalInterfaces = [ "ve-+" ]; - externalInterface = "ens18"; - # Lazy IPv6 connectivity for the container - enableIPv6 = true; - - forwardPorts = [ - - ]; - }; - - # Containers network is - # * 10.42.99.0/24 - # * fc00:x - - containers = { - - }; -} diff --git a/nixos/hosts/olympus/bastion/hardware-configuration.nix b/nixos/hosts/olympus/bastion/hardware-configuration.nix deleted file mode 100644 index be7d9923..00000000 --- a/nixos/hosts/olympus/bastion/hardware-configuration.nix +++ /dev/null @@ -1,25 +0,0 @@ -# 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. -{ modulesPath, ... }: - -{ - imports = [ (modulesPath + "/profiles/qemu-guest.nix") ]; - boot = { - - initrd.availableKernelModules = - [ "ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ]; - initrd.kernelModules = [ ]; - kernelModules = [ ]; - extraModulePackages = [ ]; - }; - - fileSystems."/" = { - device = "/dev/disk/by-uuid/e8427097-8545-4924-b033-2659fcf9adca"; - fsType = "ext4"; - }; - - swapDevices = - [{ device = "/dev/disk/by-uuid/63d90b92-cdde-4795-a3ab-9566ae88f43d"; }]; - -} diff --git a/nixos/hosts/olympus/bastion/vms.nix b/nixos/hosts/olympus/bastion/vms.nix deleted file mode 100644 index 6f8a57fc..00000000 --- a/nixos/hosts/olympus/bastion/vms.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ config, pkgs, inputs, ... }: { - imports = [ - inputs.microvm.nixosModules.host - ]; - - microvm.vms = { - test-vm = { - inherit pkgs; - - # (Optional) A set of special arguments to be passed to the MicroVM's NixOS modules. - #specialArgs = {}; - - # The configuration for the MicroVM. - # Multiple definitions will be merged as expected. - config = { - # It is highly recommended to share the host's nix-store - # with the VMs to prevent building huge images. - microvm.hypervisor = "crosvm"; - microvm.shares = [{ - source = "/nix/store"; - mountPoint = "/nix/.ro-store"; - tag = "ro-store"; - proto = "virtiofs"; - }]; - - # Any other configuration for your MicroVM - # [...] - }; - - }; - }; -} diff --git a/nixos/hosts/olympus/dhcp/configuration.nix b/nixos/hosts/olympus/dhcp/configuration.nix index a2c642bd..13bcc0fb 100644 --- a/nixos/hosts/olympus/dhcp/configuration.nix +++ b/nixos/hosts/olympus/dhcp/configuration.nix @@ -41,8 +41,6 @@ in controlSocketPaths = [ "/tmp/kea-dhcp4.socket" ]; }; - # To make sure the control socket is accesible - services.kea.dhcp4 = { enable = true; settings = { @@ -57,7 +55,6 @@ in socket-type = "unix"; socket-name = "/tmp/kea-dhcp4.socket"; }; - # failed to initialize Kea server: configuration error using file '/etc/kea/dhcp4-server.conf': cannot create socket lockfile, /run/kea/kea-dhcp4.socket.lock, : No such file or directory lease-database = { name = "/var/lib/kea/dhcp4.leases"; diff --git a/nixos/hosts/olympus/eevee/configuration.nix b/nixos/hosts/olympus/eevee/configuration.nix deleted file mode 100644 index 6e4e1710..00000000 --- a/nixos/hosts/olympus/eevee/configuration.nix +++ /dev/null @@ -1,53 +0,0 @@ -# Edit this configuration file to define what should be installed on -# your system. Help is available in the configuration.nix(5) man page -# and in the NixOS manual (accessible by running ‘nixos-help’). - -{ pkgs, ... }: { - imports = [ ./hardware-configuration.nix ./hardware.nix ]; - - # Bootloader. - boot = { - kernelPackages = pkgs.linuxPackages_latest; - initrd = { - kernelModules = [ "nvidia" "nvidia_modeset" "nvidia_uvm" "nvidia_drm" ]; - }; - loader.systemd-boot.configurationLimit = 5; - }; - - fileSystems."/".options = [ "compress=zstd" ]; - - # Set your time zone. - time.timeZone = "Europe/Amsterdam"; - - # Select internationalisation properties. - i18n.defaultLocale = "en_GB.UTF-8"; - i18n.extraLocaleSettings = { - LC_ADDRESS = "nl_NL.UTF-8"; - LC_IDENTIFICATION = "nl_NL.UTF-8"; - LC_MEASUREMENT = "nl_NL.UTF-8"; - LC_MONETARY = "nl_NL.UTF-8"; - LC_NAME = "nl_NL.UTF-8"; - LC_NUMERIC = "nl_NL.UTF-8"; - LC_PAPER = "nl_NL.UTF-8"; - LC_TELEPHONE = "nl_NL.UTF-8"; - LC_TIME = "nl_NL.UTF-8"; - }; - - # Enable CUPS to print documents. - services.printing.enable = true; - - environment.systemPackages = with pkgs; [ wireguard-tools ]; - - environment.sessionVariables.NIXOS_OZONE_WL = "1"; - - home-manager = { - users.vivian = import ./home; - }; - # 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 - # 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 = "23.05"; # Did you read the comment? -} diff --git a/nixos/hosts/olympus/eevee/hardware-configuration.nix b/nixos/hosts/olympus/eevee/hardware-configuration.nix deleted file mode 100644 index efc77070..00000000 --- a/nixos/hosts/olympus/eevee/hardware-configuration.nix +++ /dev/null @@ -1,42 +0,0 @@ -# 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, modulesPath, ... }: - -{ - imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; - boot = { - - initrd.availableKernelModules = - [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ]; - initrd.kernelModules = [ ]; - kernelModules = [ "kvm-intel" ]; - extraModulePackages = [ ]; - }; - - fileSystems."/" = { - device = "/dev/disk/by-uuid/947a98af-9a4e-4811-a2ca-9aa00b319e9c"; - fsType = "btrfs"; - options = [ "subvol=@" ]; - }; - - fileSystems."/boot/efi" = { - device = "/dev/disk/by-uuid/D883-F146"; - fsType = "vfat"; - }; - - swapDevices = - [{ device = "/dev/disk/by-uuid/a99402e1-6f2a-4c4b-b69f-aae2fd13ffc0"; }]; - - # 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.enp0s31f6.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; - hardware.cpu.intel.updateMicrocode = - lib.mkDefault config.hardware.enableRedistributableFirmware; -} diff --git a/nixos/hosts/olympus/eevee/hardware.nix b/nixos/hosts/olympus/eevee/hardware.nix deleted file mode 100644 index cd1cb84d..00000000 --- a/nixos/hosts/olympus/eevee/hardware.nix +++ /dev/null @@ -1,48 +0,0 @@ -{ pkgs, ... }: { - hardware = { - enableAllFirmware = true; - nvidia = { - # package = config.boot.kernelPackages.nvidiaPackages.stable; - - # Open drivers cause gdm to crash - # open = true; - - # nvidia-drm.modeset=1 - modesetting.enable = true; - powerManagement.enable = false; - }; - - # Hardware acceleration - opengl = { - enable = true; - - # Vulkan - driSupport = true; - driSupport32Bit = true; - }; - - logitech.wireless = { - enable = true; - enableGraphical = true; - }; - }; - services = { - - hardware.bolt.enable = true; - - xserver.videoDrivers = [ "nvidia" ]; - - # udev - udev.packages = with pkgs; [ - android-udev-rules - logitech-udev-rules - wooting-udev-rules - ]; - - # SSD Trim - fstrim.enable = true; - }; - - # FS - fileSystems."/".options = [ "compress=zstd" ]; -} diff --git a/nixos/hosts/olympus/eevee/home/.gitignore b/nixos/hosts/olympus/eevee/home/.gitignore deleted file mode 100644 index 3e0fc8e7..00000000 --- a/nixos/hosts/olympus/eevee/home/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*dconf_dump* \ No newline at end of file diff --git a/nixos/hosts/olympus/eevee/home/default.nix b/nixos/hosts/olympus/eevee/home/default.nix deleted file mode 100644 index bf2d078a..00000000 --- a/nixos/hosts/olympus/eevee/home/default.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ pkgs, ... }: { - dconf.settings."org/gnome/desktop/peripherals/mouse" = { - accel-profile = "flat"; - }; - - home.packages = with pkgs; [ - zoom-us - ]; -} diff --git a/nixos/hosts/olympus/nginx/configuration.nix b/nixos/hosts/olympus/nginx/configuration.nix index b4f68c39..a686d487 100644 --- a/nixos/hosts/olympus/nginx/configuration.nix +++ b/nixos/hosts/olympus/nginx/configuration.nix @@ -172,7 +172,6 @@ in { }; security = { acme = { - defaults.email = "vivian@0x76.dev"; acceptTerms = true; preliminarySelfsigned = true; From 1121272da311db83352d19a521b22bece8d69cdb Mon Sep 17 00:00:00 2001 From: Vivian Date: Thu, 12 Sep 2024 10:26:45 +0200 Subject: [PATCH 43/88] fix warnings --- common/hm-modules/nvim/default.nix | 7 +- common/modules/gnome/default.nix | 18 ++-- flake.lock | 148 +++++++++++------------------ hosts/olympus/eevee/hardware.nix | 2 +- 4 files changed, 70 insertions(+), 105 deletions(-) diff --git a/common/hm-modules/nvim/default.nix b/common/hm-modules/nvim/default.nix index 8f86bdc7..0f815f13 100644 --- a/common/hm-modules/nvim/default.nix +++ b/common/hm-modules/nvim/default.nix @@ -215,8 +215,10 @@ with lib; enable = true; settings = { new_notes_location = "notes_subdir"; + disable_frontmatter = true; + notes_subdir = "Unsorted"; daily_notes = { - folder = "daily"; + folder = "Daily"; }; workspaces = [ { @@ -274,7 +276,6 @@ with lib; treesitter = { enable = true; nixGrammars = true; - disabledLanguages = [ "latex" ]; }; # surround.enable = true; fugitive.enable = true; @@ -282,7 +283,7 @@ with lib; lualine = { enable = true; - theme = "catppuccin"; + settings.options.theme = "catppuccin"; }; telescope = { diff --git a/common/modules/gnome/default.nix b/common/modules/gnome/default.nix index 27902f6e..0c3fbcb9 100644 --- a/common/modules/gnome/default.nix +++ b/common/modules/gnome/default.nix @@ -46,7 +46,7 @@ in displayManager.gdm.enable = lib.mkDefault true; desktopManager.gnome.enable = true; }; - udev.packages = with pkgs; [ gnome.gnome-settings-daemon ]; + udev.packages = with pkgs; [ gnome-settings-daemon ]; dbus.enable = true; udisks2.enable = true; }; @@ -66,19 +66,17 @@ in simple-scan # document scanner totem # video player gnome-terminal - ]) - ++ (with pkgs.gnome; [ - atomix # puzzle game - pkgs.gedit # text editor - gnome-clocks gnome-contacts + atomix # puzzle game gnome-maps + gedit # text editor gnome-music - gnome-notes - gnome-weather - hitori # sudoku game + gnome-clocks iagno # go game tali # poker game + hitori # sudoku game + gnome-notes + gnome-weather ]); # Services required for gnome @@ -87,7 +85,7 @@ in # Extra gnome packages environment.systemPackages = with pkgs; [ gnome-tweaks - gnome.gnome-boxes + gnome-boxes ]; }; } diff --git a/flake.lock b/flake.lock index 9d026692..f0f1831c 100644 --- a/flake.lock +++ b/flake.lock @@ -5,18 +5,17 @@ "crane": "crane", "flake-compat": "flake-compat", "flake-parts": "flake-parts", - "flake-utils": "flake-utils", "nixpkgs": [ "nixpkgs" ], "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1725300620, - "narHash": "sha256-IdM+pZ6BnmD3o1fTJZ2BD43k7dwi1BbVfLDLpM1nE5s=", + "lastModified": 1725815284, + "narHash": "sha256-nVWCR86XDjx9Tq6RHsNvhD03nNzIeKKc7UTPnXLyrDY=", "owner": "zhaofengli", "repo": "attic", - "rev": "bea72d75b6165dfb529ba0c39cc6c7e9c7f0d234", + "rev": "aec90814a4ecbc40171d57eeef97c5cab4aaa7b4", "type": "github" }, "original": { @@ -59,7 +58,7 @@ "colmena": { "inputs": { "flake-compat": "flake-compat_2", - "flake-utils": "flake-utils_2", + "flake-utils": "flake-utils", "nixpkgs": "nixpkgs", "stable": "stable" }, @@ -162,7 +161,7 @@ }, "essentials": { "inputs": { - "flake-utils": "flake-utils_3", + "flake-utils": "flake-utils_2", "nixpkgs": [ "nixpkgs" ] @@ -355,15 +354,12 @@ } }, "flake-utils": { - "inputs": { - "systems": "systems" - }, "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", "owner": "numtide", "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", "type": "github" }, "original": { @@ -374,7 +370,7 @@ }, "flake-utils-plus": { "inputs": { - "flake-utils": "flake-utils_4" + "flake-utils": "flake-utils_3" }, "locked": { "lastModified": 1714763823, @@ -391,23 +387,8 @@ } }, "flake-utils_2": { - "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_3": { "inputs": { - "systems": "systems_3" + "systems": "systems_2" }, "locked": { "lastModified": 1701680307, @@ -423,9 +404,9 @@ "type": "github" } }, - "flake-utils_4": { + "flake-utils_3": { "inputs": { - "systems": "systems_4" + "systems": "systems_3" }, "locked": { "lastModified": 1694529238, @@ -441,6 +422,24 @@ "type": "github" } }, + "flake-utils_4": { + "inputs": { + "systems": "systems_4" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "flake-utils_5": { "inputs": { "systems": "systems_5" @@ -499,24 +498,6 @@ "inputs": { "systems": "systems_8" }, - "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_9": { - "inputs": { - "systems": "systems_9" - }, "locked": { "lastModified": 1681202837, "narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=", @@ -607,7 +588,7 @@ }, "gnome-autounlock-keyring": { "inputs": { - "flake-utils": "flake-utils_5", + "flake-utils": "flake-utils_4", "nixpkgs": [ "nixpkgs" ] @@ -633,11 +614,11 @@ ] }, "locked": { - "lastModified": 1725628988, - "narHash": "sha256-Y6TBMTGu4bddUwszGjlcOuN0soVc1Gv43hp+1sT/GNI=", + "lastModified": 1726036828, + "narHash": "sha256-ZQHbpyti0jcAKnwQY1lwmooecLmSG6wX1JakQ/eZNeM=", "owner": "nix-community", "repo": "home-manager", - "rev": "127ccc3eb7e36fa75e8c3fbd8a343154f66cc1c6", + "rev": "8a1671642826633586d12ac3158e463c7a50a112", "type": "github" }, "original": { @@ -717,7 +698,7 @@ }, "microvm": { "inputs": { - "flake-utils": "flake-utils_6", + "flake-utils": "flake-utils_5", "nixpkgs": "nixpkgs_3", "spectrum": "spectrum" }, @@ -758,11 +739,11 @@ }, "nixlib": { "locked": { - "lastModified": 1725152544, - "narHash": "sha256-Tm344cnFM9f2YZsgWtJduvhIrvLr3Bi8J4Xc+UZDKYE=", + "lastModified": 1725757153, + "narHash": "sha256-c1a6iLmCVPFI9EUVMrBN8xdmFxFXEjcVwiTSVmqajOs=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "7f0b9e4fbd91826cb9ce6babbc11c87903191051", + "rev": "68584f89dd0eb16fea5d80ae127f3f681f6a5df7", "type": "github" }, "original": { @@ -779,11 +760,11 @@ ] }, "locked": { - "lastModified": 1725497951, - "narHash": "sha256-fayKyVs/9FQdYH+3SCOkQM1GCsEPPVE+lSiVGlYQ7i0=", + "lastModified": 1725843519, + "narHash": "sha256-Z6DglUwgFDz6fIvQ89wx/uBVWrGvEGECq0Ypyk/eigE=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "15a07ebf4a041bf232026263f1f96f2af390f3bc", + "rev": "214efbd73241d72a8f48b8b9a73bb54895cd51a7", "type": "github" }, "original": { @@ -794,11 +775,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1725477728, - "narHash": "sha256-ahej1VRqKmWbG7gewty+GlrSBEeGY/J2Zy8Nt8+3fdg=", + "lastModified": 1725885300, + "narHash": "sha256-5RLEnou1/GJQl+Wd+Bxaj7QY7FFQ9wjnFq1VNEaxTmc=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "880be1ab837e1e9fe0449dae41ac4d034694d4ce", + "rev": "166dee4f88a7e3ba1b7a243edb1aca822f00680e", "type": "github" }, "original": { @@ -904,11 +885,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1725432240, - "narHash": "sha256-+yj+xgsfZaErbfYM3T+QvEE2hU7UuE+Jf0fJCJ8uPS0=", + "lastModified": 1725634671, + "narHash": "sha256-v3rIhsJBOMLR8e/RNWxr828tB+WywYIoajrZKFM+0Gg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ad416d066ca1222956472ab7d0555a6946746a80", + "rev": "574d1eac1c200690e27b8eb4e24887f8df7ac27c", "type": "github" }, "original": { @@ -962,11 +943,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1725669404, - "narHash": "sha256-Bbp1GVgKVLz9mSfzgwBdQ96Pxm+RgPEdYjS4kKSFrAI=", + "lastModified": 1726000537, + "narHash": "sha256-Y1dEuf2wZkg2rhE8sf73x9K0zknUald4Ia6zXnGEfjg=", "owner": "pta2002", "repo": "nixvim", - "rev": "86a4021597c860a6cd1953305a9995f44e60d4d5", + "rev": "fc7e9b29271a03459191955f78d4128451b7cd81", "type": "github" }, "original": { @@ -977,11 +958,11 @@ }, "nur": { "locked": { - "lastModified": 1725687722, - "narHash": "sha256-LPv282y5okYk8ebiBsEbDXy2WykwdBPpAthjKSmTfNI=", + "lastModified": 1726036733, + "narHash": "sha256-2HtGkO408Gkvg/M+9s1jcDqt2+u7MzjzZPlxpBORfOQ=", "owner": "nix-community", "repo": "NUR", - "rev": "ff7f8143f33751c4f37caec678ed1eb63006c0d3", + "rev": "76210ff4db87bac735c6a18e3443852563469704", "type": "github" }, "original": { @@ -992,7 +973,7 @@ }, "nuschtosSearch": { "inputs": { - "flake-utils": "flake-utils_7", + "flake-utils": "flake-utils_6", "nixpkgs": [ "nixvim", "nixpkgs" @@ -1235,24 +1216,9 @@ "type": "github" } }, - "systems_9": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, "t": { "inputs": { - "flake-utils": "flake-utils_8", + "flake-utils": "flake-utils_7", "nixpkgs": [ "nixpkgs" ] @@ -1294,7 +1260,7 @@ }, "utils": { "inputs": { - "systems": "systems_2" + "systems": "systems" }, "locked": { "lastModified": 1701680307, @@ -1331,7 +1297,7 @@ }, "vault-unseal": { "inputs": { - "flake-utils": "flake-utils_9", + "flake-utils": "flake-utils_8", "nixpkgs": [ "nixpkgs" ] diff --git a/hosts/olympus/eevee/hardware.nix b/hosts/olympus/eevee/hardware.nix index 1595ddfb..a7947306 100644 --- a/hosts/olympus/eevee/hardware.nix +++ b/hosts/olympus/eevee/hardware.nix @@ -6,7 +6,7 @@ # package = config.boot.kernelPackages.nvidiaPackages.stable; # Open drivers cause gdm to crash - # open = true; + open = false; # nvidia-drm.modeset=1 modesetting.enable = true; From b745ec7b85b78d1fcb0a014828c4eaa0ba9ac224 Mon Sep 17 00:00:00 2001 From: Vivian Date: Thu, 12 Sep 2024 21:23:26 +0200 Subject: [PATCH 44/88] updates --- common/desktop/home.nix | 1 + flake.lock | 192 +++++++++++++++++++------------ flake.nix | 2 +- hosts/olympus/eevee/hardware.nix | 2 +- 4 files changed, 119 insertions(+), 78 deletions(-) diff --git a/common/desktop/home.nix b/common/desktop/home.nix index d5289d34..46e659e3 100644 --- a/common/desktop/home.nix +++ b/common/desktop/home.nix @@ -45,6 +45,7 @@ in mattermost-desktop neofetch nixpkgs-review + obsidian plex-media-player plexamp spotify diff --git a/flake.lock b/flake.lock index 63e02d2c..740a2805 100644 --- a/flake.lock +++ b/flake.lock @@ -4,6 +4,7 @@ "inputs": { "crane": "crane", "flake-compat": "flake-compat", + "flake-parts": "flake-parts", "flake-utils": "flake-utils", "nixpkgs": [ "nixpkgs" @@ -11,11 +12,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1723558887, - "narHash": "sha256-FBaRmikNnCX+HQJXAfNJyiOl3sM1NrlxvcFwQDqwCyk=", + "lastModified": 1725300620, + "narHash": "sha256-IdM+pZ6BnmD3o1fTJZ2BD43k7dwi1BbVfLDLpM1nE5s=", "owner": "zhaofengli", "repo": "attic", - "rev": "26b9417bde03edc6280d1f7ce709cd619cdb72d4", + "rev": "bea72d75b6165dfb529ba0c39cc6c7e9c7f0d234", "type": "github" }, "original": { @@ -42,11 +43,11 @@ }, "catppuccin": { "locked": { - "lastModified": 1723691425, - "narHash": "sha256-F25VvHFMaqr26b7goaVWspXaK6XTRFz8RnILV+9OPkk=", + "lastModified": 1725509983, + "narHash": "sha256-NHCgHVqumPraFJnLrkanoLDuhOoUHUvRhvp/RIHJR+A=", "owner": "catppuccin", "repo": "nix", - "rev": "552056779a136092eb6358c573d925630172fc30", + "rev": "45745fe5960acaefef2b60f3455bcac6a0ca6bc9", "type": "github" }, "original": { @@ -84,11 +85,11 @@ ] }, "locked": { - "lastModified": 1717025063, - "narHash": "sha256-dIubLa56W9sNNz0e8jGxrX3CAkPXsq7snuFA/Ie6dn8=", + "lastModified": 1722960479, + "narHash": "sha256-NhCkJJQhD5GUib8zN9JrmYGMwt4lCRp6ZVNzIiYCl0Y=", "owner": "ipetkov", "repo": "crane", - "rev": "480dff0be03dac0e51a8dfc26e882b0d123a450e", + "rev": "4c6c77920b8d44cd6660c1621dea6b3fc4b4c4f4", "type": "github" }, "original": { @@ -205,11 +206,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", "owner": "edolstra", "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "type": "github" }, "original": { @@ -313,6 +314,27 @@ } }, "flake-parts": { + "inputs": { + "nixpkgs-lib": [ + "attic", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1722555600, + "narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "8471fe90ad337a8074e957b69ca4d0089218391d", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_2": { "inputs": { "nixpkgs-lib": [ "lanzaboote", @@ -333,7 +355,7 @@ "type": "github" } }, - "flake-parts_2": { + "flake-parts_3": { "inputs": { "nixpkgs-lib": [ "nixvim", @@ -355,12 +377,15 @@ } }, "flake-utils": { + "inputs": { + "systems": "systems" + }, "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -404,7 +429,7 @@ }, "flake-utils_3": { "inputs": { - "systems": "systems_2" + "systems": "systems_3" }, "locked": { "lastModified": 1701680307, @@ -422,7 +447,7 @@ }, "flake-utils_4": { "inputs": { - "systems": "systems_3" + "systems": "systems_4" }, "locked": { "lastModified": 1694529238, @@ -440,7 +465,7 @@ }, "flake-utils_5": { "inputs": { - "systems": "systems_4" + "systems": "systems_5" }, "locked": { "lastModified": 1710146030, @@ -458,7 +483,7 @@ }, "flake-utils_6": { "inputs": { - "systems": "systems_5" + "systems": "systems_6" }, "locked": { "lastModified": 1710146030, @@ -476,7 +501,7 @@ }, "flake-utils_7": { "inputs": { - "systems": "systems_6" + "systems": "systems_7" }, "locked": { "lastModified": 1710146030, @@ -494,7 +519,7 @@ }, "flake-utils_8": { "inputs": { - "systems": "systems_7" + "systems": "systems_8" }, "locked": { "lastModified": 1710146030, @@ -512,7 +537,7 @@ }, "flake-utils_9": { "inputs": { - "systems": "systems_8" + "systems": "systems_9" }, "locked": { "lastModified": 1681202837, @@ -545,11 +570,11 @@ ] }, "locked": { - "lastModified": 1723202784, - "narHash": "sha256-qbhjc/NEGaDbyy0ucycubq4N3//gDFFH3DOmp1D3u1Q=", + "lastModified": 1724857454, + "narHash": "sha256-Qyl9Q4QMTLZnnBb/8OuQ9LSkzWjBU1T5l5zIzTxkkhk=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "c7012d0c18567c889b948781bc74a501e92275d1", + "rev": "4509ca64f1084e73bc7a721b20c669a8d4c5ebe6", "type": "github" }, "original": { @@ -630,11 +655,11 @@ ] }, "locked": { - "lastModified": 1723986931, - "narHash": "sha256-Fy+KEvDQ+Hc8lJAV3t6leXhZJ2ncU5/esxkgt3b8DEY=", + "lastModified": 1725180166, + "narHash": "sha256-fzssXuGR/mCeGbzM1ExaTqDz7QDGta3WA4jJsZyRruo=", "owner": "nix-community", "repo": "home-manager", - "rev": "2598861031b78aadb4da7269df7ca9ddfc3e1671", + "rev": "471e3eb0a114265bcd62d11d58ba8d3421ee68eb", "type": "github" }, "original": { @@ -651,11 +676,11 @@ ] }, "locked": { - "lastModified": 1723399884, - "narHash": "sha256-97wn0ihhGqfMb8WcUgzzkM/TuAxce2Gd20A8oiruju4=", + "lastModified": 1724435763, + "narHash": "sha256-UNky3lJNGQtUEXT2OY8gMxejakSWPTfWKvpFkpFlAfM=", "owner": "nix-community", "repo": "home-manager", - "rev": "086f619dd991a4d355c07837448244029fc2d9ab", + "rev": "c2cd2a52e02f1dfa1c88f95abeb89298d46023be", "type": "github" }, "original": { @@ -668,7 +693,7 @@ "inputs": { "crane": "crane_2", "flake-compat": "flake-compat_4", - "flake-parts": "flake-parts", + "flake-parts": "flake-parts_2", "nixpkgs": [ "nixpkgs" ], @@ -676,11 +701,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1722329086, - "narHash": "sha256-e/fSi0WER06N8WCvpht62fkGtWfe5ckDxr6zNYkwkFw=", + "lastModified": 1725379389, + "narHash": "sha256-qS1H/5/20ewJIXmf8FN2A5KTOKKU9elWvCPwdBi1P/U=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "f5a3a7dff44d131807fc1a89fbd8576cd870334a", + "rev": "e7bd94e0b5ff3c1e686f2101004ebf4fcea9d871", "type": "github" }, "original": { @@ -720,11 +745,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1723470968, - "narHash": "sha256-W76xLG4thxkENM3MOoXWYqKPrgk1WgUWzTixUyuw/co=", + "lastModified": 1725388988, + "narHash": "sha256-hjO/ZpmaXUHUzTSefzbj0Bosj6inFHRplbb+YqQQULc=", "owner": "astro", "repo": "microvm.nix", - "rev": "69e8ac63a7a4d40bb65e73af41ba60df2eba0419", + "rev": "d52082cc2668b8cd788e3133526c8693ee71f6a5", "type": "github" }, "original": { @@ -741,11 +766,11 @@ ] }, "locked": { - "lastModified": 1722924007, - "narHash": "sha256-+CQDamNwqO33REJLft8c26NbUi2Td083hq6SvAm2xkU=", + "lastModified": 1724561770, + "narHash": "sha256-zv8C9RNa86CIpyHwPIVO/k+5TfM8ZbjGwOOpTe1grls=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "91010a5613ffd7ee23ee9263213157a1c422b705", + "rev": "ac5694a0b855a981e81b4d9f14052e3ff46ca39e", "type": "github" }, "original": { @@ -756,11 +781,11 @@ }, "nixlib": { "locked": { - "lastModified": 1723337705, - "narHash": "sha256-znSU0DeNDPt7+LMAfFkvKloMaeQ6yl/U5SqV/ktl1vA=", + "lastModified": 1725152544, + "narHash": "sha256-Tm344cnFM9f2YZsgWtJduvhIrvLr3Bi8J4Xc+UZDKYE=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "ace7856d327b618d3777e31b1f224b3ab57ed71a", + "rev": "7f0b9e4fbd91826cb9ce6babbc11c87903191051", "type": "github" }, "original": { @@ -777,11 +802,11 @@ ] }, "locked": { - "lastModified": 1723870831, - "narHash": "sha256-rXQKvogLHY3BxRVVt5unpbi0zpRf965f57gplWSzQ5k=", + "lastModified": 1725497951, + "narHash": "sha256-fayKyVs/9FQdYH+3SCOkQM1GCsEPPVE+lSiVGlYQ7i0=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "32e9d82bada67fc5155e8d4d99b6fc3a1765bfdc", + "rev": "15a07ebf4a041bf232026263f1f96f2af390f3bc", "type": "github" }, "original": { @@ -792,11 +817,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1723310128, - "narHash": "sha256-IiH8jG6PpR4h9TxSGMYh+2/gQiJW9MwehFvheSb5rPc=", + "lastModified": 1725477728, + "narHash": "sha256-ahej1VRqKmWbG7gewty+GlrSBEeGY/J2Zy8Nt8+3fdg=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "c54cf53e022b0b3c1d3b8207aa0f9b194c24f0cf", + "rev": "880be1ab837e1e9fe0449dae41ac4d034694d4ce", "type": "github" }, "original": { @@ -838,16 +863,16 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1711460390, - "narHash": "sha256-akSgjDZL6pVHEfSE6sz1DNSXuYX6hq+P/1Z5IoYWs7E=", + "lastModified": 1724316499, + "narHash": "sha256-Qb9MhKBUTCfWg/wqqaxt89Xfi6qTD3XpTzQ9eXi3JmE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "44733514b72e732bd49f5511bd0203dea9b9a434", + "rev": "797f7dc49e0bc7fab4b57c021cdf68f595e47841", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-23.11", + "ref": "nixos-24.05", "repo": "nixpkgs", "type": "github" } @@ -902,26 +927,26 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1723957280, - "narHash": "sha256-J08Yqf2IJ73y7myI69qEKsQ048ibweG6FeJeCxbIdB4=", + "lastModified": 1725432240, + "narHash": "sha256-+yj+xgsfZaErbfYM3T+QvEE2hU7UuE+Jf0fJCJ8uPS0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "abcef4da4ebb72240bddc370a27263627e64877f", + "rev": "ad416d066ca1222956472ab7d0555a6946746a80", "type": "github" }, "original": { "id": "nixpkgs", - "ref": "nixos-unstable-small", + "ref": "nixos-unstable", "type": "indirect" } }, "nixpkgs_5": { "locked": { - "lastModified": 1723175592, - "narHash": "sha256-M0xJ3FbDUc4fRZ84dPGx5VvgFsOzds77KiBMW/mMTnI=", + "lastModified": 1724819573, + "narHash": "sha256-GnR7/ibgIH1vhoy8cYdmXE6iyZqKqFxQSVkFgosBh6w=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5e0ca22929f3342b19569b21b2f3462f053e497b", + "rev": "71e91c409d1e654808b2621f28a327acfdad8dc2", "type": "github" }, "original": { @@ -951,7 +976,7 @@ "inputs": { "devshell": "devshell", "flake-compat": "flake-compat_6", - "flake-parts": "flake-parts_2", + "flake-parts": "flake-parts_3", "git-hooks": "git-hooks", "home-manager": "home-manager_2", "nix-darwin": "nix-darwin", @@ -960,11 +985,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1723923888, - "narHash": "sha256-w+/PG6KqB8en0x1JH5aMuf0QC78Nfei208EaaaRuYG4=", + "lastModified": 1725499492, + "narHash": "sha256-IjpbYl4ljZ6gffzfH/n2qYbtu7PZ1KM2LW+cVL6w1bk=", "owner": "pta2002", "repo": "nixvim", - "rev": "78fc4be6a830e8dc01f3e66ddbe3243b4bfe8560", + "rev": "e48da949cf41597d43f8e3880fc1389129ad7427", "type": "github" }, "original": { @@ -975,11 +1000,11 @@ }, "nur": { "locked": { - "lastModified": 1723992327, - "narHash": "sha256-w0DhauBqGC7zBlsm0i0IXVvhBGqBvsJPGnc5b9jffvA=", + "lastModified": 1725526124, + "narHash": "sha256-bl3Lfbin0CbHto66xEmVYR9t1X5RmEnPGaNYJEo9Ilk=", "owner": "nix-community", "repo": "NUR", - "rev": "adee26fc0c486560152c814b963ae27851eef658", + "rev": "9dae83fa43953e98f0f00936789bb7069f1d30be", "type": "github" }, "original": { @@ -997,11 +1022,11 @@ ] }, "locked": { - "lastModified": 1723367906, - "narHash": "sha256-v1qA4WBGDI2uH/TVqRwuXSBP341W681psbzYJ8zrjog=", + "lastModified": 1724584782, + "narHash": "sha256-7FfHv7b1jwMPSu9SPY9hdxStk8E6EeSwzqdvV69U4BM=", "owner": "NuschtOS", "repo": "search", - "rev": "6ca2c3ae05a915c160512bd41f6810f456c9b30d", + "rev": "5a08d691de30b6fc28d58ce71a5e420f2694e087", "type": "github" }, "original": { @@ -1250,6 +1275,21 @@ "type": "github" } }, + "systems_9": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "t": { "inputs": { "flake-utils": "flake-utils_8", @@ -1279,11 +1319,11 @@ ] }, "locked": { - "lastModified": 1723454642, - "narHash": "sha256-S0Gvsenh0II7EAaoc9158ZB4vYyuycvMGKGxIbERNAM=", + "lastModified": 1724833132, + "narHash": "sha256-F4djBvyNRAXGusJiNYInqR6zIMI3rvlp6WiKwsRISos=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "349de7bc435bdff37785c2466f054ed1766173be", + "rev": "3ffd842a5f50f435d3e603312eefa4790db46af5", "type": "github" }, "original": { @@ -1294,7 +1334,7 @@ }, "utils": { "inputs": { - "systems": "systems" + "systems": "systems_2" }, "locked": { "lastModified": 1701680307, diff --git a/flake.nix b/flake.nix index 5bab0ea6..d1a866e9 100644 --- a/flake.nix +++ b/flake.nix @@ -5,7 +5,7 @@ # * https://github.com/Infinidoge/nix-minecraft inputs = { - nixpkgs.url = "nixpkgs/nixos-unstable-small"; + nixpkgs.url = "nixpkgs/nixos-unstable"; flake-utils-plus.url = "github:NULLx76/flake-utils-plus"; nur.url = "github:nix-community/NUR"; colmena.url = "github:zhaofengli/colmena"; diff --git a/hosts/olympus/eevee/hardware.nix b/hosts/olympus/eevee/hardware.nix index 1595ddfb..a7947306 100644 --- a/hosts/olympus/eevee/hardware.nix +++ b/hosts/olympus/eevee/hardware.nix @@ -6,7 +6,7 @@ # package = config.boot.kernelPackages.nvidiaPackages.stable; # Open drivers cause gdm to crash - # open = true; + open = false; # nvidia-drm.modeset=1 modesetting.enable = true; From a1cec54ec821019849c3d83923458e2f355949af Mon Sep 17 00:00:00 2001 From: Vivian Date: Sat, 14 Sep 2024 23:45:56 +0200 Subject: [PATCH 45/88] update nvim --- common/hm-modules/nvim/default.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/common/hm-modules/nvim/default.nix b/common/hm-modules/nvim/default.nix index 0f815f13..599fa413 100644 --- a/common/hm-modules/nvim/default.nix +++ b/common/hm-modules/nvim/default.nix @@ -215,10 +215,9 @@ with lib; enable = true; settings = { new_notes_location = "notes_subdir"; - disable_frontmatter = true; notes_subdir = "Unsorted"; daily_notes = { - folder = "Daily"; + folder = "Periodics/Daily"; }; workspaces = [ { From ccbbb7f26eb9f1a64b491d5ccb4cf2c6224e01b0 Mon Sep 17 00:00:00 2001 From: Vivian Date: Thu, 17 Oct 2024 17:30:48 +0200 Subject: [PATCH 46/88] updates --- common/default.nix | 2 + common/desktop/default.nix | 4 + common/desktop/home.nix | 26 +++ common/hm-modules/nvim/default.nix | 3 +- common/hm-modules/vscode.nix | 85 +++++--- common/modules/gnome/default.nix | 3 + common/modules/gnome/hm.nix | 190 +++++++++------- flake.lock | 204 +++++++++--------- flake.nix | 6 +- hosts/olympus/bastion/containers/common.nix | 1 + hosts/olympus/bastion/containers/default.nix | 72 +++++-- .../olympus/bastion/containers/syncthing.nix | 8 + hosts/olympus/bastion/default.nix | 7 + hosts/thalassa/aoife/default.nix | 18 +- hosts/thalassa/aoife/domain.crt | 21 -- hosts/thalassa/aoife/hardware.nix | 1 + hosts/thalassa/aoife/home/default.nix | 4 +- hosts/thalassa/aoife/uni.nix | 34 +++ 18 files changed, 441 insertions(+), 248 deletions(-) create mode 100644 hosts/olympus/bastion/containers/syncthing.nix delete mode 100644 hosts/thalassa/aoife/domain.crt diff --git a/common/default.nix b/common/default.nix index 47ee908a..88ee8ea6 100644 --- a/common/default.nix +++ b/common/default.nix @@ -14,7 +14,9 @@ sharedModules = [ ./hm-modules inputs.nixvim.homeManagerModules.nixvim + inputs.autostart.homeManagerModules.xdg-autostart inputs.catppuccin.homeManagerModules.catppuccin + inputs.autostart.homeManagerModules.xdg-autostart ]; }; diff --git a/common/desktop/default.nix b/common/desktop/default.nix index 62e84a2a..4cd0a2fa 100644 --- a/common/desktop/default.nix +++ b/common/desktop/default.nix @@ -38,6 +38,8 @@ # Enable my config for the gnome desktop environment v.gnome.enable = lib.mkDefault true; + flatpak.enable = true; + # Enable CUPS to print documents. printing.enable = true; pipewire = { @@ -120,6 +122,8 @@ adb.enable = true; }; + + networking = { # Networking networkmanager.enable = true; diff --git a/common/desktop/home.nix b/common/desktop/home.nix index 398f6640..ae91d789 100644 --- a/common/desktop/home.nix +++ b/common/desktop/home.nix @@ -53,7 +53,22 @@ in unzip yt-dlp # z3 + + obsidian + (lib.hiPrio (pkgs.writeShellScriptBin "obsidian" '' + unset WAYLAND_DISPLAY + ${pkgs.obsidian}/bin/obsidian + '')) ]; + # + # xdg.desktopEntries = { + # obsidian = { + # name = "Obsidian"; + # genericName = "Markdown Editor"; + # exec = "obsidian"; + # terminal = false; + # }; + # }; # Enable my own hm modules themes.v.catppuccin.enable = true; @@ -97,6 +112,17 @@ in shellIntegration.enableZshIntegration = true; }; }; + + + xdg.autoStart = { + packages = with pkgs; [ + obsidian + element-desktop + firefox + discord + ]; + }; + # Syncthing services.syncthing.enable = true; xdg.userDirs = diff --git a/common/hm-modules/nvim/default.nix b/common/hm-modules/nvim/default.nix index 599fa413..49950a22 100644 --- a/common/hm-modules/nvim/default.nix +++ b/common/hm-modules/nvim/default.nix @@ -203,6 +203,7 @@ with lib; image = { enable = true; }; + web-devicons.enable = true; bufferline.enable = true; nix.enable = true; luasnip.enable = true; @@ -217,7 +218,7 @@ with lib; new_notes_location = "notes_subdir"; notes_subdir = "Unsorted"; daily_notes = { - folder = "Periodics/Daily"; + folder = "Diary/Daily"; }; workspaces = [ { diff --git a/common/hm-modules/vscode.nix b/common/hm-modules/vscode.nix index 8454b5f9..08060471 100644 --- a/common/hm-modules/vscode.nix +++ b/common/hm-modules/vscode.nix @@ -1,8 +1,17 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: with lib; -let cfg = config.programs.v.vscode; -in { - options.programs.v.vscode = { enable = mkEnableOption "vscode"; }; +let + cfg = config.programs.v.vscode; +in +{ + options.programs.v.vscode = { + enable = mkEnableOption "vscode"; + }; config = mkIf cfg.enable { programs.vscode = { enable = true; @@ -12,23 +21,42 @@ in { "latex-workshop.linting.chktex.enabled" = true; "latex-workshop.latex.clean.subfolder.enabled" = true; "latex-workshop.latex.outDir" = "%TMPDIR%/%RELATIVE_DOC%"; - "editor.fontFamily" = - "'DejaVuSansMono Nerd Font', 'monospace', monospace"; + "editor.fontFamily" = "'DejaVuSansMono Nerd Font', 'monospace', monospace"; "keyboard.dispatch" = "keyCode"; "rust-analyzer.server.path" = "${pkgs.rust-analyzer}/bin/rust-analyzer"; - "rust-analyzer.check.extraArgs" = ["--profile" "rust-analyzer"]; + "rust-analyzer.check.extraArgs" = [ + "--profile" + "rust-analyzer" + ]; "rust-analyzer.check.command" = "clippy"; "terminal.integrated.defaultProfile.linux" = "zsh"; "nix.enableLanguageServer" = true; # Enable LSP. "nix.serverPath" = "${pkgs.nil}/bin/nil"; - "[nix]" = { "editor.defaultFormatter" = "brettm12345.nixfmt-vscode"; }; - "[python]" = { "editor.formatOnType" = true; }; + "[nix]" = { + "editor.defaultFormatter" = "brettm12345.nixfmt-vscode"; + }; + "[python]" = { + "editor.formatOnType" = true; + }; "debug.allowBreakpointsEverywhere" = true; - "C_Cpp.clang_format_fallbackStyle" = - "{ BasedOnStyle: Google, IndentWidth: 4, ColumnLimit: 0}"; - "crates.compatibleDecorator" = "✓"; - "crates.errorDecorator" = "✗"; - "crates.incompatibleDecorator" = "🛇"; + "C_Cpp.clang_format_fallbackStyle" = "{ BasedOnStyle: Google, IndentWidth: 4, ColumnLimit: 0}"; + # "crates.compatibleDecorator" = "✓"; + # "crates.errorDecorator" = "✗"; + # "crates.incompatibleDecorator" = "🛇"; + + # Verilog + "verilog.formatting.verilogHDL.formatter" = "verible-verilog-format"; + "verilog.languageServer.svls.enabled" = true; + "verilog.languageServer.svls.path" = "${pkgs.svls}/bin/svls"; + "verilog.languageServer.veribleVerilogLs.enabled" = true; + "verilog.languageServer.veribleVerilogLs.path" = "${pkgs.verible}/bin/verible-verilog-ls"; + "verilog.formatting.veribleVerilogFormatter.path" = "${pkgs.verible}/bin/verible-verilog-format"; + "verilog.linting.linter" = "verilator"; + "verilog.linting.path" = "${pkgs.verilator}/bin/verilator"; + "[verilog]" = { + "editor.defaultFormatter" = "mshr-h.veriloghdl"; + }; + # Don't index unecessary things "files.exclude" = { "**/.vscode" = true; @@ -47,33 +75,42 @@ in { "/nix" = true; }; }; - extensions = with pkgs.vscode-extensions; - with pkgs.v.vscode-extensions; [ + extensions = + with pkgs.vscode-extensions; + with pkgs.v.vscode-extensions; + [ brettm12345.nixfmt-vscode + catppuccin.catppuccin-vsc codezombiech.gitignore + codezombiech.gitignore + davidlday.languagetool-linter editorconfig.editorconfig foxundermoon.shell-format + github.copilot + github.copilot-chat + github.vscode-github-actions james-yu.latex-workshop jnoortheen.nix-ide - rust-lang.rust-analyzer mkhl.direnv ms-vscode-remote.remote-ssh ms-vscode.cpptools + ms-vsliveshare.vsliveshare + mshr-h.veriloghdl platformio.platformio-ide - redhat.vscode-yaml redhat.vscode-xml + redhat.vscode-yaml + rust-lang.rust-analyzer + skellock.just + sumneko.lua tamasfe.even-better-toml + vadimcn.vscode-lldb + vadimcn.vscode-lldb valentjn.vscode-ltex vscodevim.vim - vadimcn.vscode-lldb xaver.clang-format - sumneko.lua - davidlday.languagetool-linter - serayuzgur.crates - skellock.just + continue.continue ]; }; }; } - diff --git a/common/modules/gnome/default.nix b/common/modules/gnome/default.nix index 0c3fbcb9..9eb852e1 100644 --- a/common/modules/gnome/default.nix +++ b/common/modules/gnome/default.nix @@ -55,6 +55,7 @@ in # Add Home-manager dconf stuff home-manager.sharedModules = mkIf cfg.hm [ ./hm.nix ]; + environment.gnome.excludePackages = (with pkgs; [ gnome-photos @@ -82,6 +83,8 @@ in # Services required for gnome programs.dconf.enable = true; + + # Extra gnome packages environment.systemPackages = with pkgs; [ gnome-tweaks diff --git a/common/modules/gnome/hm.nix b/common/modules/gnome/hm.nix index 381e49f2..524b7706 100644 --- a/common/modules/gnome/hm.nix +++ b/common/modules/gnome/hm.nix @@ -4,18 +4,20 @@ with lib.hm.gvariant; let inherit (builtins) attrNames map; inherit (lib.attrsets) mapAttrs' nameValuePair; - generate_custom_keybindings = binds: + generate_custom_keybindings = + binds: { "org/gnome/settings-daemon/plugins/media-keys" = { - custom-keybindings = map (name: - "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/${name}/") - (attrNames binds); + custom-keybindings = map ( + name: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/${name}/" + ) (attrNames binds); }; - } // mapAttrs' (name: - nameValuePair - "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/${name}") - binds; -in { + } + // mapAttrs' ( + name: nameValuePair "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/${name}" + ) binds; +in +{ xdg.mimeApps.enable = true; xdg.mimeApps.defaultApplications = { "text/plain" = "org.gnome.TextEditor.desktop"; @@ -59,74 +61,106 @@ in { "image/x-icns" = "org.gnome.Loupe.desktop"; }; - dconf.settings = { - "org/gnome/desktop/input-sources" = { - sources = [ (mkTuple [ "xkb" "us+altgr-intl" ]) ]; - xkb-options = [ "terminate:ctrl_alt_bksp" ]; + dconf.settings = + { + + "org/gnome/shell" = { + disable-user-extensions = false; + enabled-extensions = with pkgs.gnomeExtensions; [ + auto-move-windows.extensionUuid + ]; + }; + + "org/gnome/shell/extensions/auto-move-windows" = { + application-list = [ + "element-desktop.desktop:1" + "discord.desktop:1" + "firefox.desktop:2" + "obsidian.desktop:3" + ]; + }; + + "org/gnome/desktop/input-sources" = { + sources = [ + (mkTuple [ + "xkb" + "us+altgr-intl" + ]) + ]; + xkb-options = [ "terminate:ctrl_alt_bksp" ]; + }; + + "org/gnome/desktop/peripherals/touchpad" = { + tap-to-click = true; + two-finger-scrolling-enabled = true; + }; + + "org/gnome/mutter" = { + attach-modal-dialogs = true; + dynamic-workspaces = false; + edge-tiling = true; + focus-change-on-pointer-rest = true; + workspaces-only-on-primary = true; + }; + + "org/gnome/mutter/keybindings" = { + toggle-tiled-left = [ "bracketleft" ]; + toggle-tiled-right = [ "bracketright" ]; + }; + + "org/gnome/shell/keybindings" = { + toggle-overview = [ "d" ]; + }; + + "org/gnome/desktop/interface" = { + color-scheme = "prefer-dark"; + }; + + "org/gnome/desktop/wm/preferences" = { + auto-raise = false; + num-workspaces = 6; + focus-mode = "sloppy"; + }; + + "org/gnome/desktop/wm/keybindings" = { + raise-or-lower = [ "s" ]; + switch-applications = [ "Tab" ]; + switch-applications-backward = [ "Tab" ]; + move-to-workspace-1 = [ "1" ]; + move-to-workspace-2 = [ "2" ]; + move-to-workspace-3 = [ "3" ]; + move-to-workspace-4 = [ "4" ]; + move-to-workspace-5 = [ "5" ]; + move-to-workspace-6 = [ "6" ]; + switch-to-workspace-1 = [ "1" ]; + switch-to-workspace-2 = [ "2" ]; + switch-to-workspace-3 = [ "3" ]; + switch-to-workspace-4 = [ "4" ]; + switch-to-workspace-5 = [ "5" ]; + switch-to-workspace-6 = [ "6" ]; + toggle-fullscreen = [ "M" ]; + toggle-maximized = [ "m" ]; + close = [ "Q" ]; + }; + + "org/gnome/tweaks" = { + show-extensions-notice = false; + }; + + "org/gnome/boxes" = { + first-run = false; + }; + } + // generate_custom_keybindings { + "terminal" = { + binding = "Return"; + command = "${pkgs.kitty}/bin/kitty"; + name = "Open Terminal"; + }; + "firefox" = { + binding = "f"; + command = "firefox"; + name = "Open Firefox"; + }; }; - - "org/gnome/desktop/peripherals/touchpad" = { - tap-to-click = true; - two-finger-scrolling-enabled = true; - }; - - "org/gnome/mutter" = { - attach-modal-dialogs = true; - dynamic-workspaces = false; - edge-tiling = true; - focus-change-on-pointer-rest = true; - workspaces-only-on-primary = true; - }; - - "org/gnome/mutter/keybindings" = { - toggle-tiled-left = [ "bracketleft" ]; - toggle-tiled-right = [ "bracketright" ]; - }; - - "org/gnome/shell/keybindings" = { toggle-overview = [ "d" ]; }; - - "org/gnome/desktop/interface" = { color-scheme = "prefer-dark"; }; - - "org/gnome/desktop/wm/preferences" = { - auto-raise = false; - num-workspaces = 6; - focus-mode = "sloppy"; - }; - - "org/gnome/desktop/wm/keybindings" = { - raise-or-lower = [ "s" ]; - switch-applications = [ "Tab" ]; - switch-applications-backward = [ "Tab" ]; - move-to-workspace-1 = [ "1" ]; - move-to-workspace-2 = [ "2" ]; - move-to-workspace-3 = [ "3" ]; - move-to-workspace-4 = [ "4" ]; - move-to-workspace-5 = [ "5" ]; - move-to-workspace-6 = [ "6" ]; - switch-to-workspace-1 = [ "1" ]; - switch-to-workspace-2 = [ "2" ]; - switch-to-workspace-3 = [ "3" ]; - switch-to-workspace-4 = [ "4" ]; - switch-to-workspace-5 = [ "5" ]; - switch-to-workspace-6 = [ "6" ]; - toggle-fullscreen = [ "M" ]; - toggle-maximized = [ "m" ]; - close = [ "Q" ]; - }; - - "org/gnome/tweaks" = { show-extensions-notice = false; }; - - "org/gnome/boxes" = { first-run = false; }; - } // generate_custom_keybindings { - "terminal" = { - binding = "Return"; - command = "${pkgs.kitty}/bin/kitty"; - name = "Open Terminal"; - }; - "firefox" = { - binding = "f"; - command = "firefox"; - name = "Open Firefox"; - }; - }; } diff --git a/flake.lock b/flake.lock index f0f1831c..ba7597ed 100644 --- a/flake.lock +++ b/flake.lock @@ -11,11 +11,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1725815284, - "narHash": "sha256-nVWCR86XDjx9Tq6RHsNvhD03nNzIeKKc7UTPnXLyrDY=", + "lastModified": 1728577371, + "narHash": "sha256-f3bKclEV5t1eP1OH7kTGv/tLzlToSRIe0ktkdl1jihw=", "owner": "zhaofengli", "repo": "attic", - "rev": "aec90814a4ecbc40171d57eeef97c5cab4aaa7b4", + "rev": "e5c8d2d50981a34602358d917e7be011b2c397a8", "type": "github" }, "original": { @@ -24,6 +24,21 @@ "type": "github" } }, + "autostart": { + "locked": { + "lastModified": 1723314998, + "narHash": "sha256-BwP56CHfU3P7ZHr2SzAEjF3uveiN1dZ5hFHTzRLS/WI=", + "owner": "Zocker1999NET", + "repo": "home-manager-xdg-autostart", + "rev": "4d1def4a330d6812fe18be140781e94003c3cc0a", + "type": "github" + }, + "original": { + "owner": "Zocker1999NET", + "repo": "home-manager-xdg-autostart", + "type": "github" + } + }, "blobs": { "flake": false, "locked": { @@ -42,11 +57,11 @@ }, "catppuccin": { "locked": { - "lastModified": 1725509983, - "narHash": "sha256-NHCgHVqumPraFJnLrkanoLDuhOoUHUvRhvp/RIHJR+A=", + "lastModified": 1728407414, + "narHash": "sha256-B8LaxUP93eh+it8RW1pGq4SsU2kj7f0ipzFuhBvpON8=", "owner": "catppuccin", "repo": "nix", - "rev": "45745fe5960acaefef2b60f3455bcac6a0ca6bc9", + "rev": "96cf8b4a05fb23a53c027621b1147b5cf9e5439f", "type": "github" }, "original": { @@ -63,11 +78,11 @@ "stable": "stable" }, "locked": { - "lastModified": 1711386353, - "narHash": "sha256-gWEpb8Hybnoqb4O4tmpohGZk6+aerAbJpywKcFIiMlg=", + "lastModified": 1728263678, + "narHash": "sha256-gyUVsPAWY9AgVKjrNPoowrIr5BvK4gI0UkDXvv8iSxA=", "owner": "zhaofengli", "repo": "colmena", - "rev": "cd65ef7a25cdc75052fbd04b120aeb066c3881db", + "rev": "b0a62f234fae02a006123e661ff70e62af16106b", "type": "github" }, "original": { @@ -98,18 +113,12 @@ } }, "crane_2": { - "inputs": { - "nixpkgs": [ - "lanzaboote", - "nixpkgs" - ] - }, "locked": { - "lastModified": 1721842668, - "narHash": "sha256-k3oiD2z2AAwBFLa4+xfU+7G5fisRXfkvrMTCJrjZzXo=", + "lastModified": 1728776144, + "narHash": "sha256-fROVjMcKRoGHofDm8dY3uDUtCMwUICh/KjBFQnuBzfg=", "owner": "ipetkov", "repo": "crane", - "rev": "529c1a0b1f29f0d78fa3086b8f6a134c71ef3aaf", + "rev": "f876e3d905b922502f031aeec1a84490122254b7", "type": "github" }, "original": { @@ -125,11 +134,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1718194053, - "narHash": "sha256-FaGrf7qwZ99ehPJCAwgvNY5sLCqQ3GDiE/6uLhxxwSY=", + "lastModified": 1727447169, + "narHash": "sha256-3KyjMPUKHkiWhwR91J1YchF6zb6gvckCAY1jOE+ne0U=", "owner": "serokell", "repo": "deploy-rs", - "rev": "3867348fa92bc892eba5d9ddb2d7a97b9e127a8a", + "rev": "aa07eb05537d4cd025e2310397a6adcedfe72c76", "type": "github" }, "original": { @@ -146,11 +155,11 @@ ] }, "locked": { - "lastModified": 1722113426, - "narHash": "sha256-Yo/3loq572A8Su6aY5GP56knpuKYRvM2a1meP9oJZCw=", + "lastModified": 1728330715, + "narHash": "sha256-xRJ2nPOXb//u1jaBnDP56M7v5ldavjbtR6lfGqSvcKg=", "owner": "numtide", "repo": "devshell", - "rev": "67cce7359e4cd3c45296fb4aaf6a19e2a9c757ae", + "rev": "dd6b80932022cea34a019e2bb32f6fa9e494dfef", "type": "github" }, "original": { @@ -319,11 +328,11 @@ ] }, "locked": { - "lastModified": 1719994518, - "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=", + "lastModified": 1727826117, + "narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7", + "rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1", "type": "github" }, "original": { @@ -340,11 +349,11 @@ ] }, "locked": { - "lastModified": 1722555600, - "narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=", + "lastModified": 1727826117, + "narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "8471fe90ad337a8074e957b69ca4d0089218391d", + "rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1", "type": "github" }, "original": { @@ -373,15 +382,15 @@ "flake-utils": "flake-utils_3" }, "locked": { - "lastModified": 1714763823, - "narHash": "sha256-vU6uUoUOgqG7NSyqlU/b+tNnY0ABxldYUXmlki/7OiQ=", - "owner": "NULLx76", + "lastModified": 1722363685, + "narHash": "sha256-XCf2PIAT6lH7BwytgioPmVf/wkzXjSKScC4KzcZgb64=", + "owner": "gytis-ivaskevicius", "repo": "flake-utils-plus", - "rev": "293f1f9519579a3171d535652902bba9b7b0b08c", + "rev": "6b10f51ff73a66bb29f3bc8151a59d217713f496", "type": "github" }, "original": { - "owner": "NULLx76", + "owner": "gytis-ivaskevicius", "repo": "flake-utils-plus", "type": "github" } @@ -463,11 +472,11 @@ "systems": "systems_6" }, "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "lastModified": 1726560853, + "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", "type": "github" }, "original": { @@ -529,11 +538,11 @@ ] }, "locked": { - "lastModified": 1724857454, - "narHash": "sha256-Qyl9Q4QMTLZnnBb/8OuQ9LSkzWjBU1T5l5zIzTxkkhk=", + "lastModified": 1728778939, + "narHash": "sha256-WybK5E3hpGxtCYtBwpRj1E9JoiVxe+8kX83snTNaFHE=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "4509ca64f1084e73bc7a721b20c669a8d4c5ebe6", + "rev": "ff68f91754be6f3427e4986d7949e6273659be1d", "type": "github" }, "original": { @@ -614,11 +623,11 @@ ] }, "locked": { - "lastModified": 1726036828, - "narHash": "sha256-ZQHbpyti0jcAKnwQY1lwmooecLmSG6wX1JakQ/eZNeM=", + "lastModified": 1729027341, + "narHash": "sha256-IqWD7bA9iJVifvJlB4vs2KUXVhN+d9lECWdNB4jJ0tE=", "owner": "nix-community", "repo": "home-manager", - "rev": "8a1671642826633586d12ac3158e463c7a50a112", + "rev": "2a4fd1cfd8ed5648583dadef86966a8231024221", "type": "github" }, "original": { @@ -635,11 +644,11 @@ ] }, "locked": { - "lastModified": 1724435763, - "narHash": "sha256-UNky3lJNGQtUEXT2OY8gMxejakSWPTfWKvpFkpFlAfM=", + "lastModified": 1728903686, + "narHash": "sha256-ZHFrGNWDDriZ4m8CA/5kDa250SG1LiiLPApv1p/JF0o=", "owner": "nix-community", "repo": "home-manager", - "rev": "c2cd2a52e02f1dfa1c88f95abeb89298d46023be", + "rev": "e1aec543f5caf643ca0d94b6a633101942fd065f", "type": "github" }, "original": { @@ -660,11 +669,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1725379389, - "narHash": "sha256-qS1H/5/20ewJIXmf8FN2A5KTOKKU9elWvCPwdBi1P/U=", + "lastModified": 1729064530, + "narHash": "sha256-oSr/w/5dvf/8ll6NvQlL7+rrK8wzjIcEMP1LvI4Ag08=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "e7bd94e0b5ff3c1e686f2101004ebf4fcea9d871", + "rev": "2fa1368f938b50e35ca87334b5aeba38a3402165", "type": "github" }, "original": { @@ -703,11 +712,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1725664757, - "narHash": "sha256-kUMgeF3hHJM8aBpdazNgtCeeOTrWext6lHfrYmC6otU=", + "lastModified": 1728779945, + "narHash": "sha256-RFKyZygnUbJlWq1uBn4JvEEcQKZW3AFBL3bQoywECPI=", "owner": "astro", "repo": "microvm.nix", - "rev": "caac7808d1e31f8a0fa408338cd3736947cb226d", + "rev": "4d81c4115ef832880561f243efec21f06d2a8b7c", "type": "github" }, "original": { @@ -724,11 +733,11 @@ ] }, "locked": { - "lastModified": 1724561770, - "narHash": "sha256-zv8C9RNa86CIpyHwPIVO/k+5TfM8ZbjGwOOpTe1grls=", + "lastModified": 1728901530, + "narHash": "sha256-I9Qd0LnAsEGHtKE9+uVR0iDFmsijWSy7GT0g3jihG4Q=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "ac5694a0b855a981e81b4d9f14052e3ff46ca39e", + "rev": "a60ac02f9466f85f092e576fd8364dfc4406b5a6", "type": "github" }, "original": { @@ -739,11 +748,11 @@ }, "nixlib": { "locked": { - "lastModified": 1725757153, - "narHash": "sha256-c1a6iLmCVPFI9EUVMrBN8xdmFxFXEjcVwiTSVmqajOs=", + "lastModified": 1728781282, + "narHash": "sha256-hUP9oxmnOmNnKcDOf5Y55HQ+NnoT0+bLWHLQWLLw9Ks=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "68584f89dd0eb16fea5d80ae127f3f681f6a5df7", + "rev": "16340f605f4e8e5cf07fd74dcbe692eee2d4f51b", "type": "github" }, "original": { @@ -760,11 +769,11 @@ ] }, "locked": { - "lastModified": 1725843519, - "narHash": "sha256-Z6DglUwgFDz6fIvQ89wx/uBVWrGvEGECq0Ypyk/eigE=", + "lastModified": 1728867876, + "narHash": "sha256-NCyOA8WZNoojmXH+kBDrQj3LwvakYNzSc0h+LTXkmPE=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "214efbd73241d72a8f48b8b9a73bb54895cd51a7", + "rev": "fdf142111597f6c6283cf5ffe092b6293a3911d0", "type": "github" }, "original": { @@ -775,11 +784,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1725885300, - "narHash": "sha256-5RLEnou1/GJQl+Wd+Bxaj7QY7FFQ9wjnFq1VNEaxTmc=", + "lastModified": 1728729581, + "narHash": "sha256-oazkQ/z7r43YkDLLQdMg8oIB3CwWNb+2ZrYOxtLEWTQ=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "166dee4f88a7e3ba1b7a243edb1aca822f00680e", + "rev": "a8dd1b21995964b115b1e3ec639dd6ce24ab9806", "type": "github" }, "original": { @@ -790,11 +799,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1696019113, - "narHash": "sha256-X3+DKYWJm93DRSdC5M6K5hLqzSya9BjibtBsuARoPco=", + "lastModified": 1725103162, + "narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f5892ddac112a1e9b3612c39af1b72987ee5783a", + "rev": "12228ff1752d7b7624a54e9c1af4b222b3c1073b", "type": "github" }, "original": { @@ -885,26 +894,26 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1725634671, - "narHash": "sha256-v3rIhsJBOMLR8e/RNWxr828tB+WywYIoajrZKFM+0Gg=", + "lastModified": 1729121138, + "narHash": "sha256-YwgV6ORMYDj32ucAIDjUY+6vV7Sv5RNbnnsQx4+QNw8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "574d1eac1c200690e27b8eb4e24887f8df7ac27c", + "rev": "f67841950fe8e33ae6597cc2dac1bc179c3c2627", "type": "github" }, "original": { "id": "nixpkgs", - "ref": "nixos-unstable", + "ref": "nixos-unstable-small", "type": "indirect" } }, "nixpkgs_5": { "locked": { - "lastModified": 1724819573, - "narHash": "sha256-GnR7/ibgIH1vhoy8cYdmXE6iyZqKqFxQSVkFgosBh6w=", + "lastModified": 1728888510, + "narHash": "sha256-nsNdSldaAyu6PE3YUA+YQLqUDJh+gRbBooMMekZJwvI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "71e91c409d1e654808b2621f28a327acfdad8dc2", + "rev": "a3c0b3b21515f74fd2665903d4ce6bc4dc81c77c", "type": "github" }, "original": { @@ -943,11 +952,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1726000537, - "narHash": "sha256-Y1dEuf2wZkg2rhE8sf73x9K0zknUald4Ia6zXnGEfjg=", + "lastModified": 1729072117, + "narHash": "sha256-vAhQlGF9m3DY/9pgLQlBQnWz7YGuQ+FP3w5Ms5HSnZc=", "owner": "pta2002", "repo": "nixvim", - "rev": "fc7e9b29271a03459191955f78d4128451b7cd81", + "rev": "b9ea7f88b6117f076d3b122d9bec3f379c57a17a", "type": "github" }, "original": { @@ -958,11 +967,11 @@ }, "nur": { "locked": { - "lastModified": 1726036733, - "narHash": "sha256-2HtGkO408Gkvg/M+9s1jcDqt2+u7MzjzZPlxpBORfOQ=", + "lastModified": 1729077813, + "narHash": "sha256-61tT+dRuJ9kGfrKgDRE/ReNw9mgIL/0uep56gehEg5Y=", "owner": "nix-community", "repo": "NUR", - "rev": "76210ff4db87bac735c6a18e3443852563469704", + "rev": "0fb85cae559957a989166e8cb80a82f316959f8f", "type": "github" }, "original": { @@ -980,11 +989,11 @@ ] }, "locked": { - "lastModified": 1724584782, - "narHash": "sha256-7FfHv7b1jwMPSu9SPY9hdxStk8E6EeSwzqdvV69U4BM=", + "lastModified": 1728905062, + "narHash": "sha256-W/lClt0bRgFRO0WFtytX/LEILpPNq+FOjIfESpkeu5c=", "owner": "NuschtOS", "repo": "search", - "rev": "5a08d691de30b6fc28d58ce71a5e420f2694e087", + "rev": "f82d3e1c1c9d1eaeb91878519e2d27b27c66ce84", "type": "github" }, "original": { @@ -1007,11 +1016,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1721042469, - "narHash": "sha256-6FPUl7HVtvRHCCBQne7Ylp4p+dpP3P/OYuzjztZ4s70=", + "lastModified": 1728778939, + "narHash": "sha256-WybK5E3hpGxtCYtBwpRj1E9JoiVxe+8kX83snTNaFHE=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "f451c19376071a90d8c58ab1a953c6e9840527fd", + "rev": "ff68f91754be6f3427e4986d7949e6273659be1d", "type": "github" }, "original": { @@ -1023,6 +1032,7 @@ "root": { "inputs": { "attic": "attic", + "autostart": "autostart", "catppuccin": "catppuccin", "colmena": "colmena", "deploy": "deploy", @@ -1051,11 +1061,11 @@ ] }, "locked": { - "lastModified": 1722219664, - "narHash": "sha256-xMOJ+HW4yj6e69PvieohUJ3dBSdgCfvI0nnCEe6/yVc=", + "lastModified": 1728959392, + "narHash": "sha256-fp4he1QQjE+vasDMspZYeXrwTm9otwEqLwEN6FKZ5v0=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "a6fbda5d9a14fb5f7c69b8489d24afeb349c7bb4", + "rev": "4c6e317300f05b8871f585b826b6f583e7dc4a9b", "type": "github" }, "original": { @@ -1082,16 +1092,16 @@ }, "stable": { "locked": { - "lastModified": 1696039360, - "narHash": "sha256-g7nIUV4uq1TOVeVIDEZLb005suTWCUjSY0zYOlSBsyE=", + "lastModified": 1724316499, + "narHash": "sha256-Qb9MhKBUTCfWg/wqqaxt89Xfi6qTD3XpTzQ9eXi3JmE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "32dcb45f66c0487e92db8303a798ebc548cadedc", + "rev": "797f7dc49e0bc7fab4b57c021cdf68f595e47841", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-23.05", + "ref": "nixos-24.05", "repo": "nixpkgs", "type": "github" } @@ -1245,11 +1255,11 @@ ] }, "locked": { - "lastModified": 1724833132, - "narHash": "sha256-F4djBvyNRAXGusJiNYInqR6zIMI3rvlp6WiKwsRISos=", + "lastModified": 1727984844, + "narHash": "sha256-xpRqITAoD8rHlXQafYZOLvUXCF6cnZkPfoq67ThN0Hc=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "3ffd842a5f50f435d3e603312eefa4790db46af5", + "rev": "4446c7a6fc0775df028c5a3f6727945ba8400e64", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index d1a866e9..1489a7d0 100644 --- a/flake.nix +++ b/flake.nix @@ -5,8 +5,8 @@ # * https://github.com/Infinidoge/nix-minecraft inputs = { - nixpkgs.url = "nixpkgs/nixos-unstable"; - flake-utils-plus.url = "github:NULLx76/flake-utils-plus"; + nixpkgs.url = "nixpkgs/nixos-unstable-small"; + flake-utils-plus.url = "github:gytis-ivaskevicius/flake-utils-plus"; nur.url = "github:nix-community/NUR"; colmena.url = "github:zhaofengli/colmena"; deploy.url = "github:serokell/deploy-rs"; @@ -46,6 +46,8 @@ essentials.url = "github:jdonszelmann/essentials"; essentials.inputs.nixpkgs.follows = "nixpkgs"; + + autostart.url = "github:Zocker1999NET/home-manager-xdg-autostart"; }; outputs = diff --git a/hosts/olympus/bastion/containers/common.nix b/hosts/olympus/bastion/containers/common.nix index 6807b60d..065206f8 100644 --- a/hosts/olympus/bastion/containers/common.nix +++ b/hosts/olympus/bastion/containers/common.nix @@ -9,3 +9,4 @@ system.stateVersion = lib.mkDefault "24.05"; } + diff --git a/hosts/olympus/bastion/containers/default.nix b/hosts/olympus/bastion/containers/default.nix index 4f41ed31..edd293ae 100644 --- a/hosts/olympus/bastion/containers/default.nix +++ b/hosts/olympus/bastion/containers/default.nix @@ -1,42 +1,82 @@ -{ config, lib, inputs, ... }: +{ + config, + lib, + inputs, + ... +}: let hostAddress = "10.42.99.1"; hostAddress6 = "fc00::1"; -in { +in +{ networking.nat = { enable = true; internalInterfaces = [ "ve-+" ]; externalInterface = "ens18"; # Lazy IPv6 connectivity for the container enableIPv6 = true; - - forwardPorts = [ - - ]; }; + networking.firewall.allowedTCPPorts = [ + 8384 + 22000 + ]; + networking.firewall.allowedUDPPorts = [ + 22000 + 21027 + ]; + # Containers network is # * 10.42.99.0/24 # * fc00:x + users.groups.backup = { + gid = 10000; + members = [ "vivian" ]; + }; + containers = { - dns = { + syncthing = { autoStart = true; inherit hostAddress hostAddress6; localAddress = "10.42.99.2"; localAddress6 = "fc00::2"; - specialArgs = { inherit inputs; }; + forwardPorts = [ + { + containerPort = 8384; + hostPort = 8384; + protocol = "tcp"; + } + ]; - config = {pkgs, ...}: { - imports = [ - ./common.nix - # ./dns.nix - inputs.home-manager.nixosModules.home-manager - inputs.gnome-autounlock-keyring.nixosModules.default - inputs.catppuccin.nixosModules.catppuccin - ]; + bindMounts = { + "/data" = { + hostPath = "/mnt/backup"; + isReadOnly = false; + }; }; + + specialArgs = { + inherit inputs; + }; + + config = + { pkgs, ... }: + { + users.groups.backup = { + gid = 10000; + members = [ "syncthing" ]; + }; + + imports = [ + ./common.nix + ./syncthing.nix + inputs.home-manager.nixosModules.home-manager + inputs.gnome-autounlock-keyring.nixosModules.default + inputs.catppuccin.nixosModules.catppuccin + ]; + }; }; }; } diff --git a/hosts/olympus/bastion/containers/syncthing.nix b/hosts/olympus/bastion/containers/syncthing.nix new file mode 100644 index 00000000..0e10c83f --- /dev/null +++ b/hosts/olympus/bastion/containers/syncthing.nix @@ -0,0 +1,8 @@ +{ ... }: +{ + services.syncthing = { + enable = true; + openDefaultPorts = true; + guiAddress = "0.0.0.0:8384"; + }; +} diff --git a/hosts/olympus/bastion/default.nix b/hosts/olympus/bastion/default.nix index c5386982..d5f7fcd5 100644 --- a/hosts/olympus/bastion/default.nix +++ b/hosts/olympus/bastion/default.nix @@ -19,6 +19,13 @@ mac = "82:F0:7C:CB:BD:6D"; }; + services.scrutiny = { + enable = true; + openFirewall = true; + influxdb.enable = true; + collector.enable = false; + }; + # Use the GRUB 2 boot loader. boot.loader.grub.enable = true; boot.loader.grub.device = "/dev/sda"; diff --git a/hosts/thalassa/aoife/default.nix b/hosts/thalassa/aoife/default.nix index ac86bbc1..44da8c3b 100644 --- a/hosts/thalassa/aoife/default.nix +++ b/hosts/thalassa/aoife/default.nix @@ -23,11 +23,10 @@ users.users.vivian.extraGroups = [ "adbusers" ]; - security.pki.certificateFiles = [ ./domain.crt ]; - environment.systemPackages = with pkgs; [ - # (ollama.override {acceleration = "rocm"; }) + ]; + services.flatpak.enable = true; # Bootloader. @@ -35,7 +34,7 @@ bootspec.enable = true; initrd.kernelModules = [ "amdgpu" ]; resumeDevice = "/dev/nvme0n1p2"; - loader.systemd-boot.enable = lib.mkForce false; + loader.systemd-boot.enable = lib.mkForce false; # Using lanzaboote instead kernel.sysctl = { "perf_event_paranoid" = 1; @@ -59,11 +58,14 @@ ]; programs.hyprland.enable = true; + services.gnome.gnome-keyring.enable = true; - # services.gnome-autounlock-keyring = { - # enable = true; - # target = "hyprland-session.target"; - # }; + + services.ollama = { + enable = true; + acceleration = "rocm"; + rocmOverrideGfx = "10.3.4"; + }; services.interception-tools = { enable = true; diff --git a/hosts/thalassa/aoife/domain.crt b/hosts/thalassa/aoife/domain.crt deleted file mode 100644 index 3713f443..00000000 --- a/hosts/thalassa/aoife/domain.crt +++ /dev/null @@ -1,21 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDZTCCAk2gAwIBAgIUcCV6T0NduGa58qOcAhe9n8oOcEIwDQYJKoZIhvcNAQEL -BQAwWzELMAkGA1UEBhMCTkwxFTATBgNVBAgMDFp1aWQtSG9sbGFuZDEOMAwGA1UE -BwwFRGVsZnQxETAPBgNVBAoMCFRVIERlbGZ0MRIwEAYDVQQDDAlsb2NhbGhvc3Qw -HhcNMjQwNDA1MDgyMDQxWhcNMjUwNDA1MDgyMDQxWjBbMQswCQYDVQQGEwJOTDEV -MBMGA1UECAwMWnVpZC1Ib2xsYW5kMQ4wDAYDVQQHDAVEZWxmdDERMA8GA1UECgwI -VFUgRGVsZnQxEjAQBgNVBAMMCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQAD -ggEPADCCAQoCggEBAIcX6xGqorbXkIqtH0ek2L9YAc0ruKF7aTpY9q7n6EpD4OC1 -Q575fvnEqBsvKC74xh1AO58x7HLxAIWmy76UqUxJIQ7vtfCKxFDjBDhgitmnxWK1 -3QCrHwFS3MThqOq0zhK7AqnpzzdHsj9zfPWbrhP86m4uugIAund2YiSUPX7ZrSSO -pY60bZiA2c3hJbqxg+NvNN1vZHEsPGaZHXMMrycw0bLOBoKPvbenl3ig23vsyRSO -MwiJgLK/ztMI6r2KMJVZofjbu1Mz+WPzotKaCrSArSRF36BOzafyxqgO0h3Vqp4W -Z6UpS1bFTpbJckz8LqNvlP/Z4mV5+1QyrwwN/iMCAwEAAaMhMB8wHQYDVR0OBBYE -FOSRI3SKLWlk2RamJJwyyFlP9UnhMA0GCSqGSIb3DQEBCwUAA4IBAQARLh5z4Ius -0kiejnMtzV5xAckbqbcultdEdGfjZciv3BM9C7DpEF5Nj8CbaK6TXrKh98bxQ6w+ -lPL/6LECkPhvHWRhTOsrhDV5h6eSPyV/TX4Jj127WnzA1LcjoEngUY97y6p/eBkE -hZWepPPAhuEmu/ws1UmF8vrT4sc+nMKXrOTsqkdUKHh2JZuFby3+SHDkYX66ZxXK -bQ3dEi6GyOkZIOuaNK+mS76yVanRU4k0A3dhIpW4pV6W12AAWioGaZv34uKVTp9E -XgNhqDC39lU4rLp260NvuRywAKxvR7hKyWfmwak5lr0dZ9t4eufPI4jU5SD+aotq -FVTMFwAKZO5v ------END CERTIFICATE----- diff --git a/hosts/thalassa/aoife/hardware.nix b/hosts/thalassa/aoife/hardware.nix index 2219c67a..88701699 100644 --- a/hosts/thalassa/aoife/hardware.nix +++ b/hosts/thalassa/aoife/hardware.nix @@ -39,6 +39,7 @@ # Video Driver xserver = { + videoDrivers = [ "displaylink" ]; dpi = 280; }; diff --git a/hosts/thalassa/aoife/home/default.nix b/hosts/thalassa/aoife/home/default.nix index e8df0a42..075a744a 100644 --- a/hosts/thalassa/aoife/home/default.nix +++ b/hosts/thalassa/aoife/home/default.nix @@ -20,7 +20,6 @@ jetbrains.idea-ultimate eduvpn-client localsend - obsidian typst prismlauncher libraw @@ -33,6 +32,9 @@ "student-linux.tudelft.nl" = { user = "vroest"; }; + "login.delftblue.tudelft.nl" = { + user = "vroest"; + }; "cese01" = { hostname = "cese01.ewi.tudelft.nl"; user = "vroest"; diff --git a/hosts/thalassa/aoife/uni.nix b/hosts/thalassa/aoife/uni.nix index 29b1d26d..ed09c077 100644 --- a/hosts/thalassa/aoife/uni.nix +++ b/hosts/thalassa/aoife/uni.nix @@ -32,4 +32,38 @@ ]; }; + + # Vivado udev + services.udev.packages = [ + (pkgs.writeTextFile { + name = "xilinx-dilligent-usb-udev"; + destination = "/etc/udev/rules.d/52-xilinx-digilent-usb.rules"; + text = '' + ATTR{idVendor}=="1443", MODE:="666" + ACTION=="add", ATTR{idVendor}=="0403", ATTR{manufacturer}=="Digilent", MODE:="666" + ''; + }) + (pkgs.writeTextFile { + name = "xilinx-pcusb-udev"; + destination = "/etc/udev/rules.d/52-xilinx-pcusb.rules"; + text = '' + ATTR{idVendor}=="03fd", ATTR{idProduct}=="0008", MODE="666" + ATTR{idVendor}=="03fd", ATTR{idProduct}=="0007", MODE="666" + ATTR{idVendor}=="03fd", ATTR{idProduct}=="0009", MODE="666" + ATTR{idVendor}=="03fd", ATTR{idProduct}=="000d", MODE="666" + ATTR{idVendor}=="03fd", ATTR{idProduct}=="000f", MODE="666" + ATTR{idVendor}=="03fd", ATTR{idProduct}=="0013", MODE="666" + ATTR{idVendor}=="03fd", ATTR{idProduct}=="0015", MODE="666" + ''; + }) + (pkgs.writeTextFile { + name = "xilinx-ftdi-usb-udev"; + destination = "/etc/udev/rules.d/52-xilinx-ftdi-usb.rules"; + text = '' + ACTION=="add", ATTR{idVendor}=="0403", ATTR{manufacturer}=="Xilinx", MODE:="666" + ''; + }) + ]; } + + From 98fb1316e74e49f22c47368dad619ecd68b1f877 Mon Sep 17 00:00:00 2001 From: Vivian Date: Thu, 24 Oct 2024 22:07:17 +0200 Subject: [PATCH 47/88] updates --- common/desktop/home.nix | 2 +- flake.lock | 129 +++++++++++++++++++++-------------- flake.nix | 2 +- hosts/thalassa/aoife/uni.nix | 9 +++ 4 files changed, 90 insertions(+), 52 deletions(-) diff --git a/common/desktop/home.nix b/common/desktop/home.nix index e20aba6b..d861a208 100644 --- a/common/desktop/home.nix +++ b/common/desktop/home.nix @@ -29,7 +29,7 @@ in home.packages = with pkgs; [ (python3.withPackages my-python-packages) btop - calibre + # calibre celluloid # video player element-desktop fusee-launcher diff --git a/flake.lock b/flake.lock index ba7597ed..87ec2b62 100644 --- a/flake.lock +++ b/flake.lock @@ -11,11 +11,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1728577371, - "narHash": "sha256-f3bKclEV5t1eP1OH7kTGv/tLzlToSRIe0ktkdl1jihw=", + "lastModified": 1729116596, + "narHash": "sha256-NnLMLIXGZtAscUF4dCShksuQ1nOGF6Y2dEeyj0rBbUg=", "owner": "zhaofengli", "repo": "attic", - "rev": "e5c8d2d50981a34602358d917e7be011b2c397a8", + "rev": "2b05b7d986cf6009b1c1ef7daa4961cd1a658782", "type": "github" }, "original": { @@ -538,11 +538,11 @@ ] }, "locked": { - "lastModified": 1728778939, - "narHash": "sha256-WybK5E3hpGxtCYtBwpRj1E9JoiVxe+8kX83snTNaFHE=", + "lastModified": 1729104314, + "narHash": "sha256-pZRZsq5oCdJt3upZIU4aslS9XwFJ+/nVtALHIciX/BI=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "ff68f91754be6f3427e4986d7949e6273659be1d", + "rev": "3c3e88f0f544d6bb54329832616af7eb971b6be6", "type": "github" }, "original": { @@ -606,7 +606,7 @@ "lastModified": 1711359349, "narHash": "sha256-dSHWgOtipLWgSSZFq9tvlaQF9b8Jfk/2mYCX4QS4x50=", "ref": "refs/heads/main", - "rev": "1017642795eb398881eff78a822621f2d2a93be7", + "rev": "06279869e7a26dc91ca3e3abb84a3508d7f977cb", "revCount": 10, "type": "git", "url": "https://git.0x76.dev/v/gnome-autounlock-keyring.git" @@ -623,11 +623,11 @@ ] }, "locked": { - "lastModified": 1729027341, - "narHash": "sha256-IqWD7bA9iJVifvJlB4vs2KUXVhN+d9lECWdNB4jJ0tE=", + "lastModified": 1729716953, + "narHash": "sha256-FbRKGRRd0amsk/WS/UV9ukJ8jT1dZ2pJBISxkX+uq6A=", "owner": "nix-community", "repo": "home-manager", - "rev": "2a4fd1cfd8ed5648583dadef86966a8231024221", + "rev": "a4353cc43d1b4dd6bdeacea90eb92a8b7b78a9d7", "type": "github" }, "original": { @@ -644,11 +644,11 @@ ] }, "locked": { - "lastModified": 1728903686, - "narHash": "sha256-ZHFrGNWDDriZ4m8CA/5kDa250SG1LiiLPApv1p/JF0o=", + "lastModified": 1729716953, + "narHash": "sha256-FbRKGRRd0amsk/WS/UV9ukJ8jT1dZ2pJBISxkX+uq6A=", "owner": "nix-community", "repo": "home-manager", - "rev": "e1aec543f5caf643ca0d94b6a633101942fd065f", + "rev": "a4353cc43d1b4dd6bdeacea90eb92a8b7b78a9d7", "type": "github" }, "original": { @@ -657,6 +657,34 @@ "type": "github" } }, + "ixx": { + "inputs": { + "flake-utils": [ + "nixvim", + "nuschtosSearch", + "flake-utils" + ], + "nixpkgs": [ + "nixvim", + "nuschtosSearch", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1729544999, + "narHash": "sha256-YcyJLvTmN6uLEBGCvYoMLwsinblXMkoYkNLEO4WnKus=", + "owner": "NuschtOS", + "repo": "ixx", + "rev": "65c207c92befec93e22086da9456d3906a4e999c", + "type": "github" + }, + "original": { + "owner": "NuschtOS", + "ref": "v0.0.5", + "repo": "ixx", + "type": "github" + } + }, "lanzaboote": { "inputs": { "crane": "crane_2", @@ -712,11 +740,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1728779945, - "narHash": "sha256-RFKyZygnUbJlWq1uBn4JvEEcQKZW3AFBL3bQoywECPI=", + "lastModified": 1729726792, + "narHash": "sha256-ndjFy5kfhn9MoOOSzGnZ7f2FwRUUY1EJYwXGxK8DzsQ=", "owner": "astro", "repo": "microvm.nix", - "rev": "4d81c4115ef832880561f243efec21f06d2a8b7c", + "rev": "ef42cfface9940b9ce9614307670b60cdbda33f6", "type": "github" }, "original": { @@ -733,11 +761,11 @@ ] }, "locked": { - "lastModified": 1728901530, - "narHash": "sha256-I9Qd0LnAsEGHtKE9+uVR0iDFmsijWSy7GT0g3jihG4Q=", + "lastModified": 1729757100, + "narHash": "sha256-x+8uGaX66V5+fUBHY23Q/OQyibQ38nISzxgj7A7Jqds=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "a60ac02f9466f85f092e576fd8364dfc4406b5a6", + "rev": "04193f188e4144d7047f83ad1de81d6034d175cd", "type": "github" }, "original": { @@ -748,11 +776,11 @@ }, "nixlib": { "locked": { - "lastModified": 1728781282, + "lastModified": 1729386149, "narHash": "sha256-hUP9oxmnOmNnKcDOf5Y55HQ+NnoT0+bLWHLQWLLw9Ks=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "16340f605f4e8e5cf07fd74dcbe692eee2d4f51b", + "rev": "cce4521b6df014e79a7b7afc58c703ed683c916e", "type": "github" }, "original": { @@ -769,11 +797,11 @@ ] }, "locked": { - "lastModified": 1728867876, - "narHash": "sha256-NCyOA8WZNoojmXH+kBDrQj3LwvakYNzSc0h+LTXkmPE=", + "lastModified": 1729472750, + "narHash": "sha256-s93LPHi5BN7I2xSGNAFWiYb8WRsPvT1LE9ZjZBrpFlg=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "fdf142111597f6c6283cf5ffe092b6293a3911d0", + "rev": "7c60ba4bc8d6aa2ba3e5b0f6ceb9fc07bc261565", "type": "github" }, "original": { @@ -784,11 +812,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1728729581, - "narHash": "sha256-oazkQ/z7r43YkDLLQdMg8oIB3CwWNb+2ZrYOxtLEWTQ=", + "lastModified": 1729742320, + "narHash": "sha256-u3Of8xRkN//me8PU+RucKA59/6RNy4B2jcGAF36P4jI=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "a8dd1b21995964b115b1e3ec639dd6ce24ab9806", + "rev": "e8a2f6d5513fe7b7d15701b2d05404ffdc3b6dda", "type": "github" }, "original": { @@ -894,26 +922,26 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1729121138, - "narHash": "sha256-YwgV6ORMYDj32ucAIDjUY+6vV7Sv5RNbnnsQx4+QNw8=", + "lastModified": 1729665710, + "narHash": "sha256-AlcmCXJZPIlO5dmFzV3V2XF6x/OpNWUV8Y/FMPGd8Z4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f67841950fe8e33ae6597cc2dac1bc179c3c2627", + "rev": "2768c7d042a37de65bb1b5b3268fc987e534c49d", "type": "github" }, "original": { "id": "nixpkgs", - "ref": "nixos-unstable-small", + "ref": "nixos-unstable", "type": "indirect" } }, "nixpkgs_5": { "locked": { - "lastModified": 1728888510, - "narHash": "sha256-nsNdSldaAyu6PE3YUA+YQLqUDJh+gRbBooMMekZJwvI=", + "lastModified": 1729665710, + "narHash": "sha256-AlcmCXJZPIlO5dmFzV3V2XF6x/OpNWUV8Y/FMPGd8Z4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a3c0b3b21515f74fd2665903d4ce6bc4dc81c77c", + "rev": "2768c7d042a37de65bb1b5b3268fc987e534c49d", "type": "github" }, "original": { @@ -952,11 +980,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1729072117, - "narHash": "sha256-vAhQlGF9m3DY/9pgLQlBQnWz7YGuQ+FP3w5Ms5HSnZc=", + "lastModified": 1729791159, + "narHash": "sha256-i5TKYCs9tJ2qaYTsjQh3WwExmj4O0EU+L1jq6ZBVMfM=", "owner": "pta2002", "repo": "nixvim", - "rev": "b9ea7f88b6117f076d3b122d9bec3f379c57a17a", + "rev": "4726334e4413ff55f1db3768c8d08722abbf09cf", "type": "github" }, "original": { @@ -967,11 +995,11 @@ }, "nur": { "locked": { - "lastModified": 1729077813, - "narHash": "sha256-61tT+dRuJ9kGfrKgDRE/ReNw9mgIL/0uep56gehEg5Y=", + "lastModified": 1729799218, + "narHash": "sha256-Zm94AkByXPxdA9LU7fgfkKp5o5pnUGLPIdcqFu+tUDc=", "owner": "nix-community", "repo": "NUR", - "rev": "0fb85cae559957a989166e8cb80a82f316959f8f", + "rev": "4680fc334df27df13fe855d30a51990a1c9975c7", "type": "github" }, "original": { @@ -983,17 +1011,18 @@ "nuschtosSearch": { "inputs": { "flake-utils": "flake-utils_6", + "ixx": "ixx", "nixpkgs": [ "nixvim", "nixpkgs" ] }, "locked": { - "lastModified": 1728905062, - "narHash": "sha256-W/lClt0bRgFRO0WFtytX/LEILpPNq+FOjIfESpkeu5c=", + "lastModified": 1729763753, + "narHash": "sha256-M8WAUgKFBU5TvFt92g/dHBtGJmBP33LHird+solHt0g=", "owner": "NuschtOS", "repo": "search", - "rev": "f82d3e1c1c9d1eaeb91878519e2d27b27c66ce84", + "rev": "bedc2f2ada220815a98a896e10f5e61bfc329bfc", "type": "github" }, "original": { @@ -1255,11 +1284,11 @@ ] }, "locked": { - "lastModified": 1727984844, - "narHash": "sha256-xpRqITAoD8rHlXQafYZOLvUXCF6cnZkPfoq67ThN0Hc=", + "lastModified": 1729613947, + "narHash": "sha256-XGOvuIPW1XRfPgHtGYXd5MAmJzZtOuwlfKDgxX5KT3s=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "4446c7a6fc0775df028c5a3f6727945ba8400e64", + "rev": "aac86347fb5063960eccb19493e0cadcdb4205ca", "type": "github" }, "original": { @@ -1313,11 +1342,11 @@ ] }, "locked": { - "lastModified": 1683013874, - "narHash": "sha256-B8bQb9IMkrDvtqFUoF/PuBma8Qa2jU7Xv7cFSchg9V8=", + "lastModified": 1729410873, + "narHash": "sha256-gWcGwGxRSsHtVXGEaCw1bhmqnJaVIjbxJkt98F9HxLE=", "ref": "refs/heads/main", - "rev": "91e7262e87878609c2d6619210988b241e8f8f62", - "revCount": 11, + "rev": "f05093a8d608892d2e4499e02117428b405f82a1", + "revCount": 12, "type": "git", "url": "https://git.0x76.dev/v/vault-unseal.git" }, diff --git a/flake.nix b/flake.nix index 1489a7d0..aa50e451 100644 --- a/flake.nix +++ b/flake.nix @@ -5,7 +5,7 @@ # * https://github.com/Infinidoge/nix-minecraft inputs = { - nixpkgs.url = "nixpkgs/nixos-unstable-small"; + nixpkgs.url = "nixpkgs/nixos-unstable"; flake-utils-plus.url = "github:gytis-ivaskevicius/flake-utils-plus"; nur.url = "github:nix-community/NUR"; colmena.url = "github:zhaofengli/colmena"; diff --git a/hosts/thalassa/aoife/uni.nix b/hosts/thalassa/aoife/uni.nix index ed09c077..a7d63877 100644 --- a/hosts/thalassa/aoife/uni.nix +++ b/hosts/thalassa/aoife/uni.nix @@ -13,16 +13,25 @@ virtualisation = { podman.enable = true; + virtualbox.host = { + # enableKvm = true; + enable = true; + enableHardening = false; + enableExtensionPack = true; + }; docker = { enable = false; storageDriver = "btrfs"; }; }; + + users.extraUsers.vivian.extraGroups = [ # "wireshark" # "docker" # "lxd" + "vboxusers" ]; programs.nix-ld = { From c4b08af3148a2bbc3e386bcf9b8bc209f79d88f3 Mon Sep 17 00:00:00 2001 From: Vivian Date: Sat, 26 Oct 2024 09:49:22 +0200 Subject: [PATCH 48/88] updates --- common/desktop/default.nix | 2 +- flake.lock | 12 ++++++------ hosts/thalassa/aoife/hardware.nix | 2 -- hosts/thalassa/aoife/uni.nix | 9 +++------ 4 files changed, 10 insertions(+), 15 deletions(-) diff --git a/common/desktop/default.nix b/common/desktop/default.nix index 4cd0a2fa..69b654b6 100644 --- a/common/desktop/default.nix +++ b/common/desktop/default.nix @@ -94,7 +94,7 @@ fonts.packages = with pkgs; [ material-design-icons noto-fonts - noto-fonts-cjk + noto-fonts-cjk-sans noto-fonts-emoji dejavu_fonts (nerdfonts.override { diff --git a/flake.lock b/flake.lock index 87ec2b62..26112147 100644 --- a/flake.lock +++ b/flake.lock @@ -623,11 +623,11 @@ ] }, "locked": { - "lastModified": 1729716953, - "narHash": "sha256-FbRKGRRd0amsk/WS/UV9ukJ8jT1dZ2pJBISxkX+uq6A=", + "lastModified": 1729894599, + "narHash": "sha256-nL9nzNE5/re/P+zOv7NX6bRm5e+DeS1HIufQUJ01w20=", "owner": "nix-community", "repo": "home-manager", - "rev": "a4353cc43d1b4dd6bdeacea90eb92a8b7b78a9d7", + "rev": "93435d27d250fa986bfec6b2ff263161ff8288cb", "type": "github" }, "original": { @@ -995,11 +995,11 @@ }, "nur": { "locked": { - "lastModified": 1729799218, - "narHash": "sha256-Zm94AkByXPxdA9LU7fgfkKp5o5pnUGLPIdcqFu+tUDc=", + "lastModified": 1729926824, + "narHash": "sha256-hyEQzQub0OzpfXdqFboHvwtl9Pl43x2fLE9SDCRYg5A=", "owner": "nix-community", "repo": "NUR", - "rev": "4680fc334df27df13fe855d30a51990a1c9975c7", + "rev": "bdf0b3886aed8a9f967c15d14ea9a878ea67b8af", "type": "github" }, "original": { diff --git a/hosts/thalassa/aoife/hardware.nix b/hosts/thalassa/aoife/hardware.nix index 88701699..cf952932 100644 --- a/hosts/thalassa/aoife/hardware.nix +++ b/hosts/thalassa/aoife/hardware.nix @@ -15,8 +15,6 @@ enable = true; extraPackages = with pkgs; [ amdvlk - rocm-opencl-icd - rocm-opencl-runtime mesa.drivers ]; }; diff --git a/hosts/thalassa/aoife/uni.nix b/hosts/thalassa/aoife/uni.nix index a7d63877..1b8908e5 100644 --- a/hosts/thalassa/aoife/uni.nix +++ b/hosts/thalassa/aoife/uni.nix @@ -13,12 +13,9 @@ virtualisation = { podman.enable = true; - virtualbox.host = { - # enableKvm = true; - enable = true; - enableHardening = false; - enableExtensionPack = true; - }; + # virtualbox.host = { + # enable = true; + # }; docker = { enable = false; storageDriver = "btrfs"; From 17c199069cf3325f18195c480566a9fc408ec769 Mon Sep 17 00:00:00 2001 From: Vivian Date: Mon, 28 Oct 2024 12:28:59 +0100 Subject: [PATCH 49/88] updates --- flake.lock | 96 +++++++++++++++++++++++++++--------------------------- 1 file changed, 48 insertions(+), 48 deletions(-) diff --git a/flake.lock b/flake.lock index 26112147..3481f17a 100644 --- a/flake.lock +++ b/flake.lock @@ -57,11 +57,11 @@ }, "catppuccin": { "locked": { - "lastModified": 1728407414, - "narHash": "sha256-B8LaxUP93eh+it8RW1pGq4SsU2kj7f0ipzFuhBvpON8=", + "lastModified": 1730036420, + "narHash": "sha256-rv2bz7J6Wo7AenPiu4+ptCB1AFyaMcS77y89zbRAtI8=", "owner": "catppuccin", "repo": "nix", - "rev": "96cf8b4a05fb23a53c027621b1147b5cf9e5439f", + "rev": "0b7bf04628414a402d255924f65e9a0d1a53d92b", "type": "github" }, "original": { @@ -114,11 +114,11 @@ }, "crane_2": { "locked": { - "lastModified": 1728776144, - "narHash": "sha256-fROVjMcKRoGHofDm8dY3uDUtCMwUICh/KjBFQnuBzfg=", + "lastModified": 1729273024, + "narHash": "sha256-Mb5SemVsootkn4Q2IiY0rr9vrXdCCpQ9HnZeD/J3uXs=", "owner": "ipetkov", "repo": "crane", - "rev": "f876e3d905b922502f031aeec1a84490122254b7", + "rev": "fa8b7445ddadc37850ed222718ca86622be01967", "type": "github" }, "original": { @@ -623,11 +623,11 @@ ] }, "locked": { - "lastModified": 1729894599, - "narHash": "sha256-nL9nzNE5/re/P+zOv7NX6bRm5e+DeS1HIufQUJ01w20=", + "lastModified": 1730016908, + "narHash": "sha256-bFCxJco7d8IgmjfNExNz9knP8wvwbXU4s/d53KOK6U0=", "owner": "nix-community", "repo": "home-manager", - "rev": "93435d27d250fa986bfec6b2ff263161ff8288cb", + "rev": "e83414058edd339148dc142a8437edb9450574c8", "type": "github" }, "original": { @@ -644,11 +644,11 @@ ] }, "locked": { - "lastModified": 1729716953, - "narHash": "sha256-FbRKGRRd0amsk/WS/UV9ukJ8jT1dZ2pJBISxkX+uq6A=", + "lastModified": 1730016908, + "narHash": "sha256-bFCxJco7d8IgmjfNExNz9knP8wvwbXU4s/d53KOK6U0=", "owner": "nix-community", "repo": "home-manager", - "rev": "a4353cc43d1b4dd6bdeacea90eb92a8b7b78a9d7", + "rev": "e83414058edd339148dc142a8437edb9450574c8", "type": "github" }, "original": { @@ -697,11 +697,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1729064530, - "narHash": "sha256-oSr/w/5dvf/8ll6NvQlL7+rrK8wzjIcEMP1LvI4Ag08=", + "lastModified": 1730069741, + "narHash": "sha256-zYflM3Xul+UM54e6qAGsgSDtl6T7f25j9StVTmWfQQE=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "2fa1368f938b50e35ca87334b5aeba38a3402165", + "rev": "e3978795074b4acc4aceee115a9398ed7b94fb41", "type": "github" }, "original": { @@ -740,11 +740,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1729726792, - "narHash": "sha256-ndjFy5kfhn9MoOOSzGnZ7f2FwRUUY1EJYwXGxK8DzsQ=", + "lastModified": 1729979773, + "narHash": "sha256-FWW4FuCaXl5mCNv3DJmOuabXkQTsQZcww8C875HQ7s0=", "owner": "astro", "repo": "microvm.nix", - "rev": "ef42cfface9940b9ce9614307670b60cdbda33f6", + "rev": "7f30633d2739705dd0d6dabd95a92cdab6e19017", "type": "github" }, "original": { @@ -761,11 +761,11 @@ ] }, "locked": { - "lastModified": 1729757100, - "narHash": "sha256-x+8uGaX66V5+fUBHY23Q/OQyibQ38nISzxgj7A7Jqds=", + "lastModified": 1729982130, + "narHash": "sha256-HmLLQbX07rYD0RXPxbf3kJtUo66XvEIX9Y+N5QHQ9aY=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "04193f188e4144d7047f83ad1de81d6034d175cd", + "rev": "2eb472230a5400c81d9008014888b4bff23bcf44", "type": "github" }, "original": { @@ -812,11 +812,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1729742320, - "narHash": "sha256-u3Of8xRkN//me8PU+RucKA59/6RNy4B2jcGAF36P4jI=", + "lastModified": 1730068391, + "narHash": "sha256-jlAGtfMuI8pUUoUmNkm2P/38pOtHZdcAf3Az8XQLAf4=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "e8a2f6d5513fe7b7d15701b2d05404ffdc3b6dda", + "rev": "6906ac67a1078cf950b8527341e229eeecb5bc30", "type": "github" }, "original": { @@ -922,11 +922,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1729665710, - "narHash": "sha256-AlcmCXJZPIlO5dmFzV3V2XF6x/OpNWUV8Y/FMPGd8Z4=", + "lastModified": 1729880355, + "narHash": "sha256-RP+OQ6koQQLX5nw0NmcDrzvGL8HDLnyXt/jHhL1jwjM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2768c7d042a37de65bb1b5b3268fc987e534c49d", + "rev": "18536bf04cd71abd345f9579158841376fdd0c5a", "type": "github" }, "original": { @@ -937,11 +937,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1729665710, - "narHash": "sha256-AlcmCXJZPIlO5dmFzV3V2XF6x/OpNWUV8Y/FMPGd8Z4=", + "lastModified": 1729880355, + "narHash": "sha256-RP+OQ6koQQLX5nw0NmcDrzvGL8HDLnyXt/jHhL1jwjM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2768c7d042a37de65bb1b5b3268fc987e534c49d", + "rev": "18536bf04cd71abd345f9579158841376fdd0c5a", "type": "github" }, "original": { @@ -980,11 +980,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1729791159, - "narHash": "sha256-i5TKYCs9tJ2qaYTsjQh3WwExmj4O0EU+L1jq6ZBVMfM=", + "lastModified": 1730058276, + "narHash": "sha256-t4fyRWIiDBJiDBnqqnxnk9nfT1SDTZN+koJLiuKkIT8=", "owner": "pta2002", "repo": "nixvim", - "rev": "4726334e4413ff55f1db3768c8d08722abbf09cf", + "rev": "a20fbbc4b9665ec215e7bea061a1d64f6fd652ce", "type": "github" }, "original": { @@ -995,11 +995,11 @@ }, "nur": { "locked": { - "lastModified": 1729926824, - "narHash": "sha256-hyEQzQub0OzpfXdqFboHvwtl9Pl43x2fLE9SDCRYg5A=", + "lastModified": 1730093116, + "narHash": "sha256-r+1qvZ8VIgHHKo7Es02GX+2wwefPVlTO/YLgJDPdES4=", "owner": "nix-community", "repo": "NUR", - "rev": "bdf0b3886aed8a9f967c15d14ea9a878ea67b8af", + "rev": "02b5231a1393b4b307fa7d3b1df715c0ae7db206", "type": "github" }, "original": { @@ -1018,11 +1018,11 @@ ] }, "locked": { - "lastModified": 1729763753, - "narHash": "sha256-M8WAUgKFBU5TvFt92g/dHBtGJmBP33LHird+solHt0g=", + "lastModified": 1730044642, + "narHash": "sha256-DbyV9l3hkrSWcN34S6d9M4kAFss0gEHGtjqqMdG9eAs=", "owner": "NuschtOS", "repo": "search", - "rev": "bedc2f2ada220815a98a896e10f5e61bfc329bfc", + "rev": "e373332c1f8237fc1263901745b0fe747228c8ba", "type": "github" }, "original": { @@ -1045,11 +1045,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1728778939, - "narHash": "sha256-WybK5E3hpGxtCYtBwpRj1E9JoiVxe+8kX83snTNaFHE=", + "lastModified": 1729104314, + "narHash": "sha256-pZRZsq5oCdJt3upZIU4aslS9XwFJ+/nVtALHIciX/BI=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "ff68f91754be6f3427e4986d7949e6273659be1d", + "rev": "3c3e88f0f544d6bb54329832616af7eb971b6be6", "type": "github" }, "original": { @@ -1090,11 +1090,11 @@ ] }, "locked": { - "lastModified": 1728959392, - "narHash": "sha256-fp4he1QQjE+vasDMspZYeXrwTm9otwEqLwEN6FKZ5v0=", + "lastModified": 1729391507, + "narHash": "sha256-as0I9xieJUHf7kiK2a9znDsVZQTFWhM1pLivII43Gi0=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "4c6e317300f05b8871f585b826b6f583e7dc4a9b", + "rev": "784981a9feeba406de38c1c9a3decf966d853cca", "type": "github" }, "original": { @@ -1284,11 +1284,11 @@ ] }, "locked": { - "lastModified": 1729613947, - "narHash": "sha256-XGOvuIPW1XRfPgHtGYXd5MAmJzZtOuwlfKDgxX5KT3s=", + "lastModified": 1730025913, + "narHash": "sha256-Y9NtFmP8ciLyRsopcCx1tyoaaStKeq+EndwtGCgww7I=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "aac86347fb5063960eccb19493e0cadcdb4205ca", + "rev": "bae131e525cc8718da22fbeb8d8c7c43c4ea502a", "type": "github" }, "original": { From 084904a8bc08a0b485be70ea3d875e0ac90a0bc0 Mon Sep 17 00:00:00 2001 From: Vivian Date: Tue, 5 Nov 2024 10:17:35 +0100 Subject: [PATCH 50/88] updated --- flake.lock | 96 +++++++++++++++++++++++++++++++++--------------------- 1 file changed, 59 insertions(+), 37 deletions(-) diff --git a/flake.lock b/flake.lock index 3481f17a..66db8fc7 100644 --- a/flake.lock +++ b/flake.lock @@ -5,17 +5,18 @@ "crane": "crane", "flake-compat": "flake-compat", "flake-parts": "flake-parts", + "nix-github-actions": "nix-github-actions", "nixpkgs": [ "nixpkgs" ], "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1729116596, - "narHash": "sha256-NnLMLIXGZtAscUF4dCShksuQ1nOGF6Y2dEeyj0rBbUg=", + "lastModified": 1730257295, + "narHash": "sha256-OQl+aAsKiyygvpzck1u0sZf/R4T9zM903CgNDFmmzA8=", "owner": "zhaofengli", "repo": "attic", - "rev": "2b05b7d986cf6009b1c1ef7daa4961cd1a658782", + "rev": "48c8b395bfbc6b76c7eae74df6c74351255a095c", "type": "github" }, "original": { @@ -114,11 +115,11 @@ }, "crane_2": { "locked": { - "lastModified": 1729273024, - "narHash": "sha256-Mb5SemVsootkn4Q2IiY0rr9vrXdCCpQ9HnZeD/J3uXs=", + "lastModified": 1730060262, + "narHash": "sha256-RMgSVkZ9H03sxC+Vh4jxtLTCzSjPq18UWpiM0gq6shQ=", "owner": "ipetkov", "repo": "crane", - "rev": "fa8b7445ddadc37850ed222718ca86622be01967", + "rev": "498d9f122c413ee1154e8131ace5a35a80d8fa76", "type": "github" }, "original": { @@ -454,11 +455,11 @@ "systems": "systems_5" }, "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "lastModified": 1726560853, + "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", "type": "github" }, "original": { @@ -697,11 +698,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1730069741, - "narHash": "sha256-zYflM3Xul+UM54e6qAGsgSDtl6T7f25j9StVTmWfQQE=", + "lastModified": 1730107060, + "narHash": "sha256-EnVVq1oNcimZmQYl6UlLYs0jhC6aLah0bsFMy2syEak=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "e3978795074b4acc4aceee115a9398ed7b94fb41", + "rev": "0ad4ce46649b390da8bebcc229917f9863c98fe2", "type": "github" }, "original": { @@ -740,11 +741,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1729979773, - "narHash": "sha256-FWW4FuCaXl5mCNv3DJmOuabXkQTsQZcww8C875HQ7s0=", + "lastModified": 1730296510, + "narHash": "sha256-ZiQPP6LE+SLKbS0UYNeDax08whSXlhZeniDzzLQGVEw=", "owner": "astro", "repo": "microvm.nix", - "rev": "7f30633d2739705dd0d6dabd95a92cdab6e19017", + "rev": "6ff444ef6cfd5d2effb6c4f50da2ca6f20f2677f", "type": "github" }, "original": { @@ -774,6 +775,27 @@ "type": "github" } }, + "nix-github-actions": { + "inputs": { + "nixpkgs": [ + "attic", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1729742964, + "narHash": "sha256-B4mzTcQ0FZHdpeWcpDYPERtyjJd/NIuaQ9+BV1h+MpA=", + "owner": "nix-community", + "repo": "nix-github-actions", + "rev": "e04df33f62cdcf93d73e9a04142464753a16db67", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-github-actions", + "type": "github" + } + }, "nixlib": { "locked": { "lastModified": 1729386149, @@ -812,11 +834,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1730068391, - "narHash": "sha256-jlAGtfMuI8pUUoUmNkm2P/38pOtHZdcAf3Az8XQLAf4=", + "lastModified": 1730161780, + "narHash": "sha256-z5ILcmwMtiCoHTXS1KsQWqigO7HJO8sbyK7f7wn9F/E=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "6906ac67a1078cf950b8527341e229eeecb5bc30", + "rev": "07d15e8990d5d86a631641b4c429bc0a7400cfb8", "type": "github" }, "original": { @@ -906,11 +928,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1725432240, - "narHash": "sha256-+yj+xgsfZaErbfYM3T+QvEE2hU7UuE+Jf0fJCJ8uPS0=", + "lastModified": 1729665710, + "narHash": "sha256-AlcmCXJZPIlO5dmFzV3V2XF6x/OpNWUV8Y/FMPGd8Z4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ad416d066ca1222956472ab7d0555a6946746a80", + "rev": "2768c7d042a37de65bb1b5b3268fc987e534c49d", "type": "github" }, "original": { @@ -922,11 +944,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1729880355, - "narHash": "sha256-RP+OQ6koQQLX5nw0NmcDrzvGL8HDLnyXt/jHhL1jwjM=", + "lastModified": 1730200266, + "narHash": "sha256-l253w0XMT8nWHGXuXqyiIC/bMvh1VRszGXgdpQlfhvU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "18536bf04cd71abd345f9579158841376fdd0c5a", + "rev": "807e9154dcb16384b1b765ebe9cd2bba2ac287fd", "type": "github" }, "original": { @@ -980,11 +1002,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1730058276, - "narHash": "sha256-t4fyRWIiDBJiDBnqqnxnk9nfT1SDTZN+koJLiuKkIT8=", + "lastModified": 1730214386, + "narHash": "sha256-FNXiFunXR2DnNrjmA0ofLznTTHcEDJjNWvCQtQExtL0=", "owner": "pta2002", "repo": "nixvim", - "rev": "a20fbbc4b9665ec215e7bea061a1d64f6fd652ce", + "rev": "7d882356a486cf44b7fab842ac26885ecd985af3", "type": "github" }, "original": { @@ -995,11 +1017,11 @@ }, "nur": { "locked": { - "lastModified": 1730093116, - "narHash": "sha256-r+1qvZ8VIgHHKo7Es02GX+2wwefPVlTO/YLgJDPdES4=", + "lastModified": 1730360117, + "narHash": "sha256-6LgEhKh/1YZGoHZVkZwPzAMFUZ1BO5LnzqTeOklQzPg=", "owner": "nix-community", "repo": "NUR", - "rev": "02b5231a1393b4b307fa7d3b1df715c0ae7db206", + "rev": "7dbe1e914ba993f60a977159bd05788de65af9f4", "type": "github" }, "original": { @@ -1090,11 +1112,11 @@ ] }, "locked": { - "lastModified": 1729391507, - "narHash": "sha256-as0I9xieJUHf7kiK2a9znDsVZQTFWhM1pLivII43Gi0=", + "lastModified": 1729996302, + "narHash": "sha256-QEU1NQq1+7s1na69Chig9K0iDDTKN0O4Zreo9A9rccA=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "784981a9feeba406de38c1c9a3decf966d853cca", + "rev": "a1b337569f334ff0a01b57627f17b201d746d24c", "type": "github" }, "original": { @@ -1106,11 +1128,11 @@ "spectrum": { "flake": false, "locked": { - "lastModified": 1720264467, - "narHash": "sha256-xzM92n3Q9L90faJIJrkrTtTx+JqCGRHMkHWztkV4PuY=", + "lastModified": 1729945407, + "narHash": "sha256-iGNMamNOAnVTETnIVqDWd6fl74J8fLEi1ejdZiNjEtY=", "ref": "refs/heads/main", - "rev": "fb59d42542049f586c84b0f8bb86ff3be338e9d3", - "revCount": 674, + "rev": "f1d94ee7029af18637dbd5fdf4749621533693fa", + "revCount": 764, "type": "git", "url": "https://spectrum-os.org/git/spectrum" }, From 7e48aee857e6d134efb18e971239f0bb83ba4366 Mon Sep 17 00:00:00 2001 From: Vivian Date: Fri, 8 Nov 2024 12:59:41 +0100 Subject: [PATCH 51/88] install zed --- hosts/thalassa/aoife/home/default.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/hosts/thalassa/aoife/home/default.nix b/hosts/thalassa/aoife/home/default.nix index 075a744a..d4cecf54 100644 --- a/hosts/thalassa/aoife/home/default.nix +++ b/hosts/thalassa/aoife/home/default.nix @@ -21,9 +21,7 @@ eduvpn-client localsend typst - prismlauncher - libraw - libopenraw + zed-editor ]; From c253f696a97c8b618a8408a1ca6907d2fc3ab919 Mon Sep 17 00:00:00 2001 From: Vivian Date: Fri, 22 Nov 2024 11:11:28 +0100 Subject: [PATCH 52/88] small updates --- common/hm-modules/nvim/default.nix | 10 +- flake.lock | 228 +++++++++++++++----------- hosts/thalassa/aoife/home/default.nix | 3 +- hosts/thalassa/aoife/uni.nix | 17 +- 4 files changed, 160 insertions(+), 98 deletions(-) diff --git a/common/hm-modules/nvim/default.nix b/common/hm-modules/nvim/default.nix index 49950a22..99a23b4e 100644 --- a/common/hm-modules/nvim/default.nix +++ b/common/hm-modules/nvim/default.nix @@ -200,6 +200,9 @@ with lib; }; plugins = { + dap = { + enable = true; + }; image = { enable = true; }; @@ -276,6 +279,7 @@ with lib; treesitter = { enable = true; nixGrammars = true; + settings.highlight.enable = true; }; # surround.enable = true; fugitive.enable = true; @@ -330,9 +334,9 @@ with lib; }; servers = { cssls.enable = true; - nil-ls.enable = true; #NixOS + nil_ls.enable = true; #NixOS dockerls.enable = true; - rust-analyzer = { + rust_analyzer = { enable = true; installCargo = false; installRustc = false; @@ -353,7 +357,7 @@ with lib; elixirls.enable = true; clangd.enable = true; yamlls.enable = true; - lua-ls.enable = true; + lua_ls.enable = true; }; }; trouble.enable = true; diff --git a/flake.lock b/flake.lock index 3481f17a..62ed0c50 100644 --- a/flake.lock +++ b/flake.lock @@ -5,17 +5,18 @@ "crane": "crane", "flake-compat": "flake-compat", "flake-parts": "flake-parts", + "nix-github-actions": "nix-github-actions", "nixpkgs": [ "nixpkgs" ], "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1729116596, - "narHash": "sha256-NnLMLIXGZtAscUF4dCShksuQ1nOGF6Y2dEeyj0rBbUg=", + "lastModified": 1731270564, + "narHash": "sha256-6KMC/NH/VWP5Eb+hA56hz0urel3jP6Y6cF2PX6xaTkk=", "owner": "zhaofengli", "repo": "attic", - "rev": "2b05b7d986cf6009b1c1ef7daa4961cd1a658782", + "rev": "47752427561f1c34debb16728a210d378f0ece36", "type": "github" }, "original": { @@ -57,11 +58,11 @@ }, "catppuccin": { "locked": { - "lastModified": 1730036420, - "narHash": "sha256-rv2bz7J6Wo7AenPiu4+ptCB1AFyaMcS77y89zbRAtI8=", + "lastModified": 1731232837, + "narHash": "sha256-0aIwr/RC/oe7rYkfJb47xjdEQDSNcqpFGsEa+EPlDEs=", "owner": "catppuccin", "repo": "nix", - "rev": "0b7bf04628414a402d255924f65e9a0d1a53d92b", + "rev": "32359bf226fe874d3b7a0a5753d291a4da9616fe", "type": "github" }, "original": { @@ -74,15 +75,16 @@ "inputs": { "flake-compat": "flake-compat_2", "flake-utils": "flake-utils", + "nix-github-actions": "nix-github-actions_2", "nixpkgs": "nixpkgs", "stable": "stable" }, "locked": { - "lastModified": 1728263678, - "narHash": "sha256-gyUVsPAWY9AgVKjrNPoowrIr5BvK4gI0UkDXvv8iSxA=", + "lastModified": 1731527002, + "narHash": "sha256-dI9I6suECoIAmbS4xcrqF8r2pbmed8WWm5LIF1yWPw8=", "owner": "zhaofengli", "repo": "colmena", - "rev": "b0a62f234fae02a006123e661ff70e62af16106b", + "rev": "e3ad42138015fcdf2524518dd564a13145c72ea1", "type": "github" }, "original": { @@ -114,11 +116,11 @@ }, "crane_2": { "locked": { - "lastModified": 1729273024, - "narHash": "sha256-Mb5SemVsootkn4Q2IiY0rr9vrXdCCpQ9HnZeD/J3uXs=", + "lastModified": 1730652660, + "narHash": "sha256-+XVYfmVXAiYA0FZT7ijHf555dxCe+AoAT5A6RU+6vSo=", "owner": "ipetkov", "repo": "crane", - "rev": "fa8b7445ddadc37850ed222718ca86622be01967", + "rev": "a4ca93905455c07cb7e3aca95d4faf7601cba458", "type": "github" }, "original": { @@ -328,11 +330,11 @@ ] }, "locked": { - "lastModified": 1727826117, - "narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=", + "lastModified": 1730504689, + "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1", + "rev": "506278e768c2a08bec68eb62932193e341f55c90", "type": "github" }, "original": { @@ -349,11 +351,11 @@ ] }, "locked": { - "lastModified": 1727826117, - "narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=", + "lastModified": 1730504689, + "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1", + "rev": "506278e768c2a08bec68eb62932193e341f55c90", "type": "github" }, "original": { @@ -454,11 +456,11 @@ "systems": "systems_5" }, "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "lastModified": 1726560853, + "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", "type": "github" }, "original": { @@ -472,11 +474,11 @@ "systems": "systems_6" }, "locked": { - "lastModified": 1726560853, - "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -538,11 +540,11 @@ ] }, "locked": { - "lastModified": 1729104314, - "narHash": "sha256-pZRZsq5oCdJt3upZIU4aslS9XwFJ+/nVtALHIciX/BI=", + "lastModified": 1731363552, + "narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "3c3e88f0f544d6bb54329832616af7eb971b6be6", + "rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0", "type": "github" }, "original": { @@ -623,11 +625,11 @@ ] }, "locked": { - "lastModified": 1730016908, - "narHash": "sha256-bFCxJco7d8IgmjfNExNz9knP8wvwbXU4s/d53KOK6U0=", + "lastModified": 1731786860, + "narHash": "sha256-130gQ5k8kZlxjBEeLpE+SvWFgSOFgQFeZlqIik7KgtQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "e83414058edd339148dc142a8437edb9450574c8", + "rev": "1bd5616e33c0c54d7a5b37db94160635a9b27aeb", "type": "github" }, "original": { @@ -644,11 +646,11 @@ ] }, "locked": { - "lastModified": 1730016908, - "narHash": "sha256-bFCxJco7d8IgmjfNExNz9knP8wvwbXU4s/d53KOK6U0=", + "lastModified": 1731604581, + "narHash": "sha256-Qq2YZZaDTB3FZLWU/Hgh1uuWlUBl3cMLGB99bm7rFUM=", "owner": "nix-community", "repo": "home-manager", - "rev": "e83414058edd339148dc142a8437edb9450574c8", + "rev": "1d0862ee2d7c6f6cd720d6f32213fa425004be10", "type": "github" }, "original": { @@ -671,16 +673,16 @@ ] }, "locked": { - "lastModified": 1729544999, - "narHash": "sha256-YcyJLvTmN6uLEBGCvYoMLwsinblXMkoYkNLEO4WnKus=", + "lastModified": 1729958008, + "narHash": "sha256-EiOq8jF4Z/zQe0QYVc3+qSKxRK//CFHMB84aYrYGwEs=", "owner": "NuschtOS", "repo": "ixx", - "rev": "65c207c92befec93e22086da9456d3906a4e999c", + "rev": "9fd01aad037f345350eab2cd45e1946cc66da4eb", "type": "github" }, "original": { "owner": "NuschtOS", - "ref": "v0.0.5", + "ref": "v0.0.6", "repo": "ixx", "type": "github" } @@ -697,11 +699,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1730069741, - "narHash": "sha256-zYflM3Xul+UM54e6qAGsgSDtl6T7f25j9StVTmWfQQE=", + "lastModified": 1730739295, + "narHash": "sha256-aYeJ/P/9AuK6Kee63ZdsmDjEwhnksF+gIv/OyGtlBJE=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "e3978795074b4acc4aceee115a9398ed7b94fb41", + "rev": "cef39a78679c266300874e7a7000b4da066228d4", "type": "github" }, "original": { @@ -740,11 +742,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1729979773, - "narHash": "sha256-FWW4FuCaXl5mCNv3DJmOuabXkQTsQZcww8C875HQ7s0=", + "lastModified": 1731240174, + "narHash": "sha256-HYu+bPoV3UILhwc4Ar5iQ7aF+DuQWHXl4mljN6Bwq6A=", "owner": "astro", "repo": "microvm.nix", - "rev": "7f30633d2739705dd0d6dabd95a92cdab6e19017", + "rev": "dd89404e1885b8d7033106f3898eaef8db660cb2", "type": "github" }, "original": { @@ -761,11 +763,11 @@ ] }, "locked": { - "lastModified": 1729982130, - "narHash": "sha256-HmLLQbX07rYD0RXPxbf3kJtUo66XvEIX9Y+N5QHQ9aY=", + "lastModified": 1731642829, + "narHash": "sha256-vG+O2RZRzYZ8BUMNNJ+BLSj6PUoGW7taDQbp6QNJ3Xo=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "2eb472230a5400c81d9008014888b4bff23bcf44", + "rev": "f86f158efd4bab8dce3e207e4621f1df3a760b7a", "type": "github" }, "original": { @@ -774,13 +776,55 @@ "type": "github" } }, + "nix-github-actions": { + "inputs": { + "nixpkgs": [ + "attic", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1729742964, + "narHash": "sha256-B4mzTcQ0FZHdpeWcpDYPERtyjJd/NIuaQ9+BV1h+MpA=", + "owner": "nix-community", + "repo": "nix-github-actions", + "rev": "e04df33f62cdcf93d73e9a04142464753a16db67", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-github-actions", + "type": "github" + } + }, + "nix-github-actions_2": { + "inputs": { + "nixpkgs": [ + "colmena", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1729742964, + "narHash": "sha256-B4mzTcQ0FZHdpeWcpDYPERtyjJd/NIuaQ9+BV1h+MpA=", + "owner": "nix-community", + "repo": "nix-github-actions", + "rev": "e04df33f62cdcf93d73e9a04142464753a16db67", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-github-actions", + "type": "github" + } + }, "nixlib": { "locked": { - "lastModified": 1729386149, - "narHash": "sha256-hUP9oxmnOmNnKcDOf5Y55HQ+NnoT0+bLWHLQWLLw9Ks=", + "lastModified": 1731200463, + "narHash": "sha256-qDaAweJjdFbVExqs8aG27urUgcgKufkIngHW3Rzustg=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "cce4521b6df014e79a7b7afc58c703ed683c916e", + "rev": "e04234d263750db01c78a412690363dc2226e68a", "type": "github" }, "original": { @@ -797,11 +841,11 @@ ] }, "locked": { - "lastModified": 1729472750, - "narHash": "sha256-s93LPHi5BN7I2xSGNAFWiYb8WRsPvT1LE9ZjZBrpFlg=", + "lastModified": 1731546190, + "narHash": "sha256-kJix8nLyFIJ3EC7VtoXK/85C4ZN2dC5oWoS8+ErehqI=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "7c60ba4bc8d6aa2ba3e5b0f6ceb9fc07bc261565", + "rev": "06ffce1a8d95e95c06a4bcfa117dd960b14a7101", "type": "github" }, "original": { @@ -812,11 +856,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1730068391, - "narHash": "sha256-jlAGtfMuI8pUUoUmNkm2P/38pOtHZdcAf3Az8XQLAf4=", + "lastModified": 1731740897, + "narHash": "sha256-teFd31vsE/0Z0WR6XVeKhKPw6Eyb2gXGpG0tjpMfBDM=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "6906ac67a1078cf950b8527341e229eeecb5bc30", + "rev": "c2c275fbb2e656948ba6e1f67b8ddd430f158c5f", "type": "github" }, "original": { @@ -827,11 +871,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1725103162, - "narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=", + "lastModified": 1730785428, + "narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "12228ff1752d7b7624a54e9c1af4b222b3c1073b", + "rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7", "type": "github" }, "original": { @@ -906,11 +950,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1725432240, - "narHash": "sha256-+yj+xgsfZaErbfYM3T+QvEE2hU7UuE+Jf0fJCJ8uPS0=", + "lastModified": 1729665710, + "narHash": "sha256-AlcmCXJZPIlO5dmFzV3V2XF6x/OpNWUV8Y/FMPGd8Z4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ad416d066ca1222956472ab7d0555a6946746a80", + "rev": "2768c7d042a37de65bb1b5b3268fc987e534c49d", "type": "github" }, "original": { @@ -922,11 +966,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1729880355, - "narHash": "sha256-RP+OQ6koQQLX5nw0NmcDrzvGL8HDLnyXt/jHhL1jwjM=", + "lastModified": 1731676054, + "narHash": "sha256-OZiZ3m8SCMfh3B6bfGC/Bm4x3qc1m2SVEAlkV6iY7Yg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "18536bf04cd71abd345f9579158841376fdd0c5a", + "rev": "5e4fbfb6b3de1aa2872b76d49fafc942626e2add", "type": "github" }, "original": { @@ -937,11 +981,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1729880355, - "narHash": "sha256-RP+OQ6koQQLX5nw0NmcDrzvGL8HDLnyXt/jHhL1jwjM=", + "lastModified": 1731319897, + "narHash": "sha256-PbABj4tnbWFMfBp6OcUK5iGy1QY+/Z96ZcLpooIbuEI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "18536bf04cd71abd345f9579158841376fdd0c5a", + "rev": "dc460ec76cbff0e66e269457d7b728432263166c", "type": "github" }, "original": { @@ -980,11 +1024,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1730058276, - "narHash": "sha256-t4fyRWIiDBJiDBnqqnxnk9nfT1SDTZN+koJLiuKkIT8=", + "lastModified": 1731780782, + "narHash": "sha256-CG3rcxcZEViYEUTAXatqXrW0Gn9tQvydF+lLYH+0VPA=", "owner": "pta2002", "repo": "nixvim", - "rev": "a20fbbc4b9665ec215e7bea061a1d64f6fd652ce", + "rev": "9d99d7cfdbd7f94da9571a4d7bbb9de185241935", "type": "github" }, "original": { @@ -995,11 +1039,11 @@ }, "nur": { "locked": { - "lastModified": 1730093116, - "narHash": "sha256-r+1qvZ8VIgHHKo7Es02GX+2wwefPVlTO/YLgJDPdES4=", + "lastModified": 1731786300, + "narHash": "sha256-OaNsfIVKwkR+DVBDgfbCkKJbnnniMPTre3Joj/UbASI=", "owner": "nix-community", "repo": "NUR", - "rev": "02b5231a1393b4b307fa7d3b1df715c0ae7db206", + "rev": "d2fbc739c3ca6f05731c221495a57925a5bc6f2a", "type": "github" }, "original": { @@ -1018,11 +1062,11 @@ ] }, "locked": { - "lastModified": 1730044642, - "narHash": "sha256-DbyV9l3hkrSWcN34S6d9M4kAFss0gEHGtjqqMdG9eAs=", + "lastModified": 1731582522, + "narHash": "sha256-1w6aM4bG5cl2E4jHLPnMKkrUO4tY1jUX1NI6/RwJN7Y=", "owner": "NuschtOS", "repo": "search", - "rev": "e373332c1f8237fc1263901745b0fe747228c8ba", + "rev": "13300b2297c51368e0892c3ebe220f688014fe15", "type": "github" }, "original": { @@ -1045,11 +1089,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1729104314, - "narHash": "sha256-pZRZsq5oCdJt3upZIU4aslS9XwFJ+/nVtALHIciX/BI=", + "lastModified": 1730302582, + "narHash": "sha256-W1MIJpADXQCgosJZT8qBYLRuZls2KSiKdpnTVdKBuvU=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "3c3e88f0f544d6bb54329832616af7eb971b6be6", + "rev": "af8a16fe5c264f5e9e18bcee2859b40a656876cf", "type": "github" }, "original": { @@ -1090,11 +1134,11 @@ ] }, "locked": { - "lastModified": 1729391507, - "narHash": "sha256-as0I9xieJUHf7kiK2a9znDsVZQTFWhM1pLivII43Gi0=", + "lastModified": 1730601085, + "narHash": "sha256-Sgax33jGuvVHTjl1P78IwzlhAGyOxtx5Q26inKja8S4=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "784981a9feeba406de38c1c9a3decf966d853cca", + "rev": "8d1b40f8dfd7539aaa3de56e207e22b3cc451825", "type": "github" }, "original": { @@ -1106,11 +1150,11 @@ "spectrum": { "flake": false, "locked": { - "lastModified": 1720264467, - "narHash": "sha256-xzM92n3Q9L90faJIJrkrTtTx+JqCGRHMkHWztkV4PuY=", + "lastModified": 1729945407, + "narHash": "sha256-iGNMamNOAnVTETnIVqDWd6fl74J8fLEi1ejdZiNjEtY=", "ref": "refs/heads/main", - "rev": "fb59d42542049f586c84b0f8bb86ff3be338e9d3", - "revCount": 674, + "rev": "f1d94ee7029af18637dbd5fdf4749621533693fa", + "revCount": 764, "type": "git", "url": "https://spectrum-os.org/git/spectrum" }, @@ -1121,11 +1165,11 @@ }, "stable": { "locked": { - "lastModified": 1724316499, - "narHash": "sha256-Qb9MhKBUTCfWg/wqqaxt89Xfi6qTD3XpTzQ9eXi3JmE=", + "lastModified": 1730883749, + "narHash": "sha256-mwrFF0vElHJP8X3pFCByJR365Q2463ATp2qGIrDUdlE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "797f7dc49e0bc7fab4b57c021cdf68f595e47841", + "rev": "dba414932936fde69f0606b4f1d87c5bc0003ede", "type": "github" }, "original": { @@ -1284,11 +1328,11 @@ ] }, "locked": { - "lastModified": 1730025913, - "narHash": "sha256-Y9NtFmP8ciLyRsopcCx1tyoaaStKeq+EndwtGCgww7I=", + "lastModified": 1730321837, + "narHash": "sha256-vK+a09qq19QNu2MlLcvN4qcRctJbqWkX7ahgPZ/+maI=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "bae131e525cc8718da22fbeb8d8c7c43c4ea502a", + "rev": "746901bb8dba96d154b66492a29f5db0693dbfcc", "type": "github" }, "original": { diff --git a/hosts/thalassa/aoife/home/default.nix b/hosts/thalassa/aoife/home/default.nix index d4cecf54..8d11d428 100644 --- a/hosts/thalassa/aoife/home/default.nix +++ b/hosts/thalassa/aoife/home/default.nix @@ -17,7 +17,8 @@ home.packages = with pkgs; [ libreoffice-fresh jetbrains.rust-rover - jetbrains.idea-ultimate + jetbrains.clion + # jetbrains.idea-ultimate eduvpn-client localsend typst diff --git a/hosts/thalassa/aoife/uni.nix b/hosts/thalassa/aoife/uni.nix index 1b8908e5..882f47b0 100644 --- a/hosts/thalassa/aoife/uni.nix +++ b/hosts/thalassa/aoife/uni.nix @@ -2,15 +2,24 @@ # * Wireless IoT and Local Area Networks # * Network Security # * Smart Phone Sensing +# * PDP +# * RTS { pkgs, ... }: { environment.systemPackages = with pkgs; [ ]; + hardware.saleae-logic = { + enable = true; + package = pkgs.saleae-logic-2; + }; + programs.wireshark = { enable = true; package = pkgs.wireshark; }; + programs.mininet.enable = true; + virtualisation = { podman.enable = true; # virtualbox.host = { @@ -22,13 +31,15 @@ }; }; - + users.extraGroups.plugdev = { }; users.extraUsers.vivian.extraGroups = [ # "wireshark" # "docker" # "lxd" - "vboxusers" + # "vboxusers" + "plugdev" + "dialout" ]; programs.nix-ld = { @@ -41,6 +52,8 @@ # Vivado udev services.udev.packages = [ + pkgs.platformio-core + pkgs.openocd (pkgs.writeTextFile { name = "xilinx-dilligent-usb-udev"; destination = "/etc/udev/rules.d/52-xilinx-digilent-usb.rules"; From fa2c29d88e70c751a7317936a72ec2c33cc2da77 Mon Sep 17 00:00:00 2001 From: Vivian Date: Fri, 22 Nov 2024 11:13:10 +0100 Subject: [PATCH 53/88] update lock --- flake.lock | 188 ++++++++++++++++++++++++++++++----------------------- flake.nix | 2 +- 2 files changed, 106 insertions(+), 84 deletions(-) diff --git a/flake.lock b/flake.lock index 66db8fc7..7e25fe38 100644 --- a/flake.lock +++ b/flake.lock @@ -12,11 +12,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1730257295, - "narHash": "sha256-OQl+aAsKiyygvpzck1u0sZf/R4T9zM903CgNDFmmzA8=", + "lastModified": 1731270564, + "narHash": "sha256-6KMC/NH/VWP5Eb+hA56hz0urel3jP6Y6cF2PX6xaTkk=", "owner": "zhaofengli", "repo": "attic", - "rev": "48c8b395bfbc6b76c7eae74df6c74351255a095c", + "rev": "47752427561f1c34debb16728a210d378f0ece36", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "catppuccin": { "locked": { - "lastModified": 1730036420, - "narHash": "sha256-rv2bz7J6Wo7AenPiu4+ptCB1AFyaMcS77y89zbRAtI8=", + "lastModified": 1731232837, + "narHash": "sha256-0aIwr/RC/oe7rYkfJb47xjdEQDSNcqpFGsEa+EPlDEs=", "owner": "catppuccin", "repo": "nix", - "rev": "0b7bf04628414a402d255924f65e9a0d1a53d92b", + "rev": "32359bf226fe874d3b7a0a5753d291a4da9616fe", "type": "github" }, "original": { @@ -75,15 +75,16 @@ "inputs": { "flake-compat": "flake-compat_2", "flake-utils": "flake-utils", + "nix-github-actions": "nix-github-actions_2", "nixpkgs": "nixpkgs", "stable": "stable" }, "locked": { - "lastModified": 1728263678, - "narHash": "sha256-gyUVsPAWY9AgVKjrNPoowrIr5BvK4gI0UkDXvv8iSxA=", + "lastModified": 1731527002, + "narHash": "sha256-dI9I6suECoIAmbS4xcrqF8r2pbmed8WWm5LIF1yWPw8=", "owner": "zhaofengli", "repo": "colmena", - "rev": "b0a62f234fae02a006123e661ff70e62af16106b", + "rev": "e3ad42138015fcdf2524518dd564a13145c72ea1", "type": "github" }, "original": { @@ -115,11 +116,11 @@ }, "crane_2": { "locked": { - "lastModified": 1730060262, - "narHash": "sha256-RMgSVkZ9H03sxC+Vh4jxtLTCzSjPq18UWpiM0gq6shQ=", + "lastModified": 1730652660, + "narHash": "sha256-+XVYfmVXAiYA0FZT7ijHf555dxCe+AoAT5A6RU+6vSo=", "owner": "ipetkov", "repo": "crane", - "rev": "498d9f122c413ee1154e8131ace5a35a80d8fa76", + "rev": "a4ca93905455c07cb7e3aca95d4faf7601cba458", "type": "github" }, "original": { @@ -329,11 +330,11 @@ ] }, "locked": { - "lastModified": 1727826117, - "narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=", + "lastModified": 1730504689, + "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1", + "rev": "506278e768c2a08bec68eb62932193e341f55c90", "type": "github" }, "original": { @@ -350,11 +351,11 @@ ] }, "locked": { - "lastModified": 1727826117, - "narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=", + "lastModified": 1730504689, + "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1", + "rev": "506278e768c2a08bec68eb62932193e341f55c90", "type": "github" }, "original": { @@ -473,11 +474,11 @@ "systems": "systems_6" }, "locked": { - "lastModified": 1726560853, - "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -539,11 +540,11 @@ ] }, "locked": { - "lastModified": 1729104314, - "narHash": "sha256-pZRZsq5oCdJt3upZIU4aslS9XwFJ+/nVtALHIciX/BI=", + "lastModified": 1732021966, + "narHash": "sha256-mnTbjpdqF0luOkou8ZFi2asa1N3AA2CchR/RqCNmsGE=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "3c3e88f0f544d6bb54329832616af7eb971b6be6", + "rev": "3308484d1a443fc5bc92012435d79e80458fe43c", "type": "github" }, "original": { @@ -624,11 +625,11 @@ ] }, "locked": { - "lastModified": 1730016908, - "narHash": "sha256-bFCxJco7d8IgmjfNExNz9knP8wvwbXU4s/d53KOK6U0=", + "lastModified": 1732025103, + "narHash": "sha256-qjEI64RKvDxRyEarY0jTzrZMa8ebezh2DEZmJJrpVdo=", "owner": "nix-community", "repo": "home-manager", - "rev": "e83414058edd339148dc142a8437edb9450574c8", + "rev": "a46e702093a5c46e192243edbd977d5749e7f294", "type": "github" }, "original": { @@ -645,11 +646,11 @@ ] }, "locked": { - "lastModified": 1730016908, - "narHash": "sha256-bFCxJco7d8IgmjfNExNz9knP8wvwbXU4s/d53KOK6U0=", + "lastModified": 1732025103, + "narHash": "sha256-qjEI64RKvDxRyEarY0jTzrZMa8ebezh2DEZmJJrpVdo=", "owner": "nix-community", "repo": "home-manager", - "rev": "e83414058edd339148dc142a8437edb9450574c8", + "rev": "a46e702093a5c46e192243edbd977d5749e7f294", "type": "github" }, "original": { @@ -672,16 +673,16 @@ ] }, "locked": { - "lastModified": 1729544999, - "narHash": "sha256-YcyJLvTmN6uLEBGCvYoMLwsinblXMkoYkNLEO4WnKus=", + "lastModified": 1729958008, + "narHash": "sha256-EiOq8jF4Z/zQe0QYVc3+qSKxRK//CFHMB84aYrYGwEs=", "owner": "NuschtOS", "repo": "ixx", - "rev": "65c207c92befec93e22086da9456d3906a4e999c", + "rev": "9fd01aad037f345350eab2cd45e1946cc66da4eb", "type": "github" }, "original": { "owner": "NuschtOS", - "ref": "v0.0.5", + "ref": "v0.0.6", "repo": "ixx", "type": "github" } @@ -698,11 +699,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1730107060, - "narHash": "sha256-EnVVq1oNcimZmQYl6UlLYs0jhC6aLah0bsFMy2syEak=", + "lastModified": 1731941836, + "narHash": "sha256-zpmAzrvK8KdssBSwiIwwRxaUJ77oWORbW0XFvgCFpTE=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "0ad4ce46649b390da8bebcc229917f9863c98fe2", + "rev": "2f48272f34174fd2a5ab3df4d8a46919247be879", "type": "github" }, "original": { @@ -741,11 +742,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1730296510, - "narHash": "sha256-ZiQPP6LE+SLKbS0UYNeDax08whSXlhZeniDzzLQGVEw=", + "lastModified": 1732122592, + "narHash": "sha256-lF54irx92m8ddNDQDtOUjKsZAnsGyPL3QTO7byjlxNg=", "owner": "astro", "repo": "microvm.nix", - "rev": "6ff444ef6cfd5d2effb6c4f50da2ca6f20f2677f", + "rev": "19650774c23df84d0b8f315d2527274563497cad", "type": "github" }, "original": { @@ -762,11 +763,11 @@ ] }, "locked": { - "lastModified": 1729982130, - "narHash": "sha256-HmLLQbX07rYD0RXPxbf3kJtUo66XvEIX9Y+N5QHQ9aY=", + "lastModified": 1732016537, + "narHash": "sha256-XwXUK+meYnlhdQz2TVE4Wv+tsx1CkdGbDPt1tRzCNH4=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "2eb472230a5400c81d9008014888b4bff23bcf44", + "rev": "61cee20168a3ebb71a9efd70a55adebaadfbe4d4", "type": "github" }, "original": { @@ -796,13 +797,34 @@ "type": "github" } }, + "nix-github-actions_2": { + "inputs": { + "nixpkgs": [ + "colmena", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1729742964, + "narHash": "sha256-B4mzTcQ0FZHdpeWcpDYPERtyjJd/NIuaQ9+BV1h+MpA=", + "owner": "nix-community", + "repo": "nix-github-actions", + "rev": "e04df33f62cdcf93d73e9a04142464753a16db67", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-github-actions", + "type": "github" + } + }, "nixlib": { "locked": { - "lastModified": 1729386149, - "narHash": "sha256-hUP9oxmnOmNnKcDOf5Y55HQ+NnoT0+bLWHLQWLLw9Ks=", + "lastModified": 1731805462, + "narHash": "sha256-yhEMW4MBi+IAyEJyiKbnFvY1uARyMKJpLUhkczI49wk=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "cce4521b6df014e79a7b7afc58c703ed683c916e", + "rev": "b9f04e3cf71c23bea21d2768051e6b3068d44734", "type": "github" }, "original": { @@ -819,11 +841,11 @@ ] }, "locked": { - "lastModified": 1729472750, - "narHash": "sha256-s93LPHi5BN7I2xSGNAFWiYb8WRsPvT1LE9ZjZBrpFlg=", + "lastModified": 1732151224, + "narHash": "sha256-5IgpueM8SGLOadzUJK6Gk37zEBXGd56BkNOtoWmnZos=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "7c60ba4bc8d6aa2ba3e5b0f6ceb9fc07bc261565", + "rev": "3280fdde8c8f0276c9f5286ad5c0f433dfa5d56c", "type": "github" }, "original": { @@ -834,11 +856,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1730161780, - "narHash": "sha256-z5ILcmwMtiCoHTXS1KsQWqigO7HJO8sbyK7f7wn9F/E=", + "lastModified": 1731797098, + "narHash": "sha256-UhWmEZhwJZmVZ1jfHZFzCg+ZLO9Tb/v3Y6LC0UNyeTo=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "07d15e8990d5d86a631641b4c429bc0a7400cfb8", + "rev": "672ac2ac86f7dff2f6f3406405bddecf960e0db6", "type": "github" }, "original": { @@ -849,11 +871,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1725103162, - "narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=", + "lastModified": 1730785428, + "narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "12228ff1752d7b7624a54e9c1af4b222b3c1073b", + "rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7", "type": "github" }, "original": { @@ -944,26 +966,26 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1730200266, - "narHash": "sha256-l253w0XMT8nWHGXuXqyiIC/bMvh1VRszGXgdpQlfhvU=", + "lastModified": 1732267161, + "narHash": "sha256-6NjOM6IWdyqJLzrFxuajvf1DGDEr7ceFaeKZ081Ya3w=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "807e9154dcb16384b1b765ebe9cd2bba2ac287fd", + "rev": "a25e476c6a35d5fbc5c85754bba5eeba0ee3074e", "type": "github" }, "original": { "id": "nixpkgs", - "ref": "nixos-unstable", + "ref": "nixos-unstable-small", "type": "indirect" } }, "nixpkgs_5": { "locked": { - "lastModified": 1729880355, - "narHash": "sha256-RP+OQ6koQQLX5nw0NmcDrzvGL8HDLnyXt/jHhL1jwjM=", + "lastModified": 1732014248, + "narHash": "sha256-y/MEyuJ5oBWrWAic/14LaIr/u5E0wRVzyYsouYY3W6w=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "18536bf04cd71abd345f9579158841376fdd0c5a", + "rev": "23e89b7da85c3640bbc2173fe04f4bd114342367", "type": "github" }, "original": { @@ -1002,11 +1024,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1730214386, - "narHash": "sha256-FNXiFunXR2DnNrjmA0ofLznTTHcEDJjNWvCQtQExtL0=", + "lastModified": 1732143099, + "narHash": "sha256-lh2Qi8gd1SwJVGo7gJjoFvS/djS5Nimaw25j792PJjM=", "owner": "pta2002", "repo": "nixvim", - "rev": "7d882356a486cf44b7fab842ac26885ecd985af3", + "rev": "2f71c4250bef7a52fe21bd00d1e58c119f62008c", "type": "github" }, "original": { @@ -1017,11 +1039,11 @@ }, "nur": { "locked": { - "lastModified": 1730360117, - "narHash": "sha256-6LgEhKh/1YZGoHZVkZwPzAMFUZ1BO5LnzqTeOklQzPg=", + "lastModified": 1732265322, + "narHash": "sha256-tJCil9hkF20WOvaJPfFRYlGqDasj5xmG88yxkVvRxhw=", "owner": "nix-community", "repo": "NUR", - "rev": "7dbe1e914ba993f60a977159bd05788de65af9f4", + "rev": "7b8c700ea02f89344a6db506b91eaa64c39ee3f4", "type": "github" }, "original": { @@ -1040,11 +1062,11 @@ ] }, "locked": { - "lastModified": 1730044642, - "narHash": "sha256-DbyV9l3hkrSWcN34S6d9M4kAFss0gEHGtjqqMdG9eAs=", + "lastModified": 1731936508, + "narHash": "sha256-z0BSSf78LkxIrrFXZYmCoRRAxAmxMUKpK7CyxQRvkZI=", "owner": "NuschtOS", "repo": "search", - "rev": "e373332c1f8237fc1263901745b0fe747228c8ba", + "rev": "fe07070f811b717a4626d01fab714a87d422a9e1", "type": "github" }, "original": { @@ -1067,11 +1089,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1729104314, - "narHash": "sha256-pZRZsq5oCdJt3upZIU4aslS9XwFJ+/nVtALHIciX/BI=", + "lastModified": 1730302582, + "narHash": "sha256-W1MIJpADXQCgosJZT8qBYLRuZls2KSiKdpnTVdKBuvU=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "3c3e88f0f544d6bb54329832616af7eb971b6be6", + "rev": "af8a16fe5c264f5e9e18bcee2859b40a656876cf", "type": "github" }, "original": { @@ -1112,11 +1134,11 @@ ] }, "locked": { - "lastModified": 1729996302, - "narHash": "sha256-QEU1NQq1+7s1na69Chig9K0iDDTKN0O4Zreo9A9rccA=", + "lastModified": 1730601085, + "narHash": "sha256-Sgax33jGuvVHTjl1P78IwzlhAGyOxtx5Q26inKja8S4=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "a1b337569f334ff0a01b57627f17b201d746d24c", + "rev": "8d1b40f8dfd7539aaa3de56e207e22b3cc451825", "type": "github" }, "original": { @@ -1143,11 +1165,11 @@ }, "stable": { "locked": { - "lastModified": 1724316499, - "narHash": "sha256-Qb9MhKBUTCfWg/wqqaxt89Xfi6qTD3XpTzQ9eXi3JmE=", + "lastModified": 1730883749, + "narHash": "sha256-mwrFF0vElHJP8X3pFCByJR365Q2463ATp2qGIrDUdlE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "797f7dc49e0bc7fab4b57c021cdf68f595e47841", + "rev": "dba414932936fde69f0606b4f1d87c5bc0003ede", "type": "github" }, "original": { @@ -1306,11 +1328,11 @@ ] }, "locked": { - "lastModified": 1730025913, - "narHash": "sha256-Y9NtFmP8ciLyRsopcCx1tyoaaStKeq+EndwtGCgww7I=", + "lastModified": 1732111664, + "narHash": "sha256-XWHuPWcP59QnHEewdZJXBX1TA2lAP78Vz4daG6tfIr4=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "bae131e525cc8718da22fbeb8d8c7c43c4ea502a", + "rev": "62003fdad7a5ab7b6af3ea9bd7290e4c220277d0", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index aa50e451..1489a7d0 100644 --- a/flake.nix +++ b/flake.nix @@ -5,7 +5,7 @@ # * https://github.com/Infinidoge/nix-minecraft inputs = { - nixpkgs.url = "nixpkgs/nixos-unstable"; + nixpkgs.url = "nixpkgs/nixos-unstable-small"; flake-utils-plus.url = "github:gytis-ivaskevicius/flake-utils-plus"; nur.url = "github:nix-community/NUR"; colmena.url = "github:zhaofengli/colmena"; From 45a989280bd8adca71731decae1c5052fd15958a Mon Sep 17 00:00:00 2001 From: Vivian Date: Fri, 22 Nov 2024 13:15:49 +0100 Subject: [PATCH 54/88] temp disable displaylink & libreoffice due to build failures --- common/desktop/home.nix | 2 +- flake.lock | 8 ++++---- flake.nix | 2 +- hosts/thalassa/aoife/hardware.nix | 2 +- hosts/thalassa/aoife/home/default.nix | 1 - 5 files changed, 7 insertions(+), 8 deletions(-) diff --git a/common/desktop/home.nix b/common/desktop/home.nix index d861a208..82bd3f4c 100644 --- a/common/desktop/home.nix +++ b/common/desktop/home.nix @@ -40,7 +40,7 @@ in discord jetbrains.rust-rover kdenlive - libreoffice-fresh + # libreoffice mattermost-desktop neofetch nixpkgs-review diff --git a/flake.lock b/flake.lock index 7e25fe38..83c34dea 100644 --- a/flake.lock +++ b/flake.lock @@ -966,16 +966,16 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1732267161, - "narHash": "sha256-6NjOM6IWdyqJLzrFxuajvf1DGDEr7ceFaeKZ081Ya3w=", + "lastModified": 1732014248, + "narHash": "sha256-y/MEyuJ5oBWrWAic/14LaIr/u5E0wRVzyYsouYY3W6w=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a25e476c6a35d5fbc5c85754bba5eeba0ee3074e", + "rev": "23e89b7da85c3640bbc2173fe04f4bd114342367", "type": "github" }, "original": { "id": "nixpkgs", - "ref": "nixos-unstable-small", + "ref": "nixos-unstable", "type": "indirect" } }, diff --git a/flake.nix b/flake.nix index 1489a7d0..aa50e451 100644 --- a/flake.nix +++ b/flake.nix @@ -5,7 +5,7 @@ # * https://github.com/Infinidoge/nix-minecraft inputs = { - nixpkgs.url = "nixpkgs/nixos-unstable-small"; + nixpkgs.url = "nixpkgs/nixos-unstable"; flake-utils-plus.url = "github:gytis-ivaskevicius/flake-utils-plus"; nur.url = "github:nix-community/NUR"; colmena.url = "github:zhaofengli/colmena"; diff --git a/hosts/thalassa/aoife/hardware.nix b/hosts/thalassa/aoife/hardware.nix index cf952932..adca3b8c 100644 --- a/hosts/thalassa/aoife/hardware.nix +++ b/hosts/thalassa/aoife/hardware.nix @@ -37,7 +37,7 @@ # Video Driver xserver = { - videoDrivers = [ "displaylink" ]; + # videoDrivers = [ "displaylink" ]; dpi = 280; }; diff --git a/hosts/thalassa/aoife/home/default.nix b/hosts/thalassa/aoife/home/default.nix index 8d11d428..bfbe13a8 100644 --- a/hosts/thalassa/aoife/home/default.nix +++ b/hosts/thalassa/aoife/home/default.nix @@ -15,7 +15,6 @@ ''; home.packages = with pkgs; [ - libreoffice-fresh jetbrains.rust-rover jetbrains.clion # jetbrains.idea-ultimate From 6aa17892b1b6736f8d3e39ad1f5b5bd84affaa6f Mon Sep 17 00:00:00 2001 From: Vivian Date: Sun, 24 Nov 2024 10:38:14 +0100 Subject: [PATCH 55/88] updates --- common/desktop/home.nix | 8 ------ flake.lock | 44 ++++++++++++++++---------------- flake.nix | 2 +- hosts/thalassa/aoife/default.nix | 3 +++ 4 files changed, 26 insertions(+), 31 deletions(-) diff --git a/common/desktop/home.nix b/common/desktop/home.nix index 82bd3f4c..ea027e22 100644 --- a/common/desktop/home.nix +++ b/common/desktop/home.nix @@ -45,8 +45,6 @@ in neofetch nixpkgs-review obsidian - plex-media-player - plexamp spotify qmk solo2-cli @@ -102,12 +100,6 @@ in }; }; - thunderbird = { - enable = true; - profiles.default = { - isDefault = true; - }; - }; kitty = { enable = true; shellIntegration.enableZshIntegration = true; diff --git a/flake.lock b/flake.lock index 83c34dea..a3531691 100644 --- a/flake.lock +++ b/flake.lock @@ -625,11 +625,11 @@ ] }, "locked": { - "lastModified": 1732025103, - "narHash": "sha256-qjEI64RKvDxRyEarY0jTzrZMa8ebezh2DEZmJJrpVdo=", + "lastModified": 1732420764, + "narHash": "sha256-u6JOOVlnGe8fMekW0BgaHuuZwbJp4ixQaMA5BEvRoDA=", "owner": "nix-community", "repo": "home-manager", - "rev": "a46e702093a5c46e192243edbd977d5749e7f294", + "rev": "67cd4814a247fd0fe97171acb90659f7e304bcb8", "type": "github" }, "original": { @@ -646,11 +646,11 @@ ] }, "locked": { - "lastModified": 1732025103, - "narHash": "sha256-qjEI64RKvDxRyEarY0jTzrZMa8ebezh2DEZmJJrpVdo=", + "lastModified": 1732303962, + "narHash": "sha256-5Umjb5AdtxV5jSJd5jxoCckh5mlg+FBQDsyAilu637g=", "owner": "nix-community", "repo": "home-manager", - "rev": "a46e702093a5c46e192243edbd977d5749e7f294", + "rev": "8cf9cb2ee78aa129e5b8220135a511a2be254c0c", "type": "github" }, "original": { @@ -763,11 +763,11 @@ ] }, "locked": { - "lastModified": 1732016537, - "narHash": "sha256-XwXUK+meYnlhdQz2TVE4Wv+tsx1CkdGbDPt1tRzCNH4=", + "lastModified": 1732324260, + "narHash": "sha256-0xzQvoId/P008QkTSAdFVv465P9rL9nYkIOWXL5pdsY=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "61cee20168a3ebb71a9efd70a55adebaadfbe4d4", + "rev": "698a62c628c2ec423aa770d8ec0e1d0bcf4fca1a", "type": "github" }, "original": { @@ -966,16 +966,16 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1732014248, - "narHash": "sha256-y/MEyuJ5oBWrWAic/14LaIr/u5E0wRVzyYsouYY3W6w=", + "lastModified": 1731755305, + "narHash": "sha256-v5P3dk5JdiT+4x69ZaB18B8+Rcu3TIOrcdG4uEX7WZ8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "23e89b7da85c3640bbc2173fe04f4bd114342367", + "rev": "057f63b6dc1a2c67301286152eb5af20747a9cb4", "type": "github" }, "original": { "id": "nixpkgs", - "ref": "nixos-unstable", + "ref": "nixos-24.11", "type": "indirect" } }, @@ -1024,11 +1024,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1732143099, - "narHash": "sha256-lh2Qi8gd1SwJVGo7gJjoFvS/djS5Nimaw25j792PJjM=", + "lastModified": 1732365274, + "narHash": "sha256-78n1Z3+i686w1FHCWEiEimxvwJF/sgtG7Px0RyI9bLE=", "owner": "pta2002", "repo": "nixvim", - "rev": "2f71c4250bef7a52fe21bd00d1e58c119f62008c", + "rev": "85759f2360faa0464da008b040217183d99fd9d9", "type": "github" }, "original": { @@ -1039,11 +1039,11 @@ }, "nur": { "locked": { - "lastModified": 1732265322, - "narHash": "sha256-tJCil9hkF20WOvaJPfFRYlGqDasj5xmG88yxkVvRxhw=", + "lastModified": 1732438268, + "narHash": "sha256-5bhAbn8h2jv3HzlyaZ6nSypOlBLkfbbjXVsYueGSmvE=", "owner": "nix-community", "repo": "NUR", - "rev": "7b8c700ea02f89344a6db506b91eaa64c39ee3f4", + "rev": "5347bd2ceaa9e1698d6efc2cf0fdcc0b1fb16213", "type": "github" }, "original": { @@ -1328,11 +1328,11 @@ ] }, "locked": { - "lastModified": 1732111664, - "narHash": "sha256-XWHuPWcP59QnHEewdZJXBX1TA2lAP78Vz4daG6tfIr4=", + "lastModified": 1732292307, + "narHash": "sha256-5WSng844vXt8uytT5djmqBCkopyle6ciFgteuA9bJpw=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "62003fdad7a5ab7b6af3ea9bd7290e4c220277d0", + "rev": "705df92694af7093dfbb27109ce16d828a79155f", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index aa50e451..f724c972 100644 --- a/flake.nix +++ b/flake.nix @@ -5,7 +5,7 @@ # * https://github.com/Infinidoge/nix-minecraft inputs = { - nixpkgs.url = "nixpkgs/nixos-unstable"; + nixpkgs.url = "nixpkgs/nixos-24.11"; flake-utils-plus.url = "github:gytis-ivaskevicius/flake-utils-plus"; nur.url = "github:nix-community/NUR"; colmena.url = "github:zhaofengli/colmena"; diff --git a/hosts/thalassa/aoife/default.nix b/hosts/thalassa/aoife/default.nix index 44da8c3b..4dff1b23 100644 --- a/hosts/thalassa/aoife/default.nix +++ b/hosts/thalassa/aoife/default.nix @@ -16,6 +16,9 @@ ./uni.nix ]; + # services.power-profiles-daemon.enable = lib.mkForce false; + # services.tlp.enable = true; + meta = { mac = "04:7b:cb:b6:2d:88"; isLaptop = true; From 359c8534f9e62d0fed1edfea7df5d59d815137fd Mon Sep 17 00:00:00 2001 From: Vivian Date: Fri, 29 Nov 2024 20:52:57 +0100 Subject: [PATCH 56/88] update aoife --- common/hm-modules/catppuccin/default.nix | 2 +- common/hm-modules/nvim/default.nix | 519 +++++++---------------- common/hm-modules/nvim/keybinds.nix | 146 +++++++ common/hm-modules/nvim/lsp.nix | 76 ++++ flake.lock | 80 ++-- flake.nix | 2 +- 6 files changed, 418 insertions(+), 407 deletions(-) create mode 100644 common/hm-modules/nvim/keybinds.nix create mode 100644 common/hm-modules/nvim/lsp.nix diff --git a/common/hm-modules/catppuccin/default.nix b/common/hm-modules/catppuccin/default.nix index c1f1bcdd..a17b7433 100644 --- a/common/hm-modules/catppuccin/default.nix +++ b/common/hm-modules/catppuccin/default.nix @@ -38,7 +38,7 @@ in }; programs.kitty = { - theme = "Catppuccin-Frappe"; + themeFile = "Catppuccin-Frappe"; font.name = "DejaVuSansMono Nerd Font"; }; diff --git a/common/hm-modules/nvim/default.nix b/common/hm-modules/nvim/default.nix index 99a23b4e..09a9ddc6 100644 --- a/common/hm-modules/nvim/default.nix +++ b/common/hm-modules/nvim/default.nix @@ -6,15 +6,6 @@ }: let cfg = config.programs.v.nvim; - nvim-nio = pkgs.vimUtils.buildVimPlugin { - name = "nvim-nio"; - src = pkgs.fetchFromGitHub { - owner = "nvim-neotest"; - repo = "nvim-nio"; - rev = "refs/tags/v1.8.0"; - sha256 = "sha256-RFmH+683vrg4BELwtAQqjV8oGkvRgzcd6kd5r1s3Jp8="; - }; - }; in with lib; { @@ -24,384 +15,182 @@ with lib; config = mkIf cfg.enable { home.packages = with pkgs; [ fd ]; home.file.".config/nvim/lua".source = ./lua; - programs.nixvim = {helpers, ...}: { - enable = true; - package = pkgs.neovim-unwrapped; - vimAlias = true; - luaLoader.enable = true; - - globals.mapleader = " "; - - opts = { - number = true; - conceallevel = 2; - expandtab = true; - tabstop = 2; - - shiftwidth = 2; - smartindent = true; - }; - - clipboard.providers.wl-copy.enable = true; - - keymaps = with helpers; [ - # General - { - mode = "n"; - key = ""; - action = ":noh"; - } - # Telescope - { - mode = "n"; - key = "ff"; - action = ":Telescope find_files"; - } - { - mode = "n"; - key = "fs"; - action = ":Telescope file_browser"; - } - { - mode = "n"; - key = "fg"; - action = mkRaw "require('telescope.builtin').live_grep"; - } - { - mode = "n"; - key = "fb"; - action = ":Telescope buffers"; - } - { - mode = "n"; - key = "fo"; - action = ":Telescope oldfiles"; - } - { - mode = "n"; - key = "fr"; - action = ":Telescope frecency"; - } - { - mode = "n"; - key = "ob"; - action = mkRaw "require('obsidian_picker').obsidian_picker"; - } - # Commenting - { - mode = "n"; - key = ""; - action = mkRaw "require('Comment.api').toggle.linewise.current"; - } - { - mode = "x"; - key = ""; - action = mkRaw '' - function() - local esc = vim.api.nvim_replace_termcodes( - '', true, false, true - ) - vim.api.nvim_feedkeys(esc, 'nx', false) - require('Comment.api').toggle.linewise(vim.fn.visualmode()) - end - ''; - } - # Float Term - { - mode = "n"; - key = "t"; - action = ":FloatermToggle myfloat"; - } - { - mode = "t"; - key = ""; - action = mkRaw "function() vim.cmd(':FloatermToggle myfloat') end"; - } - # Switch buffers - { - mode = "n"; - key = "q"; - action = ":bd"; # Delete buffer - } - { - mode = "n"; - key = "s"; - action = ":bn"; # Buffer next - } - { - mode = "n"; - key = "a"; - action = ":bp"; # Buffer previous - } - # Change Indenting - { - mode = "n"; - key = ""; - action = "<<_"; - } - { - mode = "n"; - key = ""; - action = ">>_"; - } - { - mode = "v"; - key = ""; - action = ">gv"; - } - { - mode = "v"; - key = ""; - action = "j" = "goto_next"; - "k" = "goto_prev"; - }; + treesitter = { + enable = true; + nixGrammars = true; + settings.highlight.enable = true; }; - servers = { - cssls.enable = true; - nil_ls.enable = true; #NixOS - dockerls.enable = true; - rust_analyzer = { + + fugitive.enable = true; + committia.enable = true; + + lualine = { + enable = true; + settings.options.theme = "catppuccin"; + }; + + telescope = { + enable = true; + settings.defaults.preview.ls_short = true; + extensions.file-browser = { enable = true; - installCargo = false; - installRustc = false; - }; - pyright.enable = true; - pylsp = { - enable = true; - settings.plugins = { - black = { - enabled = true; - cache_config = true; - }; - pycodestyle = { - maxLineLength = 100; - }; + settings = { + hijack_netrw = true; + dir_icon = ""; }; }; - elixirls.enable = true; - clangd.enable = true; - yamlls.enable = true; - lua_ls.enable = true; + extensions.fzf-native.enable = true; + extensions.fzf-native.settings.fuzzy = true; + extensions.frecency.enable = true; }; - }; - trouble.enable = true; - lspkind.enable = true; - lspsaga = { - enable = true; - lightbulb.enable = false; - }; - nvim-lightbulb = { - enable = true; - settings = { - autocmd.enabled = true; - number.enabled = true; - }; - }; - vimtex.enable = true; - floaterm.enable = true; - cmp = { - enable = true; - autoEnableSources = true; - settings = { - cmdline.":".sources = [ { name = "path"; } ]; - snippet.expand = "function(args) require('luasnip').lsp_expand(args.body) end"; - mapping = { - "" = "cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})"; - "" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})"; - "" = "cmp.mapping.confirm({ select = true })"; - "" = "cmp.mapping.complete()"; - "" = "cmp.mapping.close()"; + comment.enable = true; + vimtex.enable = true; + floaterm.enable = true; + cmp = { + enable = true; + autoEnableSources = true; + settings = { + cmdline.":".sources = [ { name = "path"; } ]; + snippet.expand = "function(args) require('luasnip').lsp_expand(args.body) end"; + mapping = { + "" = "cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})"; + "" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})"; + "" = "cmp.mapping.confirm({ select = true })"; + "" = "cmp.mapping.complete()"; + "" = "cmp.mapping.close()"; + }; + sources = [ + { name = "nvim_lsp_signature_help"; } + { name = "path"; } + { name = "nvim_lsp"; } + { name = "luasnip"; } + { + name = "buffer"; + # Words from other open buffers can also be suggested. + option.get_bufnrs.__raw = "vim.api.nvim_list_bufs"; + } + ]; }; - sources = [ - { name = "nvim_lsp_signature_help"; } - { name = "path"; } - { name = "nvim_lsp"; } - { name = "luasnip"; } - { - name = "buffer"; - # Words from other open buffers can also be suggested. - option.get_bufnrs.__raw = "vim.api.nvim_list_bufs"; - } - ]; }; }; }; - }; }; } diff --git a/common/hm-modules/nvim/keybinds.nix b/common/hm-modules/nvim/keybinds.nix new file mode 100644 index 00000000..a4df557d --- /dev/null +++ b/common/hm-modules/nvim/keybinds.nix @@ -0,0 +1,146 @@ +{ helpers, ... }: +{ + keymaps = with helpers; [ + # General + { + mode = "n"; + key = ""; + action = ":noh"; + } + # Telescope + { + mode = "n"; + key = "ff"; + action = ":Telescope find_files"; + } + { + mode = "n"; + key = "fs"; + action = ":Telescope file_browser"; + } + { + mode = "n"; + key = "fg"; + action = mkRaw "require('telescope.builtin').live_grep"; + } + { + mode = "n"; + key = "fb"; + action = ":Telescope buffers"; + } + { + mode = "n"; + key = "fo"; + action = ":Telescope oldfiles"; + } + { + mode = "n"; + key = "fr"; + action = ":Telescope frecency"; + } + { + mode = "n"; + key = "ob"; + action = mkRaw "require('obsidian_picker').obsidian_picker"; + } + # Commenting + { + mode = "n"; + key = ""; + action = mkRaw "require('Comment.api').toggle.linewise.current"; + } + { + mode = "x"; + key = ""; + action = mkRaw '' + function() + local esc = vim.api.nvim_replace_termcodes( + '', true, false, true + ) + vim.api.nvim_feedkeys(esc, 'nx', false) + require('Comment.api').toggle.linewise(vim.fn.visualmode()) + end + ''; + } + # Float Term + { + mode = "n"; + key = "t"; + action = ":FloatermToggle myfloat"; + } + { + mode = "t"; + key = ""; + action = mkRaw "function() vim.cmd(':FloatermToggle myfloat') end"; + } + # Switch buffers + { + mode = "n"; + key = "q"; + action = ":bd"; # Delete buffer + } + { + mode = "n"; + key = "s"; + action = ":bn"; # Buffer next + } + { + mode = "n"; + key = "a"; + action = ":bp"; # Buffer previous + } + # Change Indenting + { + mode = "i"; + key = ""; + action = "<<"; + } + { + mode = "n"; + key = ""; + action = "<<_"; + } + { + mode = "n"; + key = ""; + action = ">>_"; + } + { + mode = "v"; + key = ""; + action = ">gv"; + } + { + mode = "v"; + key = ""; + action = "rn" = "rename"; + "g=" = "format"; + }; + diagnostic = { + "j" = "goto_next"; + "k" = "goto_prev"; + }; + }; + servers = { + cssls.enable = true; + nil_ls.enable = true; # NixOS + dockerls.enable = true; + rust_analyzer = { + enable = true; + installCargo = false; + installRustc = false; + }; + pyright.enable = true; + pylsp = { + enable = true; + settings.plugins = { + black = { + enabled = true; + cache_config = true; + }; + pycodestyle = { + maxLineLength = 100; + }; + }; + }; + elixirls.enable = true; + clangd.enable = true; + yamlls.enable = true; + lua_ls.enable = true; + }; + }; + + trouble.enable = true; + lspkind.enable = true; + lspsaga = { + enable = true; + lightbulb.enable = false; + }; + nvim-lightbulb = { + enable = true; + settings = { + autocmd.enabled = true; + number.enabled = true; + }; + }; + + none-ls = { + enable = true; + sources = { + formatting = { + nixfmt = { + enable = true; + package = pkgs.nixfmt-rfc-style; + }; + }; + }; + }; + }; +} diff --git a/flake.lock b/flake.lock index a3531691..ff51efed 100644 --- a/flake.lock +++ b/flake.lock @@ -58,11 +58,11 @@ }, "catppuccin": { "locked": { - "lastModified": 1731232837, - "narHash": "sha256-0aIwr/RC/oe7rYkfJb47xjdEQDSNcqpFGsEa+EPlDEs=", + "lastModified": 1732838231, + "narHash": "sha256-KJTRqfEcGpONBK/6BkMdWmbGth0r/nYWY3k/rvZl4es=", "owner": "catppuccin", "repo": "nix", - "rev": "32359bf226fe874d3b7a0a5753d291a4da9616fe", + "rev": "becc64812c8d6af24dedc2f75c5c63ebf778a115", "type": "github" }, "original": { @@ -625,11 +625,11 @@ ] }, "locked": { - "lastModified": 1732420764, - "narHash": "sha256-u6JOOVlnGe8fMekW0BgaHuuZwbJp4ixQaMA5BEvRoDA=", + "lastModified": 1732884235, + "narHash": "sha256-r8j6R3nrvwbT1aUp4EPQ1KC7gm0pu9VcV1aNaB+XG6Q=", "owner": "nix-community", "repo": "home-manager", - "rev": "67cd4814a247fd0fe97171acb90659f7e304bcb8", + "rev": "819f682269f4e002884702b87e445c82840c68f2", "type": "github" }, "original": { @@ -646,11 +646,11 @@ ] }, "locked": { - "lastModified": 1732303962, - "narHash": "sha256-5Umjb5AdtxV5jSJd5jxoCckh5mlg+FBQDsyAilu637g=", + "lastModified": 1732482255, + "narHash": "sha256-GUffLwzawz5WRVfWaWCg78n/HrBJrOG7QadFY6rtV8A=", "owner": "nix-community", "repo": "home-manager", - "rev": "8cf9cb2ee78aa129e5b8220135a511a2be254c0c", + "rev": "a9953635d7f34e7358d5189751110f87e3ac17da", "type": "github" }, "original": { @@ -742,11 +742,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1732122592, - "narHash": "sha256-lF54irx92m8ddNDQDtOUjKsZAnsGyPL3QTO7byjlxNg=", + "lastModified": 1732633513, + "narHash": "sha256-6LmtOmeDpv9iHS8l0GNcppP11dKIJFMZLdFyxQ+qQBM=", "owner": "astro", "repo": "microvm.nix", - "rev": "19650774c23df84d0b8f315d2527274563497cad", + "rev": "093ef734d3c37669860043a87dbf1c09fc6f5b38", "type": "github" }, "original": { @@ -763,11 +763,11 @@ ] }, "locked": { - "lastModified": 1732324260, - "narHash": "sha256-0xzQvoId/P008QkTSAdFVv465P9rL9nYkIOWXL5pdsY=", + "lastModified": 1732603785, + "narHash": "sha256-AEjWTJwOmSnVYsSJCojKgoguGfFfwel6z/6ud6UFMU8=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "698a62c628c2ec423aa770d8ec0e1d0bcf4fca1a", + "rev": "6ab87b7c84d4ee873e937108c4ff80c015a40c7a", "type": "github" }, "original": { @@ -820,11 +820,11 @@ }, "nixlib": { "locked": { - "lastModified": 1731805462, - "narHash": "sha256-yhEMW4MBi+IAyEJyiKbnFvY1uARyMKJpLUhkczI49wk=", + "lastModified": 1732410305, + "narHash": "sha256-/hxIKRTBsdrnudJWDGaBN8wIjHovqVAVxXdi8ByVtck=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "b9f04e3cf71c23bea21d2768051e6b3068d44734", + "rev": "87b6978992e2eb605732fba842cad0a7e14b2047", "type": "github" }, "original": { @@ -841,11 +841,11 @@ ] }, "locked": { - "lastModified": 1732151224, - "narHash": "sha256-5IgpueM8SGLOadzUJK6Gk37zEBXGd56BkNOtoWmnZos=", + "lastModified": 1732496924, + "narHash": "sha256-/MNhZLR0eh9z/d3l+ammq+F5XxHln0RHgO4Bhtjr0IM=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "3280fdde8c8f0276c9f5286ad5c0f433dfa5d56c", + "rev": "098e8b6ff72c86944a8d54b64ddd7b7e6635830a", "type": "github" }, "original": { @@ -856,11 +856,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1731797098, - "narHash": "sha256-UhWmEZhwJZmVZ1jfHZFzCg+ZLO9Tb/v3Y6LC0UNyeTo=", + "lastModified": 1732483221, + "narHash": "sha256-kF6rDeCshoCgmQz+7uiuPdREVFuzhIorGOoPXMalL2U=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "672ac2ac86f7dff2f6f3406405bddecf960e0db6", + "rev": "45348ad6fb8ac0e8415f6e5e96efe47dd7f39405", "type": "github" }, "original": { @@ -966,26 +966,26 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1731755305, - "narHash": "sha256-v5P3dk5JdiT+4x69ZaB18B8+Rcu3TIOrcdG4uEX7WZ8=", + "lastModified": 1732521221, + "narHash": "sha256-2ThgXBUXAE1oFsVATK1ZX9IjPcS4nKFOAjhPNKuiMn0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "057f63b6dc1a2c67301286152eb5af20747a9cb4", + "rev": "4633a7c72337ea8fd23a4f2ba3972865e3ec685d", "type": "github" }, "original": { "id": "nixpkgs", - "ref": "nixos-24.11", + "ref": "nixos-unstable", "type": "indirect" } }, "nixpkgs_5": { "locked": { - "lastModified": 1732014248, - "narHash": "sha256-y/MEyuJ5oBWrWAic/14LaIr/u5E0wRVzyYsouYY3W6w=", + "lastModified": 1732521221, + "narHash": "sha256-2ThgXBUXAE1oFsVATK1ZX9IjPcS4nKFOAjhPNKuiMn0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "23e89b7da85c3640bbc2173fe04f4bd114342367", + "rev": "4633a7c72337ea8fd23a4f2ba3972865e3ec685d", "type": "github" }, "original": { @@ -1024,11 +1024,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1732365274, - "narHash": "sha256-78n1Z3+i686w1FHCWEiEimxvwJF/sgtG7Px0RyI9bLE=", + "lastModified": 1732838896, + "narHash": "sha256-9YfEyCU2wB/aSbtpZ+OHb++xS2Km970Ja33H13oEaWM=", "owner": "pta2002", "repo": "nixvim", - "rev": "85759f2360faa0464da008b040217183d99fd9d9", + "rev": "05331006a42846d6e55129b642485f45f90c9efc", "type": "github" }, "original": { @@ -1039,11 +1039,11 @@ }, "nur": { "locked": { - "lastModified": 1732438268, - "narHash": "sha256-5bhAbn8h2jv3HzlyaZ6nSypOlBLkfbbjXVsYueGSmvE=", + "lastModified": 1732877422, + "narHash": "sha256-ZDOlikQLTOnKek5J2bHItv0tWS6c1kdcLzVMseGd2rI=", "owner": "nix-community", "repo": "NUR", - "rev": "5347bd2ceaa9e1698d6efc2cf0fdcc0b1fb16213", + "rev": "c5bfbd142cb0d4aee8e8222934cf4c305548d4ac", "type": "github" }, "original": { @@ -1328,11 +1328,11 @@ ] }, "locked": { - "lastModified": 1732292307, - "narHash": "sha256-5WSng844vXt8uytT5djmqBCkopyle6ciFgteuA9bJpw=", + "lastModified": 1732643199, + "narHash": "sha256-uI7TXEb231o8dkwB5AUCecx3AQtosRmL6hKgnckvjps=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "705df92694af7093dfbb27109ce16d828a79155f", + "rev": "84637a7ab04179bdc42aa8fd0af1909fba76ad0c", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index f724c972..aa50e451 100644 --- a/flake.nix +++ b/flake.nix @@ -5,7 +5,7 @@ # * https://github.com/Infinidoge/nix-minecraft inputs = { - nixpkgs.url = "nixpkgs/nixos-24.11"; + nixpkgs.url = "nixpkgs/nixos-unstable"; flake-utils-plus.url = "github:gytis-ivaskevicius/flake-utils-plus"; nur.url = "github:nix-community/NUR"; colmena.url = "github:zhaofengli/colmena"; From cc0c0c653887fdc598f09a23c2d0640b655ef1eb Mon Sep 17 00:00:00 2001 From: Vivian Date: Sat, 30 Nov 2024 15:53:25 +0100 Subject: [PATCH 57/88] fix nvidia --- hosts/olympus/eevee/hardware.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hosts/olympus/eevee/hardware.nix b/hosts/olympus/eevee/hardware.nix index a7947306..ed9d42bb 100644 --- a/hosts/olympus/eevee/hardware.nix +++ b/hosts/olympus/eevee/hardware.nix @@ -1,9 +1,9 @@ -{ pkgs, ... }: +{ config, pkgs, ... }: { hardware = { enableAllFirmware = true; nvidia = { - # package = config.boot.kernelPackages.nvidiaPackages.stable; + package = config.boot.kernelPackages.nvidiaPackages.beta; # Open drivers cause gdm to crash open = false; From 1e633dd97d5337be069e661e473bd41acd5ed53d Mon Sep 17 00:00:00 2001 From: Vivian Date: Wed, 4 Dec 2024 15:13:10 +0100 Subject: [PATCH 58/88] update --- common/desktop/default.nix | 16 ++--- common/hm-modules/nvim/default.nix | 8 ++- common/hm-modules/nvim/lsp.nix | 28 ++++++++- flake.lock | 86 +++++++++++++------------- flake.nix | 2 +- hosts/thalassa/aoife/default.nix | 14 ++--- hosts/thalassa/aoife/hardware.nix | 8 ++- hosts/thalassa/aoife/home/hyprland.nix | 10 +-- 8 files changed, 105 insertions(+), 67 deletions(-) diff --git a/common/desktop/default.nix b/common/desktop/default.nix index 69b654b6..415aee01 100644 --- a/common/desktop/default.nix +++ b/common/desktop/default.nix @@ -93,19 +93,19 @@ fonts.packages = with pkgs; [ material-design-icons + noto-fonts noto-fonts-cjk-sans noto-fonts-emoji + dejavu_fonts - (nerdfonts.override { - fonts = [ - "DejaVuSansMono" - "Ubuntu" - "DroidSansMono" - "NerdFontsSymbolsOnly" - ]; - }) + + nerd-fonts.dejavu-sans-mono + nerd-fonts.ubuntu + nerd-fonts.droid-sans-mono + nerd-fonts.symbols-only ]; + programs = { steam = { enable = true; diff --git a/common/hm-modules/nvim/default.nix b/common/hm-modules/nvim/default.nix index 09a9ddc6..4c0fd35a 100644 --- a/common/hm-modules/nvim/default.nix +++ b/common/hm-modules/nvim/default.nix @@ -136,11 +136,17 @@ with lib; treesitter = { enable = true; nixGrammars = true; - settings.highlight.enable = true; + settings = { + highlight.enable = true; + incremental_selection.enable = true; + indent.enable = true; + }; }; + # Git fugitive.enable = true; committia.enable = true; + gitsigns.enable = true; lualine = { enable = true; diff --git a/common/hm-modules/nvim/lsp.nix b/common/hm-modules/nvim/lsp.nix index 06d53fe9..7465dbc9 100644 --- a/common/hm-modules/nvim/lsp.nix +++ b/common/hm-modules/nvim/lsp.nix @@ -1,8 +1,34 @@ { pkgs, ... }: { plugins = { + rustaceanvim = { + enable = true; + rustAnalyzerPackage = pkgs.rust-analyzer; + + settings = { + auto_attach = true; + server = { + standalone = false; + default_settings = { + rust-analyzer = { + inlayHints = { + lifetimeElisionHints = { + enable = "always"; + }; + }; + check = { + command = "clippy"; + }; + cachePriming.enable = false; + }; + }; + }; + }; + }; + lsp = { enable = true; + inlayHints = true; keymaps = { lspBuf = { K = "hover"; @@ -23,7 +49,7 @@ nil_ls.enable = true; # NixOS dockerls.enable = true; rust_analyzer = { - enable = true; + enable = false; installCargo = false; installRustc = false; }; diff --git a/flake.lock b/flake.lock index ff51efed..b81022cb 100644 --- a/flake.lock +++ b/flake.lock @@ -58,11 +58,11 @@ }, "catppuccin": { "locked": { - "lastModified": 1732838231, - "narHash": "sha256-KJTRqfEcGpONBK/6BkMdWmbGth0r/nYWY3k/rvZl4es=", + "lastModified": 1733001911, + "narHash": "sha256-uX/9m0TbdhEzuWA0muM5mI/AaWcLiDLjCCyu5Qr9MRk=", "owner": "catppuccin", "repo": "nix", - "rev": "becc64812c8d6af24dedc2f75c5c63ebf778a115", + "rev": "a817009ebfd2cca7f70a77884e5098d0a8c83f8e", "type": "github" }, "original": { @@ -625,11 +625,11 @@ ] }, "locked": { - "lastModified": 1732884235, - "narHash": "sha256-r8j6R3nrvwbT1aUp4EPQ1KC7gm0pu9VcV1aNaB+XG6Q=", + "lastModified": 1733304249, + "narHash": "sha256-o6wNhr1ONxMuBJUGC9v0hEjFdv5rN6XzHJEL/rQJLjA=", "owner": "nix-community", "repo": "home-manager", - "rev": "819f682269f4e002884702b87e445c82840c68f2", + "rev": "6c3a7a0b72c19ec994b85c57a1712d177bd809b2", "type": "github" }, "original": { @@ -646,11 +646,11 @@ ] }, "locked": { - "lastModified": 1732482255, - "narHash": "sha256-GUffLwzawz5WRVfWaWCg78n/HrBJrOG7QadFY6rtV8A=", + "lastModified": 1733175814, + "narHash": "sha256-zFOtOaqjzZfPMsm1mwu98syv3y+jziAq5DfWygaMtLg=", "owner": "nix-community", "repo": "home-manager", - "rev": "a9953635d7f34e7358d5189751110f87e3ac17da", + "rev": "bf23fe41082aa0289c209169302afd3397092f22", "type": "github" }, "original": { @@ -742,11 +742,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1732633513, - "narHash": "sha256-6LmtOmeDpv9iHS8l0GNcppP11dKIJFMZLdFyxQ+qQBM=", + "lastModified": 1733284567, + "narHash": "sha256-zxBh56jKE6AXhiUoktY6cOHPUTyqXWbI/Pyh5sSC5B4=", "owner": "astro", "repo": "microvm.nix", - "rev": "093ef734d3c37669860043a87dbf1c09fc6f5b38", + "rev": "0ab757d2d3e3214b0034b00f9cc3dcdba0b8c563", "type": "github" }, "original": { @@ -763,11 +763,11 @@ ] }, "locked": { - "lastModified": 1732603785, - "narHash": "sha256-AEjWTJwOmSnVYsSJCojKgoguGfFfwel6z/6ud6UFMU8=", + "lastModified": 1733105089, + "narHash": "sha256-Qs3YmoLYUJ8g4RkFj2rMrzrP91e4ShAioC9s+vG6ENM=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "6ab87b7c84d4ee873e937108c4ff80c015a40c7a", + "rev": "c6b65d946097baf3915dd51373251de98199280d", "type": "github" }, "original": { @@ -820,11 +820,11 @@ }, "nixlib": { "locked": { - "lastModified": 1732410305, - "narHash": "sha256-/hxIKRTBsdrnudJWDGaBN8wIjHovqVAVxXdi8ByVtck=", + "lastModified": 1733015484, + "narHash": "sha256-qiyO0GrTvbp869U4VGX5GhAZ00fSiPXszvosY1AgKQ8=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "87b6978992e2eb605732fba842cad0a7e14b2047", + "rev": "0e4fdd4a0ab733276b6d2274ff84ae353f17129e", "type": "github" }, "original": { @@ -841,11 +841,11 @@ ] }, "locked": { - "lastModified": 1732496924, - "narHash": "sha256-/MNhZLR0eh9z/d3l+ammq+F5XxHln0RHgO4Bhtjr0IM=", + "lastModified": 1733101779, + "narHash": "sha256-Qqnfnb/RFxBbD25UYJ/yibvl9kIZNK5WkyLsUcb2byk=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "098e8b6ff72c86944a8d54b64ddd7b7e6635830a", + "rev": "a471acc460d4c238936a5116c8cc48a3c431dd66", "type": "github" }, "original": { @@ -856,11 +856,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1732483221, - "narHash": "sha256-kF6rDeCshoCgmQz+7uiuPdREVFuzhIorGOoPXMalL2U=", + "lastModified": 1733217105, + "narHash": "sha256-fc6jTzIwCIVWTX50FtW6AZpuukuQWSEbPiyg6ZRGWFY=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "45348ad6fb8ac0e8415f6e5e96efe47dd7f39405", + "rev": "cceee0a31d2f01bcc98b2fbd591327c06a4ea4f9", "type": "github" }, "original": { @@ -966,26 +966,26 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1732521221, - "narHash": "sha256-2ThgXBUXAE1oFsVATK1ZX9IjPcS4nKFOAjhPNKuiMn0=", + "lastModified": 1733249193, + "narHash": "sha256-TuGHC498nz3/3Momv5wKLGMHYAgX6S18JLQjdEeJiuE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4633a7c72337ea8fd23a4f2ba3972865e3ec685d", + "rev": "206cc199fcc174e297d6114b3d3b18443902df3d", "type": "github" }, "original": { "id": "nixpkgs", - "ref": "nixos-unstable", + "ref": "nixos-unstable-small", "type": "indirect" } }, "nixpkgs_5": { "locked": { - "lastModified": 1732521221, - "narHash": "sha256-2ThgXBUXAE1oFsVATK1ZX9IjPcS4nKFOAjhPNKuiMn0=", + "lastModified": 1733015953, + "narHash": "sha256-t4BBVpwG9B4hLgc6GUBuj3cjU7lP/PJfpTHuSqE+crk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4633a7c72337ea8fd23a4f2ba3972865e3ec685d", + "rev": "ac35b104800bff9028425fec3b6e8a41de2bbfff", "type": "github" }, "original": { @@ -1024,11 +1024,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1732838896, - "narHash": "sha256-9YfEyCU2wB/aSbtpZ+OHb++xS2Km970Ja33H13oEaWM=", + "lastModified": 1733220378, + "narHash": "sha256-tWCskBne7LigfeXRWnUFJKKTLOYmmdqiwdqom2Sml1s=", "owner": "pta2002", "repo": "nixvim", - "rev": "05331006a42846d6e55129b642485f45f90c9efc", + "rev": "78bfbf7b7eb7a1b6cf42e199547de55a55ba2cea", "type": "github" }, "original": { @@ -1039,11 +1039,11 @@ }, "nur": { "locked": { - "lastModified": 1732877422, - "narHash": "sha256-ZDOlikQLTOnKek5J2bHItv0tWS6c1kdcLzVMseGd2rI=", + "lastModified": 1733306116, + "narHash": "sha256-ZlbxSsBfrwQKfne/HIKjDaaIbpjqri9Ch5v3YubyHks=", "owner": "nix-community", "repo": "NUR", - "rev": "c5bfbd142cb0d4aee8e8222934cf4c305548d4ac", + "rev": "d07fbb0bcbdc0a0969373a8679d24aa565805a35", "type": "github" }, "original": { @@ -1062,11 +1062,11 @@ ] }, "locked": { - "lastModified": 1731936508, - "narHash": "sha256-z0BSSf78LkxIrrFXZYmCoRRAxAmxMUKpK7CyxQRvkZI=", + "lastModified": 1733006402, + "narHash": "sha256-BC1CecAQISV5Q4LZK72Gx0+faemOwaChiD9rMVfDPoA=", "owner": "NuschtOS", "repo": "search", - "rev": "fe07070f811b717a4626d01fab714a87d422a9e1", + "rev": "16307548b7a1247291c84ae6a12c0aacb07dfba2", "type": "github" }, "original": { @@ -1328,11 +1328,11 @@ ] }, "locked": { - "lastModified": 1732643199, - "narHash": "sha256-uI7TXEb231o8dkwB5AUCecx3AQtosRmL6hKgnckvjps=", + "lastModified": 1732894027, + "narHash": "sha256-2qbdorpq0TXHBWbVXaTqKoikN4bqAtAplTwGuII+oAc=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "84637a7ab04179bdc42aa8fd0af1909fba76ad0c", + "rev": "6209c381904cab55796c5d7350e89681d3b2a8ef", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index aa50e451..1489a7d0 100644 --- a/flake.nix +++ b/flake.nix @@ -5,7 +5,7 @@ # * https://github.com/Infinidoge/nix-minecraft inputs = { - nixpkgs.url = "nixpkgs/nixos-unstable"; + nixpkgs.url = "nixpkgs/nixos-unstable-small"; flake-utils-plus.url = "github:gytis-ivaskevicius/flake-utils-plus"; nur.url = "github:nix-community/NUR"; colmena.url = "github:zhaofengli/colmena"; diff --git a/hosts/thalassa/aoife/default.nix b/hosts/thalassa/aoife/default.nix index 4dff1b23..020936ff 100644 --- a/hosts/thalassa/aoife/default.nix +++ b/hosts/thalassa/aoife/default.nix @@ -6,6 +6,7 @@ inputs, lib, pkgs, + modulesPath, ... }: { @@ -16,9 +17,6 @@ ./uni.nix ]; - # services.power-profiles-daemon.enable = lib.mkForce false; - # services.tlp.enable = true; - meta = { mac = "04:7b:cb:b6:2d:88"; isLaptop = true; @@ -26,14 +24,15 @@ users.users.vivian.extraGroups = [ "adbusers" ]; - environment.systemPackages = with pkgs; [ - - ]; - services.flatpak.enable = true; # Bootloader. boot = { + kernelParams = [ + "amdgpu.sg_display=0" # did not fix the flickering + "amdgpu.ppfeaturemask=0xffffffff" # did not fix flicker + "amdgpu.graphics_sg=0" + ]; bootspec.enable = true; initrd.kernelModules = [ "amdgpu" ]; resumeDevice = "/dev/nvme0n1p2"; @@ -54,7 +53,6 @@ programs.nix-ld.enable = true; programs.nix-ld.libraries = with pkgs; [ - # Add any missing dynamic libraries for unpackaged programs # here, NOT in environment.systemPackages diff --git a/hosts/thalassa/aoife/hardware.nix b/hosts/thalassa/aoife/hardware.nix index adca3b8c..787a3995 100644 --- a/hosts/thalassa/aoife/hardware.nix +++ b/hosts/thalassa/aoife/hardware.nix @@ -14,10 +14,16 @@ graphics = { enable = true; extraPackages = with pkgs; [ - amdvlk mesa.drivers ]; }; + + amdgpu = { + initrd.enable = true; + opencl.enable = true; + amdvlk.enable = true; + + }; }; services = { fwupd.enable = true; diff --git a/hosts/thalassa/aoife/home/hyprland.nix b/hosts/thalassa/aoife/home/hyprland.nix index b9a77d7c..f8242144 100644 --- a/hosts/thalassa/aoife/home/hyprland.nix +++ b/hosts/thalassa/aoife/home/hyprland.nix @@ -196,10 +196,12 @@ in passes = 1; }; - drop_shadow = "yes"; - shadow_range = 4; - shadow_render_power = 3; - "col.shadow" = "rgba(1a1a1aee)"; + shadow = { + enabled = true; + color = "rgba(1a1a1aee)"; + range = 4; + render_power = 3; + }; }; animations = { enabled = "yes"; From 52f607e2f41abf02f6adc09ecc8631ae6d96bfe6 Mon Sep 17 00:00:00 2001 From: Vivian Date: Sat, 7 Dec 2024 11:13:24 +0100 Subject: [PATCH 59/88] updated --- flake.lock | 62 +++++++++++++++++++++++++++--------------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/flake.lock b/flake.lock index b81022cb..74332b17 100644 --- a/flake.lock +++ b/flake.lock @@ -456,11 +456,11 @@ "systems": "systems_5" }, "locked": { - "lastModified": 1726560853, - "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -625,11 +625,11 @@ ] }, "locked": { - "lastModified": 1733304249, - "narHash": "sha256-o6wNhr1ONxMuBJUGC9v0hEjFdv5rN6XzHJEL/rQJLjA=", + "lastModified": 1733484277, + "narHash": "sha256-i5ay20XsvpW91N4URET/nOc0VQWOAd4c4vbqYtcH8Rc=", "owner": "nix-community", "repo": "home-manager", - "rev": "6c3a7a0b72c19ec994b85c57a1712d177bd809b2", + "rev": "d00c6f6d0ad16d598bf7e2956f52c1d9d5de3c3a", "type": "github" }, "original": { @@ -742,11 +742,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1733284567, - "narHash": "sha256-zxBh56jKE6AXhiUoktY6cOHPUTyqXWbI/Pyh5sSC5B4=", + "lastModified": 1733426532, + "narHash": "sha256-k1g5MbTrURnYeb2XPwz3uLLKZJon7khTig2KvGv5pgs=", "owner": "astro", "repo": "microvm.nix", - "rev": "0ab757d2d3e3214b0034b00f9cc3dcdba0b8c563", + "rev": "5f0ab7953380a565c4e02083669bc529036970c7", "type": "github" }, "original": { @@ -841,11 +841,11 @@ ] }, "locked": { - "lastModified": 1733101779, - "narHash": "sha256-Qqnfnb/RFxBbD25UYJ/yibvl9kIZNK5WkyLsUcb2byk=", + "lastModified": 1733360821, + "narHash": "sha256-bNXO+OGxrOjAxv/Lnyj84tNDicJ/FdLyLJHzOKSzYU8=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "a471acc460d4c238936a5116c8cc48a3c431dd66", + "rev": "8cdaf8885c9c85d9d27b594dbe882406aadfe00e", "type": "github" }, "original": { @@ -856,11 +856,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1733217105, - "narHash": "sha256-fc6jTzIwCIVWTX50FtW6AZpuukuQWSEbPiyg6ZRGWFY=", + "lastModified": 1733481457, + "narHash": "sha256-IS3bxa4N1VMSh3/P6vhEAHQZecQ3oAlKCDvzCQSO5Is=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "cceee0a31d2f01bcc98b2fbd591327c06a4ea4f9", + "rev": "e563803af3526852b6b1d77107a81908c66a9fcf", "type": "github" }, "original": { @@ -950,11 +950,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1729665710, - "narHash": "sha256-AlcmCXJZPIlO5dmFzV3V2XF6x/OpNWUV8Y/FMPGd8Z4=", + "lastModified": 1733212471, + "narHash": "sha256-M1+uCoV5igihRfcUKrr1riygbe73/dzNnzPsmaLCmpo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2768c7d042a37de65bb1b5b3268fc987e534c49d", + "rev": "55d15ad12a74eb7d4646254e13638ad0c4128776", "type": "github" }, "original": { @@ -966,11 +966,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1733249193, - "narHash": "sha256-TuGHC498nz3/3Momv5wKLGMHYAgX6S18JLQjdEeJiuE=", + "lastModified": 1733470866, + "narHash": "sha256-OSIG4k3SttKzxPodsHUxEEWB0mNSe0/UFKiDm9UDvUU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "206cc199fcc174e297d6114b3d3b18443902df3d", + "rev": "c77dab3ae5c71a5eaef539968ebfb13dce79b0ea", "type": "github" }, "original": { @@ -1024,11 +1024,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1733220378, - "narHash": "sha256-tWCskBne7LigfeXRWnUFJKKTLOYmmdqiwdqom2Sml1s=", + "lastModified": 1733431684, + "narHash": "sha256-Tbdi0SEOuxABTDp0sCI7wdTnmpcnQOPzPo4jSWP0u+8=", "owner": "pta2002", "repo": "nixvim", - "rev": "78bfbf7b7eb7a1b6cf42e199547de55a55ba2cea", + "rev": "6348336db0e0b17ab6d9c73bc8206db84ebf00d1", "type": "github" }, "original": { @@ -1039,11 +1039,11 @@ }, "nur": { "locked": { - "lastModified": 1733306116, - "narHash": "sha256-ZlbxSsBfrwQKfne/HIKjDaaIbpjqri9Ch5v3YubyHks=", + "lastModified": 1733489150, + "narHash": "sha256-UV5FFpMiysQo8XubvKQ8oc5dJ05FvkKQlnL40I/uXXk=", "owner": "nix-community", "repo": "NUR", - "rev": "d07fbb0bcbdc0a0969373a8679d24aa565805a35", + "rev": "63f82f9d803cb12e044a2ab8a520ba33b44c3c47", "type": "github" }, "original": { @@ -1150,11 +1150,11 @@ "spectrum": { "flake": false, "locked": { - "lastModified": 1729945407, - "narHash": "sha256-iGNMamNOAnVTETnIVqDWd6fl74J8fLEi1ejdZiNjEtY=", + "lastModified": 1733308308, + "narHash": "sha256-+RcbMAjSxV1wW5UpS9abIG1lFZC8bITPiFIKNnE7RLs=", "ref": "refs/heads/main", - "rev": "f1d94ee7029af18637dbd5fdf4749621533693fa", - "revCount": 764, + "rev": "80c9e9830d460c944c8f730065f18bb733bc7ee2", + "revCount": 792, "type": "git", "url": "https://spectrum-os.org/git/spectrum" }, From bff04dd94819c69d139ccb81e102d6b34400f179 Mon Sep 17 00:00:00 2001 From: Vivian Date: Tue, 10 Dec 2024 09:04:19 +0100 Subject: [PATCH 60/88] flake update --- flake.lock | 149 +++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 106 insertions(+), 43 deletions(-) diff --git a/flake.lock b/flake.lock index 74332b17..2e671689 100644 --- a/flake.lock +++ b/flake.lock @@ -351,11 +351,32 @@ ] }, "locked": { - "lastModified": 1730504689, - "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=", + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "506278e768c2a08bec68eb62932193e341f55c90", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_4": { + "inputs": { + "nixpkgs-lib": [ + "nur", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", "type": "github" }, "original": { @@ -540,11 +561,11 @@ ] }, "locked": { - "lastModified": 1732021966, - "narHash": "sha256-mnTbjpdqF0luOkou8ZFi2asa1N3AA2CchR/RqCNmsGE=", + "lastModified": 1733318908, + "narHash": "sha256-SVQVsbafSM1dJ4fpgyBqLZ+Lft+jcQuMtEL3lQWx2Sk=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "3308484d1a443fc5bc92012435d79e80458fe43c", + "rev": "6f4e2a2112050951a314d2733a994fbab94864c6", "type": "github" }, "original": { @@ -625,11 +646,11 @@ ] }, "locked": { - "lastModified": 1733484277, - "narHash": "sha256-i5ay20XsvpW91N4URET/nOc0VQWOAd4c4vbqYtcH8Rc=", + "lastModified": 1733754861, + "narHash": "sha256-3JKzIou54yjiMVmvgdJwopekEvZxX3JDT8DpKZs4oXY=", "owner": "nix-community", "repo": "home-manager", - "rev": "d00c6f6d0ad16d598bf7e2956f52c1d9d5de3c3a", + "rev": "9ebaa80a227eaca9c87c53ed515ade013bc2bca9", "type": "github" }, "original": { @@ -646,11 +667,11 @@ ] }, "locked": { - "lastModified": 1733175814, - "narHash": "sha256-zFOtOaqjzZfPMsm1mwu98syv3y+jziAq5DfWygaMtLg=", + "lastModified": 1733484277, + "narHash": "sha256-i5ay20XsvpW91N4URET/nOc0VQWOAd4c4vbqYtcH8Rc=", "owner": "nix-community", "repo": "home-manager", - "rev": "bf23fe41082aa0289c209169302afd3397092f22", + "rev": "d00c6f6d0ad16d598bf7e2956f52c1d9d5de3c3a", "type": "github" }, "original": { @@ -742,11 +763,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1733426532, - "narHash": "sha256-k1g5MbTrURnYeb2XPwz3uLLKZJon7khTig2KvGv5pgs=", + "lastModified": 1733796600, + "narHash": "sha256-scaQMTs4NnGkd9SZWROr5m0vOZIIhRkk5N7Q+S9zhXQ=", "owner": "astro", "repo": "microvm.nix", - "rev": "5f0ab7953380a565c4e02083669bc529036970c7", + "rev": "e08aed6e3a32e47e21e57bd2791326ea3f7647be", "type": "github" }, "original": { @@ -763,11 +784,11 @@ ] }, "locked": { - "lastModified": 1733105089, - "narHash": "sha256-Qs3YmoLYUJ8g4RkFj2rMrzrP91e4ShAioC9s+vG6ENM=", + "lastModified": 1733570843, + "narHash": "sha256-sQJAxY1TYWD1UyibN/FnN97paTFuwBw3Vp3DNCyKsMk=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "c6b65d946097baf3915dd51373251de98199280d", + "rev": "a35b08d09efda83625bef267eb24347b446c80b8", "type": "github" }, "original": { @@ -820,11 +841,11 @@ }, "nixlib": { "locked": { - "lastModified": 1733015484, - "narHash": "sha256-qiyO0GrTvbp869U4VGX5GhAZ00fSiPXszvosY1AgKQ8=", + "lastModified": 1733620091, + "narHash": "sha256-5WoMeCkaXqTZwwCNLRzyLxEJn8ISwjx4cNqLgqKwg9s=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "0e4fdd4a0ab733276b6d2274ff84ae353f17129e", + "rev": "f4dc9a6c02e5e14d91d158522f69f6ab4194eb5b", "type": "github" }, "original": { @@ -841,11 +862,11 @@ ] }, "locked": { - "lastModified": 1733360821, - "narHash": "sha256-bNXO+OGxrOjAxv/Lnyj84tNDicJ/FdLyLJHzOKSzYU8=", + "lastModified": 1733706547, + "narHash": "sha256-BdFW7TMgES7q8I5FGX5hlz+0Xp4WyfAP3tHDwEupSWU=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "8cdaf8885c9c85d9d27b594dbe882406aadfe00e", + "rev": "f5a0197ccfef7388885fc9455e74d6dd39e0c5e8", "type": "github" }, "original": { @@ -966,11 +987,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1733470866, - "narHash": "sha256-OSIG4k3SttKzxPodsHUxEEWB0mNSe0/UFKiDm9UDvUU=", + "lastModified": 1733741264, + "narHash": "sha256-2if5elTeQl08PNfyr4QNT1f3UDfdkEL4OtqS6aOkBPY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c77dab3ae5c71a5eaef539968ebfb13dce79b0ea", + "rev": "b356fafe02dd1d01d58153ae02326268ed584a51", "type": "github" }, "original": { @@ -981,11 +1002,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1733015953, - "narHash": "sha256-t4BBVpwG9B4hLgc6GUBuj3cjU7lP/PJfpTHuSqE+crk=", + "lastModified": 1733392399, + "narHash": "sha256-kEsTJTUQfQFIJOcLYFt/RvNxIK653ZkTBIs4DG+cBns=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ac35b104800bff9028425fec3b6e8a41de2bbfff", + "rev": "d0797a04b81caeae77bcff10a9dde78bc17f5661", "type": "github" }, "original": { @@ -996,6 +1017,22 @@ } }, "nixpkgs_6": { + "locked": { + "lastModified": 1733581040, + "narHash": "sha256-Qn3nPMSopRQJgmvHzVqPcE3I03zJyl8cSbgnnltfFDY=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "22c3f2cf41a0e70184334a958e6b124fb0ce3e01", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_7": { "locked": { "lastModified": 1714656196, "narHash": "sha256-kjQkA98lMcsom6Gbhw8SYzmwrSo+2nruiTcTZp5jK7o=", @@ -1024,11 +1061,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1733431684, - "narHash": "sha256-Tbdi0SEOuxABTDp0sCI7wdTnmpcnQOPzPo4jSWP0u+8=", + "lastModified": 1733808465, + "narHash": "sha256-wmNvqgvUoOTZoX1yk4HGDjTjTnk5bfTm/c4xb26TVUE=", "owner": "pta2002", "repo": "nixvim", - "rev": "6348336db0e0b17ab6d9c73bc8206db84ebf00d1", + "rev": "99cb3fb8fc7fc073d695e7c029d9c93e95e2520c", "type": "github" }, "original": { @@ -1038,12 +1075,17 @@ } }, "nur": { + "inputs": { + "flake-parts": "flake-parts_4", + "nixpkgs": "nixpkgs_6", + "treefmt-nix": "treefmt-nix_2" + }, "locked": { - "lastModified": 1733489150, - "narHash": "sha256-UV5FFpMiysQo8XubvKQ8oc5dJ05FvkKQlnL40I/uXXk=", + "lastModified": 1733816803, + "narHash": "sha256-zca4MzlBvdztDtE/9YlMSdIaDn0e3geVhuioA/u/2l0=", "owner": "nix-community", "repo": "NUR", - "rev": "63f82f9d803cb12e044a2ab8a520ba33b44c3c47", + "rev": "633f5a8d50fe0e930319ed17a60b41f27c779a06", "type": "github" }, "original": { @@ -1062,11 +1104,11 @@ ] }, "locked": { - "lastModified": 1733006402, - "narHash": "sha256-BC1CecAQISV5Q4LZK72Gx0+faemOwaChiD9rMVfDPoA=", + "lastModified": 1733411491, + "narHash": "sha256-315rJ7O9cOllPDaFscnJhcMleORHbxon0Kq9LAKJ5p4=", "owner": "NuschtOS", "repo": "search", - "rev": "16307548b7a1247291c84ae6a12c0aacb07dfba2", + "rev": "68e9fad70d95d08156cf10a030bd39487bed8ffe", "type": "github" }, "original": { @@ -1328,11 +1370,32 @@ ] }, "locked": { - "lastModified": 1732894027, - "narHash": "sha256-2qbdorpq0TXHBWbVXaTqKoikN4bqAtAplTwGuII+oAc=", + "lastModified": 1733440889, + "narHash": "sha256-qKL3vjO+IXFQ0nTinFDqNq/sbbnnS5bMI1y0xX215fU=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "6209c381904cab55796c5d7350e89681d3b2a8ef", + "rev": "50862ba6a8a0255b87377b9d2d4565e96f29b410", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, + "treefmt-nix_2": { + "inputs": { + "nixpkgs": [ + "nur", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1733222881, + "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "49717b5af6f80172275d47a418c9719a31a78b53", "type": "github" }, "original": { @@ -1362,7 +1425,7 @@ "vault-secrets": { "inputs": { "flake-compat": "flake-compat_7", - "nixpkgs": "nixpkgs_6" + "nixpkgs": "nixpkgs_7" }, "locked": { "lastModified": 1714988039, From b0845c833a6cd34e5052dc8522392c405ba2cc20 Mon Sep 17 00:00:00 2001 From: Vivian Date: Tue, 17 Dec 2024 08:49:56 +0100 Subject: [PATCH 61/88] Fix artifacting of laptop --- flake.lock | 90 +++++++++++++++---------------- flake.nix | 2 +- hosts/thalassa/aoife/default.nix | 7 +-- hosts/thalassa/aoife/hardware.nix | 4 +- 4 files changed, 52 insertions(+), 51 deletions(-) diff --git a/flake.lock b/flake.lock index 2e671689..26140a85 100644 --- a/flake.lock +++ b/flake.lock @@ -58,11 +58,11 @@ }, "catppuccin": { "locked": { - "lastModified": 1733001911, - "narHash": "sha256-uX/9m0TbdhEzuWA0muM5mI/AaWcLiDLjCCyu5Qr9MRk=", + "lastModified": 1734057772, + "narHash": "sha256-waF/2Y39JXJ4kG3zawmw1J1GxPHopyoOkJKJhfJ7RBs=", "owner": "catppuccin", "repo": "nix", - "rev": "a817009ebfd2cca7f70a77884e5098d0a8c83f8e", + "rev": "20b6328df20ae45752c81311d225fd47cba32483", "type": "github" }, "original": { @@ -561,11 +561,11 @@ ] }, "locked": { - "lastModified": 1733318908, - "narHash": "sha256-SVQVsbafSM1dJ4fpgyBqLZ+Lft+jcQuMtEL3lQWx2Sk=", + "lastModified": 1734279981, + "narHash": "sha256-NdaCraHPp8iYMWzdXAt5Nv6sA3MUzlCiGiR586TCwo0=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "6f4e2a2112050951a314d2733a994fbab94864c6", + "rev": "aa9f40c906904ebd83da78e7f328cd8aeaeae785", "type": "github" }, "original": { @@ -646,11 +646,11 @@ ] }, "locked": { - "lastModified": 1733754861, - "narHash": "sha256-3JKzIou54yjiMVmvgdJwopekEvZxX3JDT8DpKZs4oXY=", + "lastModified": 1734344598, + "narHash": "sha256-wNX3hsScqDdqKWOO87wETUEi7a/QlPVgpC/Lh5rFOuA=", "owner": "nix-community", "repo": "home-manager", - "rev": "9ebaa80a227eaca9c87c53ed515ade013bc2bca9", + "rev": "83ecd50915a09dca928971139d3a102377a8d242", "type": "github" }, "original": { @@ -667,11 +667,11 @@ ] }, "locked": { - "lastModified": 1733484277, - "narHash": "sha256-i5ay20XsvpW91N4URET/nOc0VQWOAd4c4vbqYtcH8Rc=", + "lastModified": 1734093295, + "narHash": "sha256-hSwgGpcZtdDsk1dnzA0xj5cNaHgN9A99hRF/mxMtwS4=", "owner": "nix-community", "repo": "home-manager", - "rev": "d00c6f6d0ad16d598bf7e2956f52c1d9d5de3c3a", + "rev": "66c5d8b62818ec4c1edb3e941f55ef78df8141a8", "type": "github" }, "original": { @@ -763,11 +763,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1733796600, - "narHash": "sha256-scaQMTs4NnGkd9SZWROr5m0vOZIIhRkk5N7Q+S9zhXQ=", + "lastModified": 1734041466, + "narHash": "sha256-51bhaMe8BZuNAStUHvo07nDO72wmw8PAqkSYH4U31Yo=", "owner": "astro", "repo": "microvm.nix", - "rev": "e08aed6e3a32e47e21e57bd2791326ea3f7647be", + "rev": "3910e65c3d92c82ea41ab295c66df4c0b4f9e7b3", "type": "github" }, "original": { @@ -841,11 +841,11 @@ }, "nixlib": { "locked": { - "lastModified": 1733620091, - "narHash": "sha256-5WoMeCkaXqTZwwCNLRzyLxEJn8ISwjx4cNqLgqKwg9s=", + "lastModified": 1734224914, + "narHash": "sha256-hKWALzQ/RxxXdKWsLKXULru6XTag9Cc5exgVyS4a/AE=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "f4dc9a6c02e5e14d91d158522f69f6ab4194eb5b", + "rev": "538697b664a64fade8ce628d01f35d1f1fd82d77", "type": "github" }, "original": { @@ -862,11 +862,11 @@ ] }, "locked": { - "lastModified": 1733706547, - "narHash": "sha256-BdFW7TMgES7q8I5FGX5hlz+0Xp4WyfAP3tHDwEupSWU=", + "lastModified": 1734311693, + "narHash": "sha256-ODRrnbaUsOe3e4kp+uHl+iJxey5zE3kqiBqJWQxrlnY=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "f5a0197ccfef7388885fc9455e74d6dd39e0c5e8", + "rev": "a5278f7c326205681f1f42a90fa46a75a13627eb", "type": "github" }, "original": { @@ -877,11 +877,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1733481457, - "narHash": "sha256-IS3bxa4N1VMSh3/P6vhEAHQZecQ3oAlKCDvzCQSO5Is=", + "lastModified": 1734352517, + "narHash": "sha256-mfv+J/vO4nqmIOlq8Y1rRW8hVsGH3M+I2ESMjhuebDs=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "e563803af3526852b6b1d77107a81908c66a9fcf", + "rev": "b12e314726a4226298fe82776b4baeaa7bcf3dcd", "type": "github" }, "original": { @@ -987,11 +987,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1733741264, - "narHash": "sha256-2if5elTeQl08PNfyr4QNT1f3UDfdkEL4OtqS6aOkBPY=", + "lastModified": 1734318609, + "narHash": "sha256-VPbVfHSvFs58T+kbseS7wa9WP6p2z7RJmjTnV4pAPQ0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b356fafe02dd1d01d58153ae02326268ed584a51", + "rev": "66cdf593c0041cf1efc9b2889d80c9a5c497b284", "type": "github" }, "original": { @@ -1002,11 +1002,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1733392399, - "narHash": "sha256-kEsTJTUQfQFIJOcLYFt/RvNxIK653ZkTBIs4DG+cBns=", + "lastModified": 1734119587, + "narHash": "sha256-AKU6qqskl0yf2+JdRdD0cfxX4b9x3KKV5RqA6wijmPM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d0797a04b81caeae77bcff10a9dde78bc17f5661", + "rev": "3566ab7246670a43abd2ffa913cc62dad9cdf7d5", "type": "github" }, "original": { @@ -1018,11 +1018,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1733581040, - "narHash": "sha256-Qn3nPMSopRQJgmvHzVqPcE3I03zJyl8cSbgnnltfFDY=", + "lastModified": 1734119587, + "narHash": "sha256-AKU6qqskl0yf2+JdRdD0cfxX4b9x3KKV5RqA6wijmPM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "22c3f2cf41a0e70184334a958e6b124fb0ce3e01", + "rev": "3566ab7246670a43abd2ffa913cc62dad9cdf7d5", "type": "github" }, "original": { @@ -1061,11 +1061,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1733808465, - "narHash": "sha256-wmNvqgvUoOTZoX1yk4HGDjTjTnk5bfTm/c4xb26TVUE=", + "lastModified": 1734346666, + "narHash": "sha256-en0654KcOVZj0J3LVUzd/sbNkDSUZTWP2fHlnyfaXnc=", "owner": "pta2002", "repo": "nixvim", - "rev": "99cb3fb8fc7fc073d695e7c029d9c93e95e2520c", + "rev": "76e9d89d96502a4ee8e1cd74a5b50077cf204134", "type": "github" }, "original": { @@ -1081,11 +1081,11 @@ "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1733816803, - "narHash": "sha256-zca4MzlBvdztDtE/9YlMSdIaDn0e3geVhuioA/u/2l0=", + "lastModified": 1734346857, + "narHash": "sha256-MbN3HK2pYJ0chSVXXcTvw5XGIvn0NIWi2u3PvfPC0eY=", "owner": "nix-community", "repo": "NUR", - "rev": "633f5a8d50fe0e930319ed17a60b41f27c779a06", + "rev": "da2a753678dd619a92280e78784ef1d09de242e3", "type": "github" }, "original": { @@ -1104,11 +1104,11 @@ ] }, "locked": { - "lastModified": 1733411491, - "narHash": "sha256-315rJ7O9cOllPDaFscnJhcMleORHbxon0Kq9LAKJ5p4=", + "lastModified": 1733773348, + "narHash": "sha256-Y47y+LesOCkJaLvj+dI/Oa6FAKj/T9sKVKDXLNsViPw=", "owner": "NuschtOS", "repo": "search", - "rev": "68e9fad70d95d08156cf10a030bd39487bed8ffe", + "rev": "3051be7f403bff1d1d380e4612f0c70675b44fc9", "type": "github" }, "original": { @@ -1370,11 +1370,11 @@ ] }, "locked": { - "lastModified": 1733440889, - "narHash": "sha256-qKL3vjO+IXFQ0nTinFDqNq/sbbnnS5bMI1y0xX215fU=", + "lastModified": 1733761991, + "narHash": "sha256-s4DalCDepD22jtKL5Nw6f4LP5UwoMcPzPZgHWjAfqbQ=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "50862ba6a8a0255b87377b9d2d4565e96f29b410", + "rev": "0ce9d149d99bc383d1f2d85f31f6ebd146e46085", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 1489a7d0..87e602f9 100644 --- a/flake.nix +++ b/flake.nix @@ -85,7 +85,7 @@ }; sharedOverlays = [ (import ./pkgs) - nur.overlay + nur.overlays.default ]; # host defaults diff --git a/hosts/thalassa/aoife/default.nix b/hosts/thalassa/aoife/default.nix index 020936ff..133ca25f 100644 --- a/hosts/thalassa/aoife/default.nix +++ b/hosts/thalassa/aoife/default.nix @@ -29,9 +29,10 @@ # Bootloader. boot = { kernelParams = [ - "amdgpu.sg_display=0" # did not fix the flickering - "amdgpu.ppfeaturemask=0xffffffff" # did not fix flicker - "amdgpu.graphics_sg=0" + # "amdgpu.sg_display=0" # did not fix the flickering + # "amdgpu.ppfeaturemask=0xffffffff" # did not fix flicker + # "amdgpu.graphics_sg=0" + "amdgpu.dcdebugmask=0x10" ]; bootspec.enable = true; initrd.kernelModules = [ "amdgpu" ]; diff --git a/hosts/thalassa/aoife/hardware.nix b/hosts/thalassa/aoife/hardware.nix index 787a3995..3d2cc167 100644 --- a/hosts/thalassa/aoife/hardware.nix +++ b/hosts/thalassa/aoife/hardware.nix @@ -21,8 +21,8 @@ amdgpu = { initrd.enable = true; opencl.enable = true; - amdvlk.enable = true; - + # Temp disabled as it breaks GTK + # amdvlk.enable = true; }; }; services = { From b964998c175193d9181468b621a40483ac0008ac Mon Sep 17 00:00:00 2001 From: Vivian Date: Fri, 20 Dec 2024 11:27:35 +0100 Subject: [PATCH 62/88] update --- flake.lock | 38 +++++++++++++++---------------- hosts/thalassa/aoife/hardware.nix | 2 +- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/flake.lock b/flake.lock index 26140a85..01841cdc 100644 --- a/flake.lock +++ b/flake.lock @@ -58,11 +58,11 @@ }, "catppuccin": { "locked": { - "lastModified": 1734057772, - "narHash": "sha256-waF/2Y39JXJ4kG3zawmw1J1GxPHopyoOkJKJhfJ7RBs=", + "lastModified": 1734397929, + "narHash": "sha256-VCTVpU/RlrI9StxzDnqc1R3ZTQloLVALSkiN/Fgiad4=", "owner": "catppuccin", "repo": "nix", - "rev": "20b6328df20ae45752c81311d225fd47cba32483", + "rev": "21310cde33d3ee8023679dec01a9724a346c63ff", "type": "github" }, "original": { @@ -743,11 +743,11 @@ "nixpkgs-24_05": "nixpkgs-24_05" }, "locked": { - "lastModified": 1722877200, - "narHash": "sha256-qgKDNJXs+od+1UbRy62uk7dYal3h98I4WojfIqMoGcg=", + "lastModified": 1734370678, + "narHash": "sha256-a8zkti1QM5Oxkdfnzr/NjrFlyqI36/kYV/X8G1jOmB4=", "ref": "refs/heads/master", - "rev": "af7d3bf5daeba3fc28089b015c0dd43f06b176f2", - "revCount": 593, + "rev": "c43d8c4a3ce84a7bebd110b06e69365484db6208", + "revCount": 601, "type": "git", "url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git" }, @@ -908,11 +908,11 @@ }, "nixpkgs-24_05": { "locked": { - "lastModified": 1717144377, - "narHash": "sha256-F/TKWETwB5RaR8owkPPi+SPJh83AQsm6KrQAlJ8v/uA=", + "lastModified": 1731797254, + "narHash": "sha256-df3dJApLPhd11AlueuoN0Q4fHo/hagP75LlM5K1sz9g=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "805a384895c696f802a9bf5bf4720f37385df547", + "rev": "e8c38b73aeb218e27163376a2d617e61a2ad9b59", "type": "github" }, "original": { @@ -987,11 +987,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1734318609, - "narHash": "sha256-VPbVfHSvFs58T+kbseS7wa9WP6p2z7RJmjTnV4pAPQ0=", + "lastModified": 1734406807, + "narHash": "sha256-+tsK4LslNBXn55GCWuC51mrUzv0nr+BE/VlZxq1NoTs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "66cdf593c0041cf1efc9b2889d80c9a5c497b284", + "rev": "948a31b4b765c01f485c05bdeb12b2197f440d5a", "type": "github" }, "original": { @@ -1061,11 +1061,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1734346666, - "narHash": "sha256-en0654KcOVZj0J3LVUzd/sbNkDSUZTWP2fHlnyfaXnc=", + "lastModified": 1734472356, + "narHash": "sha256-RIoG3zXarfuHfzM/z/NPjoHHxl3sqYrtEatSLA1/bIk=", "owner": "pta2002", "repo": "nixvim", - "rev": "76e9d89d96502a4ee8e1cd74a5b50077cf204134", + "rev": "4f1fe403b18c45614d6b81423038a34cff371244", "type": "github" }, "original": { @@ -1081,11 +1081,11 @@ "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1734346857, - "narHash": "sha256-MbN3HK2pYJ0chSVXXcTvw5XGIvn0NIWi2u3PvfPC0eY=", + "lastModified": 1734518983, + "narHash": "sha256-MC8jGT4Q45JnuME2HnptwAJ8TnBc2Mz+IEP9SrIE82Q=", "owner": "nix-community", "repo": "NUR", - "rev": "da2a753678dd619a92280e78784ef1d09de242e3", + "rev": "f084b98a5ea7bf830197f41119441d30e7ef1c66", "type": "github" }, "original": { diff --git a/hosts/thalassa/aoife/hardware.nix b/hosts/thalassa/aoife/hardware.nix index 3d2cc167..c59f8a25 100644 --- a/hosts/thalassa/aoife/hardware.nix +++ b/hosts/thalassa/aoife/hardware.nix @@ -43,7 +43,7 @@ # Video Driver xserver = { - # videoDrivers = [ "displaylink" ]; + videoDrivers = [ "displaylink" ]; dpi = 280; }; From a24394ecf6268818bb7f842b45a3cff6392959a5 Mon Sep 17 00:00:00 2001 From: Vivian Date: Sat, 21 Dec 2024 14:26:31 +0100 Subject: [PATCH 63/88] flake update --- flake.lock | 60 +++++++++++++++++++++++++++--------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/flake.lock b/flake.lock index 01841cdc..af48e79d 100644 --- a/flake.lock +++ b/flake.lock @@ -58,11 +58,11 @@ }, "catppuccin": { "locked": { - "lastModified": 1734397929, - "narHash": "sha256-VCTVpU/RlrI9StxzDnqc1R3ZTQloLVALSkiN/Fgiad4=", + "lastModified": 1734734291, + "narHash": "sha256-CFX4diEQHKvZYjnhf7TLg20m3ge1O4vqgplsk/Kuaek=", "owner": "catppuccin", "repo": "nix", - "rev": "21310cde33d3ee8023679dec01a9724a346c63ff", + "rev": "1e4c3803b8da874ff75224ec8512cb173036bbd8", "type": "github" }, "original": { @@ -561,11 +561,11 @@ ] }, "locked": { - "lastModified": 1734279981, - "narHash": "sha256-NdaCraHPp8iYMWzdXAt5Nv6sA3MUzlCiGiR586TCwo0=", + "lastModified": 1734425854, + "narHash": "sha256-nzE5UbJ41aPEKf8R2ZFYtLkqPmF7EIUbNEdHMBLg0Ig=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "aa9f40c906904ebd83da78e7f328cd8aeaeae785", + "rev": "0ddd26d0925f618c3a5d85a4fa5eb1e23a09491d", "type": "github" }, "original": { @@ -646,11 +646,11 @@ ] }, "locked": { - "lastModified": 1734344598, - "narHash": "sha256-wNX3hsScqDdqKWOO87wETUEi7a/QlPVgpC/Lh5rFOuA=", + "lastModified": 1734622215, + "narHash": "sha256-OOfI0XhSJGHblfdNDhfnn8QnZxng63rWk9eeJ2tCbiI=", "owner": "nix-community", "repo": "home-manager", - "rev": "83ecd50915a09dca928971139d3a102377a8d242", + "rev": "1395379a7a36e40f2a76e7b9936cc52950baa1be", "type": "github" }, "original": { @@ -667,11 +667,11 @@ ] }, "locked": { - "lastModified": 1734093295, - "narHash": "sha256-hSwgGpcZtdDsk1dnzA0xj5cNaHgN9A99hRF/mxMtwS4=", + "lastModified": 1734344598, + "narHash": "sha256-wNX3hsScqDdqKWOO87wETUEi7a/QlPVgpC/Lh5rFOuA=", "owner": "nix-community", "repo": "home-manager", - "rev": "66c5d8b62818ec4c1edb3e941f55ef78df8141a8", + "rev": "83ecd50915a09dca928971139d3a102377a8d242", "type": "github" }, "original": { @@ -862,11 +862,11 @@ ] }, "locked": { - "lastModified": 1734311693, - "narHash": "sha256-ODRrnbaUsOe3e4kp+uHl+iJxey5zE3kqiBqJWQxrlnY=", + "lastModified": 1734570415, + "narHash": "sha256-kcsDNcEr4hYuDc8l+ox41FvEPpmQTV3/3hgdx3tuxHw=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "a5278f7c326205681f1f42a90fa46a75a13627eb", + "rev": "b8f266f26bb757e7aec18adeee6919db6666c4f6", "type": "github" }, "original": { @@ -987,11 +987,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1734406807, - "narHash": "sha256-+tsK4LslNBXn55GCWuC51mrUzv0nr+BE/VlZxq1NoTs=", + "lastModified": 1734753021, + "narHash": "sha256-xtqjYzqqGb723XT+V63weQOqW0LHj1Hov28Co+BMhIw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "948a31b4b765c01f485c05bdeb12b2197f440d5a", + "rev": "3f0036916daca9836ba2c3f236b0ae051949a0a8", "type": "github" }, "original": { @@ -1002,11 +1002,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1734119587, - "narHash": "sha256-AKU6qqskl0yf2+JdRdD0cfxX4b9x3KKV5RqA6wijmPM=", + "lastModified": 1734424634, + "narHash": "sha256-cHar1vqHOOyC7f1+tVycPoWTfKIaqkoe1Q6TnKzuti4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3566ab7246670a43abd2ffa913cc62dad9cdf7d5", + "rev": "d3c42f187194c26d9f0309a8ecc469d6c878ce33", "type": "github" }, "original": { @@ -1018,11 +1018,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1734119587, - "narHash": "sha256-AKU6qqskl0yf2+JdRdD0cfxX4b9x3KKV5RqA6wijmPM=", + "lastModified": 1734424634, + "narHash": "sha256-cHar1vqHOOyC7f1+tVycPoWTfKIaqkoe1Q6TnKzuti4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3566ab7246670a43abd2ffa913cc62dad9cdf7d5", + "rev": "d3c42f187194c26d9f0309a8ecc469d6c878ce33", "type": "github" }, "original": { @@ -1061,11 +1061,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1734472356, - "narHash": "sha256-RIoG3zXarfuHfzM/z/NPjoHHxl3sqYrtEatSLA1/bIk=", + "lastModified": 1734749627, + "narHash": "sha256-5HLarzO44i6tUBIr+DRMeAHJP3p84Z1b9wuElv85O1U=", "owner": "pta2002", "repo": "nixvim", - "rev": "4f1fe403b18c45614d6b81423038a34cff371244", + "rev": "9f32e25f3f2b029b76e79ef7c1f48cd3596938d8", "type": "github" }, "original": { @@ -1081,11 +1081,11 @@ "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1734518983, - "narHash": "sha256-MC8jGT4Q45JnuME2HnptwAJ8TnBc2Mz+IEP9SrIE82Q=", + "lastModified": 1734771797, + "narHash": "sha256-lQTY9t/3PP7RCCsSbLAPjzd3RvSkhUwevHuMSB+OlCE=", "owner": "nix-community", "repo": "NUR", - "rev": "f084b98a5ea7bf830197f41119441d30e7ef1c66", + "rev": "887090ab19e70bcb02c0091a017f777888b4932f", "type": "github" }, "original": { From c9fb02840bdff3edd3b18b22b4a818d702f52202 Mon Sep 17 00:00:00 2001 From: Vivian Date: Fri, 27 Dec 2024 12:04:38 +0100 Subject: [PATCH 64/88] bit more ricing --- common/default.nix | 4 +- common/desktop/home.nix | 1 - common/hm-modules/catppuccin/default.nix | 74 +-- flake.lock | 690 ++++++++++++++++------- flake.nix | 5 +- hosts/thalassa/aoife/default.nix | 10 +- hosts/thalassa/aoife/home/default.nix | 4 - hosts/thalassa/aoife/home/hyprland.nix | 163 ++---- hosts/thalassa/aoife/home/waybar.nix | 84 +++ pkgs/default.nix | 2 - pkgs/hyprland-workspaces/default.nix | 20 - 11 files changed, 662 insertions(+), 395 deletions(-) create mode 100644 hosts/thalassa/aoife/home/waybar.nix delete mode 100644 pkgs/hyprland-workspaces/default.nix diff --git a/common/default.nix b/common/default.nix index 88ee8ea6..df655bea 100644 --- a/common/default.nix +++ b/common/default.nix @@ -51,13 +51,13 @@ "https://nix-community.cachix.org" "https://nixpkgs-review-bot.cachix.org" "https://cachix.cachix.org" - "https://cosmic.cachix.org" + "https://hyprland.cachix.org" ]; trusted-public-keys = [ "cachix.cachix.org-1:eWNHQldwUO7G2VkjpnjDbWwy4KQ/HNxht7H4SSoMckM=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" "nixpkgs-review-bot.cachix.org-1:eppgiDjPk7Hkzzz7XlUesk3rcEHqNDozGOrcLc8IqwE=" - "cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE=" + "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ]; }; optimise = { diff --git a/common/desktop/home.nix b/common/desktop/home.nix index ea027e22..07489b02 100644 --- a/common/desktop/home.nix +++ b/common/desktop/home.nix @@ -109,7 +109,6 @@ in xdg.autoStart = { packages = with pkgs; [ - obsidian element-desktop firefox discord diff --git a/common/hm-modules/catppuccin/default.nix b/common/hm-modules/catppuccin/default.nix index a17b7433..8d6149a9 100644 --- a/common/hm-modules/catppuccin/default.nix +++ b/common/hm-modules/catppuccin/default.nix @@ -6,20 +6,7 @@ }: with lib; let - inherit (builtins) fromTOML readFile; cfg = config.themes.v.catppuccin; - mako = pkgs.fetchFromGitHub { - owner = "catppuccin"; - repo = "mako"; - rev = "9dd088aa5f4529a3dd4d9760415e340664cb86df"; - sha256 = "sha256-nUzWkQVsIH4rrCFSP87mXAka6P+Td2ifNbTuP7NM/SQ="; - }; - starship = pkgs.fetchFromGitHub { - owner = "catppuccin"; - repo = "starship"; - rev = "5629d2356f62a9f2f8efad3ff37476c19969bd4f"; - sha256 = "sha256-nsRuxQFKbQkyEI4TXgvAjcroVdG+heKX5Pauq/4Ota0="; - }; in { options.themes.v.catppuccin = { @@ -27,8 +14,24 @@ in }; config = mkIf cfg.enable { catppuccin = { + enable = true; flavor = "frappe"; accent = "pink"; + + waybar.enable = false; + + mako.enable = true; + rofi.enable = true; + # gtk = { + # enable = true; + # gnomeShellTheme = true; + # icon.enable = false; + # }; + + hyprland.enable = true; + kitty.enable = true; + + kvantum.enable = true; }; home.pointerCursor = { @@ -38,21 +41,12 @@ in }; programs.kitty = { - themeFile = "Catppuccin-Frappe"; + # themeFile = "Catppuccin-Frappe"; font.name = "DejaVuSansMono Nerd Font"; }; gtk = { enable = true; - # theme = { - # name = "Catppuccin-Frappe-Standard-Pink-Dark"; - # package = pkgs.catppuccin-gtk.override { - # accents = [ "pink" ]; - # variant = "frappe"; - # size = "standard"; - # }; - # }; - iconTheme = { name = "Papirus-Dark"; package = pkgs.papirus-icon-theme.override { color = "violet"; }; @@ -62,34 +56,12 @@ in }; }; - # qt = { - # enable = true; - # # platformTheme = "qtct"; - # style.name = "kvantum"; - # platformTheme.name = "kvantum"; - # }; - - # xdg.configFile = { - # "Kvantum/kvantum.kvconfig".text = '' - # [General] - # theme=Catppuccin-Frappe-Pink - # ''; - # }; - - home.packages = with pkgs; [ - # (catppuccin-kvantum.override { - # accent = "Pink"; - # variant = "Frappe"; - # }) - ]; - - services.mako.catppuccin.enable = true; - # programs.mako.extraConfig = readFile "${mako}/src/frappe"; - # - # programs.starship.settings = { - # palette = "catppuccin_frappe"; - # } //fromTOML (readFile "${starship}/palettes/frappe.toml"); - # + qt = { + enable = true; + # platformTheme = "qtct"; + style.name = "kvantum"; + platformTheme.name = "kvantum"; + }; programs.vscode = { userSettings."workbench.colorTheme" = "Catppuccin Frappé"; diff --git a/flake.lock b/flake.lock index af48e79d..27c76aa0 100644 --- a/flake.lock +++ b/flake.lock @@ -57,12 +57,21 @@ } }, "catppuccin": { + "inputs": { + "catppuccin-v1_1": "catppuccin-v1_1", + "catppuccin-v1_2": "catppuccin-v1_2", + "home-manager": "home-manager", + "home-manager-stable": "home-manager-stable", + "nixpkgs": "nixpkgs", + "nixpkgs-stable": "nixpkgs-stable_2", + "nuscht-search": "nuscht-search" + }, "locked": { - "lastModified": 1734734291, - "narHash": "sha256-CFX4diEQHKvZYjnhf7TLg20m3ge1O4vqgplsk/Kuaek=", + "lastModified": 1735263930, + "narHash": "sha256-vU7SkHINr+NqmZeFLA11plsaUfazKKpdEhI/oTJbK3Q=", "owner": "catppuccin", "repo": "nix", - "rev": "1e4c3803b8da874ff75224ec8512cb173036bbd8", + "rev": "a2e641bc6b17129d81d54019e14c9956784c69c6", "type": "github" }, "original": { @@ -71,20 +80,48 @@ "type": "github" } }, + "catppuccin-v1_1": { + "locked": { + "lastModified": 1734055249, + "narHash": "sha256-pCWJgwo77KD7EJpwynwKrWPZ//dwypHq2TfdzZWqK68=", + "rev": "7221d6ca17ac36ed20588e1c3a80177ac5843fa7", + "revCount": 326, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/catppuccin/nix/1.1.1/0193bdc0-b045-7eed-bbec-95611a8ecdf5/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/catppuccin/nix/1.1.%2A.tar.gz" + } + }, + "catppuccin-v1_2": { + "locked": { + "lastModified": 1734728407, + "narHash": "sha256-Let3uJo4YDyfqbqaw66dpZxhJB2TrDyZWSFd5rpPLJA=", + "rev": "23ee86dbf4ed347878115a78971d43025362fab1", + "revCount": 341, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/catppuccin/nix/1.2.0/0193e5e0-33b7-7149-a362-bfe56b20f64e/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/catppuccin/nix/1.2.%2A.tar.gz" + } + }, "colmena": { "inputs": { "flake-compat": "flake-compat_2", - "flake-utils": "flake-utils", + "flake-utils": "flake-utils_2", "nix-github-actions": "nix-github-actions_2", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "stable": "stable" }, "locked": { - "lastModified": 1731527002, - "narHash": "sha256-dI9I6suECoIAmbS4xcrqF8r2pbmed8WWm5LIF1yWPw8=", + "lastModified": 1734897875, + "narHash": "sha256-LLpiqfOGBippRax9F33kSJ/Imt8gJXb6o0JwSBiNHCk=", "owner": "zhaofengli", "repo": "colmena", - "rev": "e3ad42138015fcdf2524518dd564a13145c72ea1", + "rev": "a6b51f5feae9bfb145daa37fd0220595acb7871e", "type": "github" }, "original": { @@ -116,11 +153,11 @@ }, "crane_2": { "locked": { - "lastModified": 1730652660, - "narHash": "sha256-+XVYfmVXAiYA0FZT7ijHf555dxCe+AoAT5A6RU+6vSo=", + "lastModified": 1731098351, + "narHash": "sha256-HQkYvKvaLQqNa10KEFGgWHfMAbWBfFp+4cAgkut+NNE=", "owner": "ipetkov", "repo": "crane", - "rev": "a4ca93905455c07cb7e3aca95d4faf7601cba458", + "rev": "ef80ead953c1b28316cc3f8613904edc2eb90c28", "type": "github" }, "original": { @@ -132,7 +169,7 @@ "deploy": { "inputs": { "flake-compat": "flake-compat_3", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_3", "utils": "utils" }, "locked": { @@ -172,7 +209,7 @@ }, "essentials": { "inputs": { - "flake-utils": "flake-utils_2", + "flake-utils": "flake-utils_3", "nixpkgs": [ "nixpkgs" ] @@ -386,12 +423,15 @@ } }, "flake-utils": { + "inputs": { + "systems": "systems" + }, "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -402,7 +442,7 @@ }, "flake-utils-plus": { "inputs": { - "flake-utils": "flake-utils_3" + "flake-utils": "flake-utils_4" }, "locked": { "lastModified": 1722363685, @@ -419,8 +459,23 @@ } }, "flake-utils_2": { + "locked": { + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_3": { "inputs": { - "systems": "systems_2" + "systems": "systems_3" }, "locked": { "lastModified": 1701680307, @@ -436,9 +491,9 @@ "type": "github" } }, - "flake-utils_3": { + "flake-utils_4": { "inputs": { - "systems": "systems_3" + "systems": "systems_4" }, "locked": { "lastModified": 1694529238, @@ -454,24 +509,6 @@ "type": "github" } }, - "flake-utils_4": { - "inputs": { - "systems": "systems_4" - }, - "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "flake-utils_5": { "inputs": { "systems": "systems_5" @@ -492,7 +529,7 @@ }, "flake-utils_6": { "inputs": { - "systems": "systems_6" + "systems": "systems_7" }, "locked": { "lastModified": 1731533236, @@ -510,7 +547,25 @@ }, "flake-utils_7": { "inputs": { - "systems": "systems_7" + "systems": "systems_8" + }, + "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" + } + }, + "flake-utils_8": { + "inputs": { + "systems": "systems_9" }, "locked": { "lastModified": 1710146030, @@ -526,9 +581,9 @@ "type": "github" } }, - "flake-utils_8": { + "flake-utils_9": { "inputs": { - "systems": "systems_8" + "systems": "systems_10" }, "locked": { "lastModified": 1681202837, @@ -561,11 +616,11 @@ ] }, "locked": { - "lastModified": 1734425854, - "narHash": "sha256-nzE5UbJ41aPEKf8R2ZFYtLkqPmF7EIUbNEdHMBLg0Ig=", + "lastModified": 1734797603, + "narHash": "sha256-ulZN7ps8nBV31SE+dwkDvKIzvN6hroRY8sYOT0w+E28=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "0ddd26d0925f618c3a5d85a4fa5eb1e23a09491d", + "rev": "f0f0dc4920a903c3e08f5bdb9246bb572fcae498", "type": "github" }, "original": { @@ -620,17 +675,15 @@ }, "gnome-autounlock-keyring": { "inputs": { - "flake-utils": "flake-utils_4", - "nixpkgs": [ - "nixpkgs" - ] + "flake-utils": "flake-utils_5", + "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1711359349, - "narHash": "sha256-dSHWgOtipLWgSSZFq9tvlaQF9b8Jfk/2mYCX4QS4x50=", + "lastModified": 1734975080, + "narHash": "sha256-MkI4Ow73kPlPyYA0SZ1izaxhtGAiaVtRy8Yv1H7n9hI=", "ref": "refs/heads/main", - "rev": "06279869e7a26dc91ca3e3abb84a3508d7f977cb", - "revCount": 10, + "rev": "e0d291465b5993a9da6e22b96defd34621f99b0d", + "revCount": 11, "type": "git", "url": "https://git.0x76.dev/v/gnome-autounlock-keyring.git" }, @@ -642,6 +695,7 @@ "home-manager": { "inputs": { "nixpkgs": [ + "catppuccin", "nixpkgs" ] }, @@ -659,19 +713,40 @@ "type": "github" } }, + "home-manager-stable": { + "inputs": { + "nixpkgs": [ + "catppuccin", + "nixpkgs-stable" + ] + }, + "locked": { + "lastModified": 1734366194, + "narHash": "sha256-vykpJ1xsdkv0j8WOVXrRFHUAdp9NXHpxdnn1F4pYgSw=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "80b0fdf483c5d1cb75aaad909bd390d48673857f", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "release-24.11", + "repo": "home-manager", + "type": "github" + } + }, "home-manager_2": { "inputs": { "nixpkgs": [ - "nixvim", "nixpkgs" ] }, "locked": { - "lastModified": 1734344598, - "narHash": "sha256-wNX3hsScqDdqKWOO87wETUEi7a/QlPVgpC/Lh5rFOuA=", + "lastModified": 1735053786, + "narHash": "sha256-Gm+0DcbUS338vvkwyYWms5jsWlx8z8MeQBzcnIDuIkw=", "owner": "nix-community", "repo": "home-manager", - "rev": "83ecd50915a09dca928971139d3a102377a8d242", + "rev": "35b98d20ca8f4ca1f6a2c30b8a2c8bb305a36d84", "type": "github" }, "original": { @@ -680,7 +755,101 @@ "type": "github" } }, + "home-manager_3": { + "inputs": { + "nixpkgs": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1734862405, + "narHash": "sha256-bXZJvUMJ2A6sIpYcCUAGjYCD5UDzmpmQCdmJSkPhleU=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "cb27edb5221d2f2920a03155f8becc502cf60e35", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "hyprland-qtutils": { + "inputs": { + "hyprutils": "hyprutils", + "nixpkgs": "nixpkgs_5", + "systems": "systems_6" + }, + "locked": { + "lastModified": 1734906472, + "narHash": "sha256-pWPRv/GA/X/iAwoE6gMNUqn/ZeJX1IeLPRpZI0tTPK0=", + "owner": "hyprwm", + "repo": "hyprland-qtutils", + "rev": "c77109d7e1ddbcdb87cafd32ce411f76328ae152", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-qtutils", + "type": "github" + } + }, + "hyprutils": { + "inputs": { + "nixpkgs": [ + "hyprland-qtutils", + "nixpkgs" + ], + "systems": [ + "hyprland-qtutils", + "systems" + ] + }, + "locked": { + "lastModified": 1734796073, + "narHash": "sha256-TnuKsa8OHrSJEmHm3TLGOWbPNA1gRjmZLsRzKrCqOsg=", + "owner": "hyprwm", + "repo": "hyprutils", + "rev": "c3331116ebd0b71df5ae8c6efe9a7f94148b03bf", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprutils", + "type": "github" + } + }, "ixx": { + "inputs": { + "flake-utils": [ + "catppuccin", + "nuscht-search", + "flake-utils" + ], + "nixpkgs": [ + "catppuccin", + "nuscht-search", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1729958008, + "narHash": "sha256-EiOq8jF4Z/zQe0QYVc3+qSKxRK//CFHMB84aYrYGwEs=", + "owner": "NuschtOS", + "repo": "ixx", + "rev": "9fd01aad037f345350eab2cd45e1946cc66da4eb", + "type": "github" + }, + "original": { + "owner": "NuschtOS", + "ref": "v0.0.6", + "repo": "ixx", + "type": "github" + } + }, + "ixx_2": { "inputs": { "flake-utils": [ "nixvim", @@ -720,11 +889,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1731941836, - "narHash": "sha256-zpmAzrvK8KdssBSwiIwwRxaUJ77oWORbW0XFvgCFpTE=", + "lastModified": 1734994463, + "narHash": "sha256-S9MgfQjNt4J3I7obdLOVY23h+Yl/hnyibwGfOl+1uOE=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "2f48272f34174fd2a5ab3df4d8a46919247be879", + "rev": "93e6f0d77548be8757c11ebda5c4235ef4f3bc67", "type": "github" }, "original": { @@ -740,14 +909,14 @@ "nixpkgs": [ "nixpkgs" ], - "nixpkgs-24_05": "nixpkgs-24_05" + "nixpkgs-24_11": "nixpkgs-24_11" }, "locked": { - "lastModified": 1734370678, - "narHash": "sha256-a8zkti1QM5Oxkdfnzr/NjrFlyqI36/kYV/X8G1jOmB4=", + "lastModified": 1734884447, + "narHash": "sha256-HA9fAmGNGf0cOYrhgoa+B6BxNVqGAYXfLyx8zIS0ZBY=", "ref": "refs/heads/master", - "rev": "c43d8c4a3ce84a7bebd110b06e69365484db6208", - "revCount": 601, + "rev": "63209b1def2c9fc891ad271f474a3464a5833294", + "revCount": 603, "type": "git", "url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git" }, @@ -758,16 +927,16 @@ }, "microvm": { "inputs": { - "flake-utils": "flake-utils_5", - "nixpkgs": "nixpkgs_3", + "flake-utils": "flake-utils_6", + "nixpkgs": "nixpkgs_6", "spectrum": "spectrum" }, "locked": { - "lastModified": 1734041466, - "narHash": "sha256-51bhaMe8BZuNAStUHvo07nDO72wmw8PAqkSYH4U31Yo=", + "lastModified": 1735074045, + "narHash": "sha256-CeYsC8J2dNiV2FCQOxK1oZ/jNpOF2io7aCEFHmfi95U=", "owner": "astro", "repo": "microvm.nix", - "rev": "3910e65c3d92c82ea41ab295c66df4c0b4f9e7b3", + "rev": "2ae08de8e8068b00193b9cfbc0acc9dfdda03181", "type": "github" }, "original": { @@ -841,11 +1010,11 @@ }, "nixlib": { "locked": { - "lastModified": 1734224914, - "narHash": "sha256-hKWALzQ/RxxXdKWsLKXULru6XTag9Cc5exgVyS4a/AE=", + "lastModified": 1734829460, + "narHash": "sha256-dPhc+f2wkmhMqMIfq+hColJdysgVxKP9ilZ5bR0NRZI=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "538697b664a64fade8ce628d01f35d1f1fd82d77", + "rev": "0a31e8d833173ae63e43fd9dbff1ccf09c4f778c", "type": "github" }, "original": { @@ -862,11 +1031,11 @@ ] }, "locked": { - "lastModified": 1734570415, - "narHash": "sha256-kcsDNcEr4hYuDc8l+ox41FvEPpmQTV3/3hgdx3tuxHw=", + "lastModified": 1734915500, + "narHash": "sha256-A7CTIQ8SW0hfbhKlwK+vSsu4pD+Oaelw3v6goX6go+U=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "b8f266f26bb757e7aec18adeee6919db6666c4f6", + "rev": "051d1b2dda3b2e81b38d82e2b691e5c2f4d335f4", "type": "github" }, "original": { @@ -877,11 +1046,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1734352517, - "narHash": "sha256-mfv+J/vO4nqmIOlq8Y1rRW8hVsGH3M+I2ESMjhuebDs=", + "lastModified": 1734954597, + "narHash": "sha256-QIhd8/0x30gEv8XEE1iAnrdMlKuQ0EzthfDR7Hwl+fk=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "b12e314726a4226298fe82776b4baeaa7bcf3dcd", + "rev": "def1d472c832d77885f174089b0d34854b007198", "type": "github" }, "original": { @@ -892,11 +1061,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1730785428, - "narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=", + "lastModified": 1734424634, + "narHash": "sha256-cHar1vqHOOyC7f1+tVycPoWTfKIaqkoe1Q6TnKzuti4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7", + "rev": "d3c42f187194c26d9f0309a8ecc469d6c878ce33", "type": "github" }, "original": { @@ -906,18 +1075,18 @@ "type": "github" } }, - "nixpkgs-24_05": { + "nixpkgs-24_11": { "locked": { - "lastModified": 1731797254, - "narHash": "sha256-df3dJApLPhd11AlueuoN0Q4fHo/hagP75LlM5K1sz9g=", + "lastModified": 1734083684, + "narHash": "sha256-5fNndbndxSx5d+C/D0p/VF32xDiJCJzyOqorOYW4JEo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e8c38b73aeb218e27163376a2d617e61a2ad9b59", + "rev": "314e12ba369ccdb9b352a4db26ff419f7c49fa84", "type": "github" }, "original": { "id": "nixpkgs", - "ref": "nixos-24.05", + "ref": "nixos-24.11", "type": "indirect" } }, @@ -939,11 +1108,27 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1720386169, - "narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=", + "lastModified": 1734600368, + "narHash": "sha256-nbG9TijTMcfr+au7ZVbKpAhMJzzE2nQBYmRvSdXUD8g=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "194846768975b7ad2c4988bdb82572c00222c0d7", + "rev": "b47fd6fa00c6afca88b8ee46cfdb00e104f50bca", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-24.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-stable_3": { + "locked": { + "lastModified": 1730741070, + "narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "d063c1dd113c91ab27959ba540c0d9753409edf3", "type": "github" }, "original": { @@ -953,86 +1138,7 @@ "type": "github" } }, - "nixpkgs_2": { - "locked": { - "lastModified": 1702272962, - "narHash": "sha256-D+zHwkwPc6oYQ4G3A1HuadopqRwUY/JkMwHz1YF7j4Q=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "e97b3e4186bcadf0ef1b6be22b8558eab1cdeb5d", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_3": { - "locked": { - "lastModified": 1733212471, - "narHash": "sha256-M1+uCoV5igihRfcUKrr1riygbe73/dzNnzPsmaLCmpo=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "55d15ad12a74eb7d4646254e13638ad0c4128776", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_4": { - "locked": { - "lastModified": 1734753021, - "narHash": "sha256-xtqjYzqqGb723XT+V63weQOqW0LHj1Hov28Co+BMhIw=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "3f0036916daca9836ba2c3f236b0ae051949a0a8", - "type": "github" - }, - "original": { - "id": "nixpkgs", - "ref": "nixos-unstable-small", - "type": "indirect" - } - }, - "nixpkgs_5": { - "locked": { - "lastModified": 1734424634, - "narHash": "sha256-cHar1vqHOOyC7f1+tVycPoWTfKIaqkoe1Q6TnKzuti4=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "d3c42f187194c26d9f0309a8ecc469d6c878ce33", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_6": { - "locked": { - "lastModified": 1734424634, - "narHash": "sha256-cHar1vqHOOyC7f1+tVycPoWTfKIaqkoe1Q6TnKzuti4=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "d3c42f187194c26d9f0309a8ecc469d6c878ce33", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_7": { + "nixpkgs_10": { "locked": { "lastModified": 1714656196, "narHash": "sha256-kjQkA98lMcsom6Gbhw8SYzmwrSo+2nruiTcTZp5jK7o=", @@ -1048,24 +1154,150 @@ "type": "github" } }, + "nixpkgs_2": { + "locked": { + "lastModified": 1734119587, + "narHash": "sha256-AKU6qqskl0yf2+JdRdD0cfxX4b9x3KKV5RqA6wijmPM=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "3566ab7246670a43abd2ffa913cc62dad9cdf7d5", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1702272962, + "narHash": "sha256-D+zHwkwPc6oYQ4G3A1HuadopqRwUY/JkMwHz1YF7j4Q=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "e97b3e4186bcadf0ef1b6be22b8558eab1cdeb5d", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_4": { + "locked": { + "lastModified": 1734973338, + "narHash": "sha256-E9JOCwppN3WX9oh6kV9w4nkN+6UPGNdzljscdJy5kTs=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "2b37ecedbb948e7607307c56e35aea5155eb65a7", + "type": "github" + }, + "original": { + "owner": "nixos", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_5": { + "locked": { + "lastModified": 1734649271, + "narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_6": { + "locked": { + "lastModified": 1733212471, + "narHash": "sha256-M1+uCoV5igihRfcUKrr1riygbe73/dzNnzPsmaLCmpo=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "55d15ad12a74eb7d4646254e13638ad0c4128776", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_7": { + "locked": { + "lastModified": 1734649271, + "narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "ref": "nixos-unstable", + "type": "indirect" + } + }, + "nixpkgs_8": { + "locked": { + "lastModified": 1734649271, + "narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_9": { + "locked": { + "lastModified": 1734649271, + "narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixvim": { "inputs": { "devshell": "devshell", "flake-compat": "flake-compat_6", "flake-parts": "flake-parts_3", "git-hooks": "git-hooks", - "home-manager": "home-manager_2", + "home-manager": "home-manager_3", "nix-darwin": "nix-darwin", - "nixpkgs": "nixpkgs_5", + "nixpkgs": "nixpkgs_8", "nuschtosSearch": "nuschtosSearch", "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1734749627, - "narHash": "sha256-5HLarzO44i6tUBIr+DRMeAHJP3p84Z1b9wuElv85O1U=", + "lastModified": 1735254735, + "narHash": "sha256-byFeQzjeTLgWkk2xEhTYqYvUsID7H2QAkzuFKIL2Stc=", "owner": "pta2002", "repo": "nixvim", - "rev": "9f32e25f3f2b029b76e79ef7c1f48cd3596938d8", + "rev": "1671f8618fa347d8a0cd62506df386d58d7608f3", "type": "github" }, "original": { @@ -1077,15 +1309,15 @@ "nur": { "inputs": { "flake-parts": "flake-parts_4", - "nixpkgs": "nixpkgs_6", + "nixpkgs": "nixpkgs_9", "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1734771797, - "narHash": "sha256-lQTY9t/3PP7RCCsSbLAPjzd3RvSkhUwevHuMSB+OlCE=", + "lastModified": 1735295865, + "narHash": "sha256-dEcYpI/FieSggzFqw2nxo/jVoSazd3wHKgJThb2gB58=", "owner": "nix-community", "repo": "NUR", - "rev": "887090ab19e70bcb02c0091a017f777888b4932f", + "rev": "e94eb2922f546865019dcde638518d9e8ca17f57", "type": "github" }, "original": { @@ -1094,10 +1326,33 @@ "type": "github" } }, + "nuscht-search": { + "inputs": { + "flake-utils": "flake-utils", + "ixx": "ixx", + "nixpkgs": [ + "catppuccin", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1733773348, + "narHash": "sha256-Y47y+LesOCkJaLvj+dI/Oa6FAKj/T9sKVKDXLNsViPw=", + "owner": "NuschtOS", + "repo": "search", + "rev": "3051be7f403bff1d1d380e4612f0c70675b44fc9", + "type": "github" + }, + "original": { + "owner": "NuschtOS", + "repo": "search", + "type": "github" + } + }, "nuschtosSearch": { "inputs": { - "flake-utils": "flake-utils_6", - "ixx": "ixx", + "flake-utils": "flake-utils_7", + "ixx": "ixx_2", "nixpkgs": [ "nixvim", "nixpkgs" @@ -1128,14 +1383,14 @@ "lanzaboote", "nixpkgs" ], - "nixpkgs-stable": "nixpkgs-stable_2" + "nixpkgs-stable": "nixpkgs-stable_3" }, "locked": { - "lastModified": 1730302582, - "narHash": "sha256-W1MIJpADXQCgosJZT8qBYLRuZls2KSiKdpnTVdKBuvU=", + "lastModified": 1731363552, + "narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "af8a16fe5c264f5e9e18bcee2859b40a656876cf", + "rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0", "type": "github" }, "original": { @@ -1154,13 +1409,14 @@ "essentials": "essentials", "flake-utils-plus": "flake-utils-plus", "gnome-autounlock-keyring": "gnome-autounlock-keyring", - "home-manager": "home-manager", + "home-manager": "home-manager_2", + "hyprland-qtutils": "hyprland-qtutils", "lanzaboote": "lanzaboote", "mailserver": "mailserver", "microvm": "microvm", "nixos-generators": "nixos-generators", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_4", + "nixpkgs": "nixpkgs_7", "nixvim": "nixvim", "nur": "nur", "t": "t", @@ -1176,11 +1432,11 @@ ] }, "locked": { - "lastModified": 1730601085, - "narHash": "sha256-Sgax33jGuvVHTjl1P78IwzlhAGyOxtx5Q26inKja8S4=", + "lastModified": 1731897198, + "narHash": "sha256-Ou7vLETSKwmE/HRQz4cImXXJBr/k9gp4J4z/PF8LzTE=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "8d1b40f8dfd7539aaa3de56e207e22b3cc451825", + "rev": "0be641045af6d8666c11c2c40e45ffc9667839b5", "type": "github" }, "original": { @@ -1236,6 +1492,21 @@ "type": "github" } }, + "systems_10": { + "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, @@ -1298,16 +1569,16 @@ }, "systems_6": { "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", "type": "github" }, "original": { "owner": "nix-systems", - "repo": "default", + "repo": "default-linux", "type": "github" } }, @@ -1341,9 +1612,24 @@ "type": "github" } }, + "systems_9": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "t": { "inputs": { - "flake-utils": "flake-utils_7", + "flake-utils": "flake-utils_8", "nixpkgs": [ "nixpkgs" ] @@ -1370,11 +1656,11 @@ ] }, "locked": { - "lastModified": 1733761991, - "narHash": "sha256-s4DalCDepD22jtKL5Nw6f4LP5UwoMcPzPZgHWjAfqbQ=", + "lastModified": 1734704479, + "narHash": "sha256-MMi74+WckoyEWBRcg/oaGRvXC9BVVxDZNRMpL+72wBI=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "0ce9d149d99bc383d1f2d85f31f6ebd146e46085", + "rev": "65712f5af67234dad91a5a4baee986a8b62dbf8f", "type": "github" }, "original": { @@ -1406,7 +1692,7 @@ }, "utils": { "inputs": { - "systems": "systems" + "systems": "systems_2" }, "locked": { "lastModified": 1701680307, @@ -1425,7 +1711,7 @@ "vault-secrets": { "inputs": { "flake-compat": "flake-compat_7", - "nixpkgs": "nixpkgs_7" + "nixpkgs": "nixpkgs_10" }, "locked": { "lastModified": 1714988039, @@ -1443,7 +1729,7 @@ }, "vault-unseal": { "inputs": { - "flake-utils": "flake-utils_8", + "flake-utils": "flake-utils_9", "nixpkgs": [ "nixpkgs" ] diff --git a/flake.nix b/flake.nix index 87e602f9..4c3913bb 100644 --- a/flake.nix +++ b/flake.nix @@ -5,7 +5,7 @@ # * https://github.com/Infinidoge/nix-minecraft inputs = { - nixpkgs.url = "nixpkgs/nixos-unstable-small"; + nixpkgs.url = "nixpkgs/nixos-unstable"; flake-utils-plus.url = "github:gytis-ivaskevicius/flake-utils-plus"; nur.url = "github:nix-community/NUR"; colmena.url = "github:zhaofengli/colmena"; @@ -34,7 +34,6 @@ vault-unseal.inputs.nixpkgs.follows = "nixpkgs"; gnome-autounlock-keyring.url = "git+https://git.0x76.dev/v/gnome-autounlock-keyring.git"; - gnome-autounlock-keyring.inputs.nixpkgs.follows = "nixpkgs"; t.url = "github:jdonszelmann/t-rs"; t.inputs.nixpkgs.follows = "nixpkgs"; @@ -48,6 +47,8 @@ essentials.inputs.nixpkgs.follows = "nixpkgs"; autostart.url = "github:Zocker1999NET/home-manager-xdg-autostart"; + + hyprland-qtutils.url = "github:hyprwm/hyprland-qtutils"; }; outputs = diff --git a/hosts/thalassa/aoife/default.nix b/hosts/thalassa/aoife/default.nix index 133ca25f..59dabf2c 100644 --- a/hosts/thalassa/aoife/default.nix +++ b/hosts/thalassa/aoife/default.nix @@ -29,10 +29,7 @@ # Bootloader. boot = { kernelParams = [ - # "amdgpu.sg_display=0" # did not fix the flickering - # "amdgpu.ppfeaturemask=0xffffffff" # did not fix flicker - # "amdgpu.graphics_sg=0" - "amdgpu.dcdebugmask=0x10" + "amdgpu.dcdebugmask=0x10" # Disables partial screen refresh, fixes flicker ]; bootspec.enable = true; initrd.kernelModules = [ "amdgpu" ]; @@ -59,7 +56,10 @@ # here, NOT in environment.systemPackages ]; - programs.hyprland.enable = true; + programs.hyprland = { + enable = true; + withUWSM = true; + }; services.gnome.gnome-keyring.enable = true; diff --git a/hosts/thalassa/aoife/home/default.nix b/hosts/thalassa/aoife/home/default.nix index bfbe13a8..f9a02f4b 100644 --- a/hosts/thalassa/aoife/home/default.nix +++ b/hosts/thalassa/aoife/home/default.nix @@ -15,13 +15,9 @@ ''; home.packages = with pkgs; [ - jetbrains.rust-rover - jetbrains.clion - # jetbrains.idea-ultimate eduvpn-client localsend typst - zed-editor ]; diff --git a/hosts/thalassa/aoife/home/hyprland.nix b/hosts/thalassa/aoife/home/hyprland.nix index f8242144..3797b4cf 100644 --- a/hosts/thalassa/aoife/home/hyprland.nix +++ b/hosts/thalassa/aoife/home/hyprland.nix @@ -2,110 +2,63 @@ pkgs, config, inputs, + lib, ... }: let terminal = "${config.programs.kitty.package}/bin/kitty -1"; in { + imports = [ + ./waybar.nix + ]; home.packages = with pkgs; [ - v.hyprland-workspaces + hyprland-workspaces + inputs.gnome-autounlock-keyring.packages.${pkgs.system}.default + inputs.hyprland-qtutils.packages.${pkgs.system}.default ]; services = { - mako.enable = true; + mako = { + enable = true; + defaultTimeout = 5000; + }; }; programs = { - wofi = { + rofi = { enable = true; + package = pkgs.rofi-wayland; }; # eww = { - # enable = true; - # configDir = ./eww; + # enable = true; + # configDir = ./eww; # }; + }; + # Hack to ensure graphical dependent services start _after_ hyprland starts + # Needed as these services normally start after graphical-session-pre + systemd.user.services.hyprpaper.Unit.After = lib.mkForce "graphical-session.target"; + systemd.user.services.waybar.Unit.After = lib.mkForce "graphical-session.target"; - waybar = { - enable = true; - style = ./waybar.css; - settings = { - mainBar = { - layer = "top"; - position = "top"; - height = 30; - modules-left = [ "hyprland/workspaces" ]; - modules-center = [ "clock" ]; - modules-right = [ - "wireplumber" - "power-profiles-daemon" - "network" - "battery" - ]; + services = { + gnome-keyring.enable = true; + hyprpaper = + let + wallpaper = ../../../../assets/wallpaper-nix-pink.png; + in + { + enable = true; + settings = { + preload = [ "${wallpaper}" ]; + wallpaper = [ "eDP-1,${wallpaper}" ]; - wireplumber = { - format = "󰕾 {volume}%"; - format-muted = "󰖁"; - on-click = "${pkgs.wireplumber}/bin/wpctl set-mute @DEFAULT_SINK@ toggle"; - }; - - network = - let - nmtui = pkgs.writeScriptBin "nmtui.sh" '' - #!${pkgs.stdenv.shell} - unset COLORTERM - TERM=xterm-old ${pkgs.networkmanager}/bin/nmtui - ''; - in - { - format-wifi = "󰖩 {essid} ({signalStrength}%)"; - format-ethernet = "󰈀 {ifname}: {ipaddr}/{cidr}"; - format-disconnected = "󰌙 "; - tooltip-format = "{ifname}: {ipaddr}"; - on-click = "touch ~/a && ${terminal} --execute ${nmtui}/bin/nmtui.sh"; - }; - - power-profiles-daemon = { - format = "{icon}"; - format-icons = { - performance = "󰓅"; - balanced = "󰾅"; - power-saver = "󰾆"; - }; - }; - - battery = { - states = { - warning = 30; - critical = 15; - }; - - format = "󱐋 {capacity}%"; - format-discharging = "{icon} {capacity}%"; - - format-icons = [ - "󰂎" - "󰁺" - "󰁻" - "󰁼" - "󰁽" - "󰁾" - "󰁿" - "󰂀" - "󰂁" - "󰂂" - "󰁹" - ]; - }; + splash = false; + ipc = "off"; }; }; - systemd = { - enable = true; - target = "hyprland-session.target"; - }; - }; }; wayland.windowManager.hyprland = @@ -118,44 +71,31 @@ in hyprctl keyword monitor ",preferred,auto,1,mirror,eDP-1" fi ''; + # Autostart now handled by xdg.autoStart startup = pkgs.writeScriptBin "startup.sh" '' #!${pkgs.stdenv.shell} - firefox & - discord & - - # start keyring, then unlock it, then start Element - gnome-keyring-daemon -r -d && ${ - inputs.gnome-autounlock-keyring.packages.${pkgs.system}.default - }/bin/gnome-autounlock-keyring unlock && element-desktop & + echo "Starting up" ''; - hyprpaper-conf = - let - wallpaper = ../../../../assets/wallpaper-nix-pink.png; - in - pkgs.writeText "hyprpaper.conf" '' - preload = ${wallpaper} - wallpaper = eDP-1,${wallpaper} - - splash = false - ipc = off - ''; in { enable = true; - systemd.enable = true; + systemd.enable = false; # using UWSM + + plugins = with pkgs.hyprlandPlugins; [ + hyprexpo + ]; settings = let inherit (builtins) genList concatLists toString; wpctl = "${pkgs.wireplumber}/bin/wpctl"; brightnessctl = "${pkgs.brightnessctl}/bin/brightnessctl"; - menu = "${config.programs.wofi.package}/bin/wofi --show run,drun"; + menu = "${config.programs.rofi.package}/bin/rofi -show combi -modes combi -combi-modes \"window,drun,run\""; fileManager = "${pkgs.nautilus}/bin/nautilus"; in { "$mod" = "SUPER"; exec-once = [ - "${pkgs.hyprpaper}/bin/hyprpaper -c ${hyprpaper-conf}" "${startup}/bin/startup.sh" ]; monitor = [ @@ -169,11 +109,11 @@ in gaps_in = 5; gaps_out = 10; border_size = 2; - "col.active_border" = "rgba(8caaeeee) rgba(a6d189ee) 45deg"; + "col.active_border" = "rgba(babbf1ee) rgba(f4b8e4ee) 45deg"; "col.inactive_border" = "rgba(303446aa)"; layout = "dwindle"; # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on - allow_tearing = false; + allow_tearing = true; }; group = { "col.border_active" = "rgba(babbf1ee) rgba(f4b8e4ee) 45deg"; @@ -187,6 +127,14 @@ in text_color = "rgba(ffffffee)"; }; }; + + plugin.hyprexpo = { + workspace_method = "first 1"; + enable_gesture = true; + gesture_positive = false; + gesture_fingers = 3; + }; + decoration = { rounding = 10; @@ -213,8 +161,8 @@ in "windowsOut, 1, 7, default, popin 80%" "border, 1, 10, default" "borderangle, 1, 8, default" - "fade, 1, 7, default" - "workspaces, 1, 6, default" + "fade, 1, 4, default" + "workspaces, 1, 4, default" ]; }; dwindle = { @@ -254,7 +202,7 @@ in [ "$mod, RETURN, exec, ${terminal}" "$mod, Q, killactive," - "$mod SHIFT, escape, exit," + "$mod SHIFT, Q, exec, uwsm stop," "$mod, E, exec, ${fileManager}" "$mod, V, togglefloating," "$mod, D, exec, ${menu}" @@ -262,6 +210,8 @@ in "$mod, J, togglesplit, # dwindle" "$mod,m,fullscreen" + "$mod, space, hyprexpo:expo, toggle" + # Move focus with arrow keys "$mod, left, movefocus, l" "$mod, right, movefocus, r" @@ -271,6 +221,7 @@ in # Scratch workspace "$mod, S, togglespecialworkspace, magic" "$mod SHIFT, S, movetoworkspace, special:magic" + # Groups aka Tabs "$mod,g,togglegroup" "$mod,tab,changegroupactive" diff --git a/hosts/thalassa/aoife/home/waybar.nix b/hosts/thalassa/aoife/home/waybar.nix new file mode 100644 index 00000000..2f07a5a0 --- /dev/null +++ b/hosts/thalassa/aoife/home/waybar.nix @@ -0,0 +1,84 @@ +{ pkgs, config, ... }: +let + terminal = "${config.programs.kitty.package}/bin/kitty -1"; +in +{ + programs.waybar = { + enable = true; + systemd = { + enable = true; + # target = "wayland-session@Hyprland.target"; + }; + style = ./waybar.css; + settings = { + mainBar = { + layer = "top"; + position = "top"; + height = 30; + modules-left = [ "hyprland/workspaces" ]; + modules-center = [ "clock" ]; + modules-right = [ + "wireplumber" + "power-profiles-daemon" + "network" + "battery" + ]; + + wireplumber = { + format = "󰕾 {volume}%"; + format-muted = "󰖁"; + on-click = "${pkgs.wireplumber}/bin/wpctl set-mute @DEFAULT_SINK@ toggle"; + }; + + network = + let + nmtui = pkgs.writeScriptBin "nmtui.sh" '' + #!${pkgs.stdenv.shell} + unset COLORTERM + TERM=xterm-old ${pkgs.networkmanager}/bin/nmtui + ''; + in + { + format-wifi = "󰖩 {essid} ({signalStrength}%)"; + format-ethernet = "󰈀 {ifname}: {ipaddr}/{cidr}"; + format-disconnected = "󰌙 "; + tooltip-format = "{ifname}: {ipaddr}"; + on-click = "touch ~/a && ${terminal} --execute ${nmtui}/bin/nmtui.sh"; + }; + + power-profiles-daemon = { + format = "{icon}"; + format-icons = { + performance = "󰓅"; + balanced = "󰾅"; + power-saver = "󰾆"; + }; + }; + + battery = { + states = { + warning = 30; + critical = 15; + }; + + format = "󱐋 {capacity}%"; + format-discharging = "{icon} {capacity}%"; + + format-icons = [ + "󰂎" + "󰁺" + "󰁻" + "󰁼" + "󰁽" + "󰁾" + "󰁿" + "󰂀" + "󰂁" + "󰂂" + "󰁹" + ]; + }; + }; + }; + }; +} diff --git a/pkgs/default.nix b/pkgs/default.nix index 53a34a43..9e172ca2 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -21,8 +21,6 @@ final: prev: { platformio.platformio-ide = prev.callPackage ./vscode-extensions/platformio.nix { }; }; - - hyprland-workspaces = prev.callPackage ./hyprland-workspaces { }; }; plex-plexpass = prev.callPackage ./plex-pass { }; diff --git a/pkgs/hyprland-workspaces/default.nix b/pkgs/hyprland-workspaces/default.nix deleted file mode 100644 index af9f9136..00000000 --- a/pkgs/hyprland-workspaces/default.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ rustPlatform, lib, fetchFromGitHub }: -rustPlatform.buildRustPackage rec { - pname = "hyprland-workspaces"; - version = "2.0.0"; - - src = fetchFromGitHub { - owner = "FieldofClay"; - repo = pname; - rev = "v${version}"; - sha256 = "sha256-4QGLTimIpx74gWUyHCheUZZT1WgVzBoJRY8OlUDdOh4="; - }; - - cargoHash = "sha256-9ndP0nyRBCdOGth4UWA263IvjbgnVW2x9PK8oTaMrxg="; - - meta = with lib; { - description = "A multi-monitor aware Hyprland workspace widget"; - license = licenses.mit; - platforms = platforms.linux; - }; -} From 8413ab2e0f5b50556032709ccf6e6b8f8618f9f9 Mon Sep 17 00:00:00 2001 From: Vivian Date: Fri, 27 Dec 2024 14:38:41 +0100 Subject: [PATCH 65/88] hyprlock --- hosts/thalassa/aoife/default.nix | 59 +++++++------ hosts/thalassa/aoife/home/hyprland.nix | 117 ++++++++++++++++++++++--- 2 files changed, 137 insertions(+), 39 deletions(-) diff --git a/hosts/thalassa/aoife/default.nix b/hosts/thalassa/aoife/default.nix index 59dabf2c..22b10902 100644 --- a/hosts/thalassa/aoife/default.nix +++ b/hosts/thalassa/aoife/default.nix @@ -6,7 +6,6 @@ inputs, lib, pkgs, - modulesPath, ... }: { @@ -24,8 +23,6 @@ users.users.vivian.extraGroups = [ "adbusers" ]; - services.flatpak.enable = true; - # Bootloader. boot = { kernelParams = [ @@ -48,36 +45,44 @@ }; home-manager.users.vivian = import ./home; + programs = { + nix-ld.enable = true; + nix-ld.libraries = with pkgs; [ + # Add any missing dynamic libraries for unpackaged programs - programs.nix-ld.enable = true; - programs.nix-ld.libraries = with pkgs; [ - # Add any missing dynamic libraries for unpackaged programs + # here, NOT in environment.systemPackages + ]; - # here, NOT in environment.systemPackages - ]; - - programs.hyprland = { - enable = true; - withUWSM = true; + hyprland = { + enable = true; + withUWSM = true; + }; + hyprlock.enable = true; }; - services.gnome.gnome-keyring.enable = true; + services = { + hypridle.enable = true; - services.ollama = { - enable = true; - acceleration = "rocm"; - rocmOverrideGfx = "10.3.4"; - }; + flatpak.enable = true; - services.interception-tools = { - enable = true; - plugins = [ pkgs.interception-tools-plugins.caps2esc ]; - udevmonConfig = '' - - JOB: "${pkgs.interception-tools}/bin/intercept -g $DEVNODE | ${pkgs.interception-tools-plugins.caps2esc}/bin/caps2esc | ${pkgs.interception-tools}/bin/uinput -d $DEVNODE" - DEVICE: - EVENTS: - EV_KEY: [KEY_CAPSLOCK, KEY_ESC] - ''; + gnome.gnome-keyring.enable = true; + + ollama = { + enable = true; + acceleration = "rocm"; + rocmOverrideGfx = "10.3.4"; + }; + + interception-tools = { + enable = true; + plugins = [ pkgs.interception-tools-plugins.caps2esc ]; + udevmonConfig = '' + - JOB: "${pkgs.interception-tools}/bin/intercept -g $DEVNODE | ${pkgs.interception-tools-plugins.caps2esc}/bin/caps2esc | ${pkgs.interception-tools}/bin/uinput -d $DEVNODE" + DEVICE: + EVENTS: + EV_KEY: [KEY_CAPSLOCK, KEY_ESC] + ''; + }; }; # Enable Ozone rendering for Chromium and Electron apps. diff --git a/hosts/thalassa/aoife/home/hyprland.nix b/hosts/thalassa/aoife/home/hyprland.nix index 3797b4cf..bd1642fb 100644 --- a/hosts/thalassa/aoife/home/hyprland.nix +++ b/hosts/thalassa/aoife/home/hyprland.nix @@ -19,32 +19,117 @@ in inputs.hyprland-qtutils.packages.${pkgs.system}.default ]; - services = { - mako = { - enable = true; - defaultTimeout = 5000; - }; - }; - programs = { rofi = { enable = true; package = pkgs.rofi-wayland; }; + hyprlock = { + enable = true; + settings = + let + color = "rgba(242, 243, 244, 0.75)"; + in + { + auth.fingerprint.enabled = true; + + background = { + path = "screenshot"; + blur_passes = 3; + }; + + input-field = { + size = "500, 100"; + outline_thickness = 0; + dots_size = 0.25; # Scale of input-field height, 0.2 - 0.8 + dots_spacing = 0.55; # Scale of dots' absolute size, 0.0 - 1.0 + dots_center = true; + dots_rounding = -1; + outer_color = "rgba(242, 243, 244, 0)"; + inner_color = "rgba(242, 243, 244, 0)"; + font_color = "rgba(242, 243, 244, 0.75)"; + fade_on_empty = false; + placeholder_text = "Start typing or scan fingerprint"; # Text rendered in the input box when it's empty. + hide_input = false; + check_color = "rgba(204, 136, 34, 0)"; + fail_color = "rgba(204, 34, 34, 0)"; # if authentication failed, changes outer_color and fail message color + fail_text = "$FAIL ($ATTEMPTS)"; # can be set to empty + fail_transition = 300; # transition time in ms between normal outer_color and fail_color + capslock_color = -1; + numlock_color = -1; + bothlock_color = -1; # when both locks are active. -1 means don't change outer color (same for above) + invert_numlock = false; # change color if numlock is off + swap_font_color = false; # see below + # position = "0, -468"; + position = "0, -900"; + halign = "center"; + valign = "center"; + }; + + label = [ + { + text = "$TIME"; + inherit color; + shadow_passes = 1; + shadow_boost = 0.5; + font_size = 120; + # position = "0, 900"; + halign = "center"; + valign = "center"; + } + ]; + }; + }; + # eww = { # enable = true; # configDir = ./eww; # }; }; - # Hack to ensure graphical dependent services start _after_ hyprland starts - # Needed as these services normally start after graphical-session-pre - systemd.user.services.hyprpaper.Unit.After = lib.mkForce "graphical-session.target"; - systemd.user.services.waybar.Unit.After = lib.mkForce "graphical-session.target"; - services = { gnome-keyring.enable = true; + + mako = { + enable = true; + defaultTimeout = 5000; + }; + + hypridle = { + enable = true; + + settings = { + general = { + lock_cmd = "pidof hyprlock || hyprlock"; + before_sleep_cmd = "loginctl lock-session"; + after_sleep_cmd = "hyprctl dispatch dpms on"; + }; + + listener = [ + { + timeout = 150; # 2.5 mins + on-timeout = "${pkgs.brightnessctl}/bin/brightnessctl -s set 10"; + on-resume = "${pkgs.brightnessctl}/bin/brightnessctl -r"; + } + { + timeout = 150; # 2.5 mins + on-timeout = "${pkgs.brightnessctl}/bin/brightnessctl -sd tpacpi:kbd_backlight set 0"; + on-resume = "${pkgs.brightnessctl}/bin/brightnessctl -rd tpacpi::kbd_backlight"; + } + { + timeout = 300; # 5 mins + on-timeout = "loginctl lock-session"; + } + { + timeout = 600; # 10 mins + on-timeout = "hyprctl dispatch dpms off"; + on-resume = "hyprctl dispatch dpms on"; + } + ]; + }; + }; + hyprpaper = let wallpaper = ../../../../assets/wallpaper-nix-pink.png; @@ -59,8 +144,14 @@ in ipc = "off"; }; }; + }; + # Hack to ensure graphical dependent services start _after_ hyprland starts + # Needed as these services normally start after graphical-session-pre + systemd.user.services.hyprpaper.Unit.After = lib.mkForce "graphical-session.target"; + systemd.user.services.waybar.Unit.After = lib.mkForce "graphical-session.target"; + wayland.windowManager.hyprland = let toggle_mirror = pkgs.writeScriptBin "toggle_mirror.sh" '' @@ -210,6 +301,8 @@ in "$mod, J, togglesplit, # dwindle" "$mod,m,fullscreen" + "$mod, L, exec, loginctl lock-session" + "$mod, space, hyprexpo:expo, toggle" # Move focus with arrow keys From afa692e17d815c816a30f5829b83f203965835c3 Mon Sep 17 00:00:00 2001 From: Vivian Date: Mon, 30 Dec 2024 10:19:30 +0100 Subject: [PATCH 66/88] ricing --- common/default.nix | 35 ++++++++++++++--------- common/desktop/home.nix | 1 + common/hm-modules/nvim/default.nix | 5 +++- hosts/thalassa/aoife/home/hyprland.nix | 39 ++++++++++++++++++-------- hosts/thalassa/aoife/home/waybar.nix | 8 ++---- 5 files changed, 56 insertions(+), 32 deletions(-) diff --git a/common/default.nix b/common/default.nix index df655bea..49e4611d 100644 --- a/common/default.nix +++ b/common/default.nix @@ -1,4 +1,9 @@ -{ lib, inputs, pkgs, ... }: +{ + lib, + inputs, + pkgs, + ... +}: { imports = [ ./users @@ -75,21 +80,23 @@ ''; }; - # Limit the systemd journal to 100 MB of disk or the - # last 7 days of logs, whichever happens first. - services.journald.extraConfig = '' - SystemMaxUse=100M - MaxFileSec=7day - ''; + services = { + # Limit the systemd journal to 100 MB of disk or the + # last 7 days of logs, whichever happens first. + journald.extraConfig = '' + SystemMaxUse=100M + MaxFileSec=7day + ''; - services.dbus.implementation = "broker"; + dbus.implementation = "broker"; - # Enable SSH - services.openssh = { - enable = true; - settings = { - PasswordAuthentication = lib.mkDefault false; - PermitRootLogin = lib.mkDefault "no"; + # Enable SSH + openssh = { + enable = true; + settings = { + PasswordAuthentication = lib.mkDefault false; + PermitRootLogin = lib.mkDefault "no"; + }; }; }; diff --git a/common/desktop/home.nix b/common/desktop/home.nix index 07489b02..4c7eddcd 100644 --- a/common/desktop/home.nix +++ b/common/desktop/home.nix @@ -112,6 +112,7 @@ in element-desktop firefox discord + obsidian ]; }; diff --git a/common/hm-modules/nvim/default.nix b/common/hm-modules/nvim/default.nix index 4c0fd35a..bf7f9472 100644 --- a/common/hm-modules/nvim/default.nix +++ b/common/hm-modules/nvim/default.nix @@ -62,7 +62,10 @@ with lib; plugins = { nvim-surround.enable = true; dap.enable = true; - image.enable = true; + image = { + enable = true; + backend = "kitty"; + }; web-devicons.enable = true; bufferline.enable = true; nix.enable = true; diff --git a/hosts/thalassa/aoife/home/hyprland.nix b/hosts/thalassa/aoife/home/hyprland.nix index bd1642fb..a98da69a 100644 --- a/hosts/thalassa/aoife/home/hyprland.nix +++ b/hosts/thalassa/aoife/home/hyprland.nix @@ -23,6 +23,9 @@ in rofi = { enable = true; package = pkgs.rofi-wayland; + theme = { + listview.columns = 1; + }; }; hyprlock = { @@ -50,7 +53,7 @@ in inner_color = "rgba(242, 243, 244, 0)"; font_color = "rgba(242, 243, 244, 0.75)"; fade_on_empty = false; - placeholder_text = "Start typing or scan fingerprint"; # Text rendered in the input box when it's empty. + placeholder_text = "Enter password or scan fingerprint.."; # Text rendered in the input box when it's empty. hide_input = false; check_color = "rgba(204, 136, 34, 0)"; fail_color = "rgba(204, 34, 34, 0)"; # if authentication failed, changes outer_color and fail message color @@ -122,10 +125,14 @@ in on-timeout = "loginctl lock-session"; } { - timeout = 600; # 10 mins + timeout = 600; # 10 mins, screen off on-timeout = "hyprctl dispatch dpms off"; on-resume = "hyprctl dispatch dpms on"; } + { + timeout = 1800; # 30 mins + on-timeout = "systemctl suspend"; + } ]; }; }; @@ -165,7 +172,7 @@ in # Autostart now handled by xdg.autoStart startup = pkgs.writeScriptBin "startup.sh" '' #!${pkgs.stdenv.shell} - echo "Starting up" + uwsm app -- ${pkgs.wl-clip-persist}/bin/wl-clip-persist -c both & ''; in { @@ -181,7 +188,7 @@ in inherit (builtins) genList concatLists toString; wpctl = "${pkgs.wireplumber}/bin/wpctl"; brightnessctl = "${pkgs.brightnessctl}/bin/brightnessctl"; - menu = "${config.programs.rofi.package}/bin/rofi -show combi -modes combi -combi-modes \"window,drun,run\""; + menu = "${config.programs.rofi.package}/bin/rofi -columns 1 -show combi -modes combi -combi-modes \"window,drun,run\""; fileManager = "${pkgs.nautilus}/bin/nautilus"; in { @@ -270,12 +277,16 @@ in }; windowrulev2 = [ - "suppressevent maximize, class:.* # You'll probably like this." + "suppressevent maximize, class:.*" + "workspace 1 silent, class:^(Element)$" "workspace 1 silent, class:^(discord)$" "group, class:^(Element|discord)$,workspace:1" + "workspace 2 silent, class:^(firefox)$" "float,class:^(firefox)$,title:^(Picture-in-Picture)$" + + "workspace special:obsidian silent, class:^(obsidian)$" ]; # l -> works when screen is locked @@ -287,16 +298,16 @@ in ",XF86MonBrightnessDown,exec,${brightnessctl} -q s 5%-" ]; - bindl = [ ",XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" ]; + bindl = [ ",XF86AudioMute, exec, ${wpctl} set-mute @DEFAULT_AUDIO_SINK@ toggle" ]; bind = [ - "$mod, RETURN, exec, ${terminal}" + "$mod, RETURN, exec, uwsm app -- ${terminal}" "$mod, Q, killactive," "$mod SHIFT, Q, exec, uwsm stop," - "$mod, E, exec, ${fileManager}" + "$mod, E, exec, uwsm app -- ${fileManager}" "$mod, V, togglefloating," - "$mod, D, exec, ${menu}" + "$mod, D, exec, uwsm app -- ${menu}" "$mod, P, pseudo, # dwindle" "$mod, J, togglesplit, # dwindle" "$mod,m,fullscreen" @@ -312,15 +323,19 @@ in "$mod, down, movefocus, d" # Scratch workspace - "$mod, S, togglespecialworkspace, magic" - "$mod SHIFT, S, movetoworkspace, special:magic" + "$mod, S, togglespecialworkspace, scratch" + "$mod SHIFT, S, movetoworkspace, special:scratch" + + # Obsidian Workspace + "$mod, O, togglespecialworkspace, obsidian" + "$mod SHIFT, O, movetoworkspace, special:obsidian" # Groups aka Tabs "$mod,g,togglegroup" "$mod,tab,changegroupactive" # PrintScreen - ",Print,exec,${pkgs.grimblast}/bin/grimblast copysave area /home/vivian/cloud/Pictures/Screenshots/$(date +%s).png" + ",Print,exec,uwsm app -- ${pkgs.grimblast}/bin/grimblast copysave area /home/vivian/cloud/Pictures/Screenshots/$(date +%s).png" # Toggle Mirror for external displays on/off ",XF86Display,exec,${toggle_mirror}/bin/toggle_mirror.sh" ] diff --git a/hosts/thalassa/aoife/home/waybar.nix b/hosts/thalassa/aoife/home/waybar.nix index 2f07a5a0..ac48a495 100644 --- a/hosts/thalassa/aoife/home/waybar.nix +++ b/hosts/thalassa/aoife/home/waybar.nix @@ -5,11 +5,9 @@ in { programs.waybar = { enable = true; - systemd = { - enable = true; - # target = "wayland-session@Hyprland.target"; - }; + systemd.enable = true; style = ./waybar.css; + settings = { mainBar = { layer = "top"; @@ -43,7 +41,7 @@ in format-ethernet = "󰈀 {ifname}: {ipaddr}/{cidr}"; format-disconnected = "󰌙 "; tooltip-format = "{ifname}: {ipaddr}"; - on-click = "touch ~/a && ${terminal} --execute ${nmtui}/bin/nmtui.sh"; + on-click = "${terminal} --execute ${nmtui}/bin/nmtui.sh"; }; power-profiles-daemon = { From 002adf25c24480d5134f7c25fa4177c6ba5abcb2 Mon Sep 17 00:00:00 2001 From: Vivian Date: Mon, 30 Dec 2024 21:02:16 +0100 Subject: [PATCH 67/88] some updates --- common/desktop/default.nix | 4 +--- common/modules/gnome/default.nix | 19 ++++++++++++++----- flake.lock | 8 ++++---- flake.nix | 2 +- hosts/thalassa/aoife/default.nix | 3 +++ hosts/thalassa/aoife/hardware.nix | 5 ++--- hosts/thalassa/aoife/home/hyprland.nix | 4 +++- 7 files changed, 28 insertions(+), 17 deletions(-) diff --git a/common/desktop/default.nix b/common/desktop/default.nix index 415aee01..94558676 100644 --- a/common/desktop/default.nix +++ b/common/desktop/default.nix @@ -32,8 +32,8 @@ }; }; - hardware.pulseaudio.enable = false; services = { + pulseaudio.enable = false; # Enable my config for the gnome desktop environment v.gnome.enable = lib.mkDefault true; @@ -80,7 +80,6 @@ sbctl ]; # ++ (if config.virtualisation.podman.enable then [ pkgs.podman-compose ] else []); - security.rtkit.enable = true; virtualisation = { @@ -123,7 +122,6 @@ adb.enable = true; }; - networking = { # Networking networkmanager.enable = true; diff --git a/common/modules/gnome/default.nix b/common/modules/gnome/default.nix index 9eb852e1..b3a2ddde 100644 --- a/common/modules/gnome/default.nix +++ b/common/modules/gnome/default.nix @@ -56,8 +56,9 @@ in # Add Home-manager dconf stuff home-manager.sharedModules = mkIf cfg.hm [ ./hm.nix ]; - environment.gnome.excludePackages = - (with pkgs; [ + environment.gnome.excludePackages = ( + with pkgs; + [ gnome-photos gnome-tour gnome-connections @@ -78,13 +79,21 @@ in hitori # sudoku game gnome-notes gnome-weather - ]); + gnome-software + ] + ); + + services.gnome.evolution-data-server.enable = lib.mkForce false; + services.gnome.gnome-online-accounts.enable = false; + services.gnome.gnome-remote-desktop.enable = false; + services.gnome.gnome-user-share.enable = false; + services.gnome.rygel.enable = false; + services.gnome.tinysparql.enable = false; + services.gnome.localsearch.enable = false; # Services required for gnome programs.dconf.enable = true; - - # Extra gnome packages environment.systemPackages = with pkgs; [ gnome-tweaks diff --git a/flake.lock b/flake.lock index 27c76aa0..c6355419 100644 --- a/flake.lock +++ b/flake.lock @@ -1235,16 +1235,16 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1734649271, - "narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=", + "lastModified": 1735581264, + "narHash": "sha256-q4ocr/efe8RXw7/SPpTZVqw6GNRWTEMdOUMt66QephQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507", + "rev": "98f9d01a955f7d568df2d1d362481f5423318216", "type": "github" }, "original": { "id": "nixpkgs", - "ref": "nixos-unstable", + "ref": "nixos-unstable-small", "type": "indirect" } }, diff --git a/flake.nix b/flake.nix index 4c3913bb..dd8887e3 100644 --- a/flake.nix +++ b/flake.nix @@ -5,7 +5,7 @@ # * https://github.com/Infinidoge/nix-minecraft inputs = { - nixpkgs.url = "nixpkgs/nixos-unstable"; + nixpkgs.url = "nixpkgs/nixos-unstable-small"; flake-utils-plus.url = "github:gytis-ivaskevicius/flake-utils-plus"; nur.url = "github:nix-community/NUR"; colmena.url = "github:zhaofengli/colmena"; diff --git a/hosts/thalassa/aoife/default.nix b/hosts/thalassa/aoife/default.nix index 22b10902..3a042ac9 100644 --- a/hosts/thalassa/aoife/default.nix +++ b/hosts/thalassa/aoife/default.nix @@ -58,10 +58,13 @@ withUWSM = true; }; hyprlock.enable = true; + evolution.enable = false; }; + services = { hypridle.enable = true; + xserver.displayManager.gdm.enable = true; flatpak.enable = true; diff --git a/hosts/thalassa/aoife/hardware.nix b/hosts/thalassa/aoife/hardware.nix index c59f8a25..0d5744e7 100644 --- a/hosts/thalassa/aoife/hardware.nix +++ b/hosts/thalassa/aoife/hardware.nix @@ -62,12 +62,11 @@ powerManagement = { enable = true; - powertop.enable = true; + # powertop.enable = true; }; + security = { tpm2 = { - - # tpm enable = true; pkcs11.enable = true; # expose /run/current-system/sw/lib/libtpm2_pkcs11.so tctiEnvironment.enable = true; diff --git a/hosts/thalassa/aoife/home/hyprland.nix b/hosts/thalassa/aoife/home/hyprland.nix index a98da69a..1f4f50cc 100644 --- a/hosts/thalassa/aoife/home/hyprland.nix +++ b/hosts/thalassa/aoife/home/hyprland.nix @@ -158,6 +158,7 @@ in # Needed as these services normally start after graphical-session-pre systemd.user.services.hyprpaper.Unit.After = lib.mkForce "graphical-session.target"; systemd.user.services.waybar.Unit.After = lib.mkForce "graphical-session.target"; + systemd.user.services.hypridle.Unit.After = lib.mkForce "graphical-session.target"; wayland.windowManager.hyprland = let @@ -267,6 +268,7 @@ in preserve_split = "yes"; pseudotile = "yes"; }; + gestures.workspace_swipe = true; misc = { @@ -298,7 +300,7 @@ in ",XF86MonBrightnessDown,exec,${brightnessctl} -q s 5%-" ]; - bindl = [ ",XF86AudioMute, exec, ${wpctl} set-mute @DEFAULT_AUDIO_SINK@ toggle" ]; + bindl = [ ",XF86AudioMute, exec,${wpctl} set-mute @DEFAULT_AUDIO_SINK@ toggle" ]; bind = [ From 715d42169e9967ae0b8c0ed5fe28538cc4b1f9a7 Mon Sep 17 00:00:00 2001 From: Vivian Date: Wed, 8 Jan 2025 20:25:20 +0100 Subject: [PATCH 68/88] some updates --- flake.lock | 110 ++++++++++++++++++++++++++--------------------------- flake.nix | 2 +- 2 files changed, 54 insertions(+), 58 deletions(-) diff --git a/flake.lock b/flake.lock index c6355419..1e43253e 100644 --- a/flake.lock +++ b/flake.lock @@ -67,11 +67,11 @@ "nuscht-search": "nuscht-search" }, "locked": { - "lastModified": 1735263930, - "narHash": "sha256-vU7SkHINr+NqmZeFLA11plsaUfazKKpdEhI/oTJbK3Q=", + "lastModified": 1736069220, + "narHash": "sha256-76MaB3COao55nlhWmSmq9PKgu2iGIs54C1cAE0E5J6Y=", "owner": "catppuccin", "repo": "nix", - "rev": "a2e641bc6b17129d81d54019e14c9956784c69c6", + "rev": "8eada392fd6571a747e1c5fc358dd61c14c8704e", "type": "github" }, "original": { @@ -194,11 +194,11 @@ ] }, "locked": { - "lastModified": 1728330715, - "narHash": "sha256-xRJ2nPOXb//u1jaBnDP56M7v5ldavjbtR6lfGqSvcKg=", + "lastModified": 1735644329, + "narHash": "sha256-tO3HrHriyLvipc4xr+Ewtdlo7wM1OjXNjlWRgmM7peY=", "owner": "numtide", "repo": "devshell", - "rev": "dd6b80932022cea34a019e2bb32f6fa9e494dfef", + "rev": "f7795ede5b02664b57035b3b757876703e2c3eac", "type": "github" }, "original": { @@ -388,11 +388,11 @@ ] }, "locked": { - "lastModified": 1733312601, - "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", + "lastModified": 1736143030, + "narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", + "rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de", "type": "github" }, "original": { @@ -609,18 +609,14 @@ "nixpkgs": [ "nixvim", "nixpkgs" - ], - "nixpkgs-stable": [ - "nixvim", - "nixpkgs" ] }, "locked": { - "lastModified": 1734797603, - "narHash": "sha256-ulZN7ps8nBV31SE+dwkDvKIzvN6hroRY8sYOT0w+E28=", + "lastModified": 1735882644, + "narHash": "sha256-3FZAG+pGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "f0f0dc4920a903c3e08f5bdb9246bb572fcae498", + "rev": "a5a961387e75ae44cc20f0a57ae463da5e959656", "type": "github" }, "original": { @@ -742,11 +738,11 @@ ] }, "locked": { - "lastModified": 1735053786, - "narHash": "sha256-Gm+0DcbUS338vvkwyYWms5jsWlx8z8MeQBzcnIDuIkw=", + "lastModified": 1736354372, + "narHash": "sha256-etLMa2BWCXWhG8WKyjsylvu+uskpJ4dQ+K8N0wEr5vc=", "owner": "nix-community", "repo": "home-manager", - "rev": "35b98d20ca8f4ca1f6a2c30b8a2c8bb305a36d84", + "rev": "54b330ac067e74314f8ca6b38af6fcfbd17f3e9e", "type": "github" }, "original": { @@ -763,11 +759,11 @@ ] }, "locked": { - "lastModified": 1734862405, - "narHash": "sha256-bXZJvUMJ2A6sIpYcCUAGjYCD5UDzmpmQCdmJSkPhleU=", + "lastModified": 1736089250, + "narHash": "sha256-/LPWMiiJGPHGd7ZYEgmbE2da4zvBW0acmshUjYC3WG4=", "owner": "nix-community", "repo": "home-manager", - "rev": "cb27edb5221d2f2920a03155f8becc502cf60e35", + "rev": "172b91bfb2b7f5c4a8c6ceac29fd53a01ef07196", "type": "github" }, "original": { @@ -783,11 +779,11 @@ "systems": "systems_6" }, "locked": { - "lastModified": 1734906472, - "narHash": "sha256-pWPRv/GA/X/iAwoE6gMNUqn/ZeJX1IeLPRpZI0tTPK0=", + "lastModified": 1736257999, + "narHash": "sha256-chDO669EUPz9JAO0AhdgkmUSAhIeNfu090W//tdL200=", "owner": "hyprwm", "repo": "hyprland-qtutils", - "rev": "c77109d7e1ddbcdb87cafd32ce411f76328ae152", + "rev": "6cc1cf51f2f10352ec97c2095f49dc5556e43954", "type": "github" }, "original": { @@ -912,11 +908,11 @@ "nixpkgs-24_11": "nixpkgs-24_11" }, "locked": { - "lastModified": 1734884447, - "narHash": "sha256-HA9fAmGNGf0cOYrhgoa+B6BxNVqGAYXfLyx8zIS0ZBY=", + "lastModified": 1735230346, + "narHash": "sha256-zgR8NTiNDPVNrfaiOlB9yHSmCqFDo7Ks2IavaJ2dZo4=", "ref": "refs/heads/master", - "rev": "63209b1def2c9fc891ad271f474a3464a5833294", - "revCount": 603, + "rev": "dc0569066e79ae96184541da6fa28f35a33fbf7b", + "revCount": 606, "type": "git", "url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git" }, @@ -953,11 +949,11 @@ ] }, "locked": { - "lastModified": 1733570843, - "narHash": "sha256-sQJAxY1TYWD1UyibN/FnN97paTFuwBw3Vp3DNCyKsMk=", + "lastModified": 1736085891, + "narHash": "sha256-bTl9fcUo767VaSx4Q5kFhwiDpFQhBKna7lNbGsqCQiA=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "a35b08d09efda83625bef267eb24347b446c80b8", + "rev": "ba9b3173b0f642ada42b78fb9dfc37ca82266f6c", "type": "github" }, "original": { @@ -1046,11 +1042,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1734954597, - "narHash": "sha256-QIhd8/0x30gEv8XEE1iAnrdMlKuQ0EzthfDR7Hwl+fk=", + "lastModified": 1736283893, + "narHash": "sha256-BG1FfTexFwNty5VhYjaQLMR6CMPfI3QRcaZrFQYu2EM=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "def1d472c832d77885f174089b0d34854b007198", + "rev": "4f339f6be2b61662f957c2ee9eda0fa597d8a6d6", "type": "github" }, "original": { @@ -1235,26 +1231,26 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1735581264, - "narHash": "sha256-q4ocr/efe8RXw7/SPpTZVqw6GNRWTEMdOUMt66QephQ=", + "lastModified": 1736012469, + "narHash": "sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs+rI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "98f9d01a955f7d568df2d1d362481f5423318216", + "rev": "8f3e1f807051e32d8c95cd12b9b421623850a34d", "type": "github" }, "original": { "id": "nixpkgs", - "ref": "nixos-unstable-small", + "ref": "nixos-unstable", "type": "indirect" } }, "nixpkgs_8": { "locked": { - "lastModified": 1734649271, - "narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=", + "lastModified": 1736012469, + "narHash": "sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs+rI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507", + "rev": "8f3e1f807051e32d8c95cd12b9b421623850a34d", "type": "github" }, "original": { @@ -1266,11 +1262,11 @@ }, "nixpkgs_9": { "locked": { - "lastModified": 1734649271, - "narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=", + "lastModified": 1736012469, + "narHash": "sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs+rI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507", + "rev": "8f3e1f807051e32d8c95cd12b9b421623850a34d", "type": "github" }, "original": { @@ -1293,11 +1289,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1735254735, - "narHash": "sha256-byFeQzjeTLgWkk2xEhTYqYvUsID7H2QAkzuFKIL2Stc=", + "lastModified": 1736292108, + "narHash": "sha256-0mGe0okcNDKp0A9lS/birSP0Z5oheqgrXzQeolHM9U8=", "owner": "pta2002", "repo": "nixvim", - "rev": "1671f8618fa347d8a0cd62506df386d58d7608f3", + "rev": "0ebc64a2328fc0a0532f9544eb6c6e297135962e", "type": "github" }, "original": { @@ -1313,11 +1309,11 @@ "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1735295865, - "narHash": "sha256-dEcYpI/FieSggzFqw2nxo/jVoSazd3wHKgJThb2gB58=", + "lastModified": 1736362219, + "narHash": "sha256-rkjnWrlvvANcPSn/H1PTmOo0EJUSYOVx6PqsjPZEU1w=", "owner": "nix-community", "repo": "NUR", - "rev": "e94eb2922f546865019dcde638518d9e8ca17f57", + "rev": "5c58f97c11627ff1715de0a9e1c0a2b6b469d01e", "type": "github" }, "original": { @@ -1359,11 +1355,11 @@ ] }, "locked": { - "lastModified": 1733773348, - "narHash": "sha256-Y47y+LesOCkJaLvj+dI/Oa6FAKj/T9sKVKDXLNsViPw=", + "lastModified": 1735854821, + "narHash": "sha256-Iv59gMDZajNfezTO0Fw6LHE7uKAShxbvMidmZREit7c=", "owner": "NuschtOS", "repo": "search", - "rev": "3051be7f403bff1d1d380e4612f0c70675b44fc9", + "rev": "836908e3bddd837ae0f13e215dd48767aee355f0", "type": "github" }, "original": { @@ -1656,11 +1652,11 @@ ] }, "locked": { - "lastModified": 1734704479, - "narHash": "sha256-MMi74+WckoyEWBRcg/oaGRvXC9BVVxDZNRMpL+72wBI=", + "lastModified": 1736115332, + "narHash": "sha256-FBG9d7e0BTFfxVdw4b5EmNll2Mv7hfRc54hbB4LrKko=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "65712f5af67234dad91a5a4baee986a8b62dbf8f", + "rev": "1788ca5acd4b542b923d4757d4cfe4183cc6a92d", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index dd8887e3..4c3913bb 100644 --- a/flake.nix +++ b/flake.nix @@ -5,7 +5,7 @@ # * https://github.com/Infinidoge/nix-minecraft inputs = { - nixpkgs.url = "nixpkgs/nixos-unstable-small"; + nixpkgs.url = "nixpkgs/nixos-unstable"; flake-utils-plus.url = "github:gytis-ivaskevicius/flake-utils-plus"; nur.url = "github:nix-community/NUR"; colmena.url = "github:zhaofengli/colmena"; From d4f97f528c47c40569374771a60df7a127d0c743 Mon Sep 17 00:00:00 2001 From: Vivian Date: Sat, 11 Jan 2025 10:58:57 +0100 Subject: [PATCH 69/88] some updates --- flake.lock | 110 +++++++++++++++++++++++++++++++++-------------------- 1 file changed, 68 insertions(+), 42 deletions(-) diff --git a/flake.lock b/flake.lock index 1e43253e..9758fe4c 100644 --- a/flake.lock +++ b/flake.lock @@ -738,11 +738,11 @@ ] }, "locked": { - "lastModified": 1736354372, - "narHash": "sha256-etLMa2BWCXWhG8WKyjsylvu+uskpJ4dQ+K8N0wEr5vc=", + "lastModified": 1736508663, + "narHash": "sha256-ZOaGwa+WnB7Zn3YXimqjmIugAnHePdXCmNu+AHkq808=", "owner": "nix-community", "repo": "home-manager", - "rev": "54b330ac067e74314f8ca6b38af6fcfbd17f3e9e", + "rev": "2532b500c3ed2b8940e831039dcec5a5ea093afc", "type": "github" }, "original": { @@ -759,11 +759,11 @@ ] }, "locked": { - "lastModified": 1736089250, - "narHash": "sha256-/LPWMiiJGPHGd7ZYEgmbE2da4zvBW0acmshUjYC3WG4=", + "lastModified": 1736366465, + "narHash": "sha256-Fo68EF6p/N9GJyHiAUbXtiE7IJlb3IMjK86LuxFMsRU=", "owner": "nix-community", "repo": "home-manager", - "rev": "172b91bfb2b7f5c4a8c6ceac29fd53a01ef07196", + "rev": "7e00856596891850ba5ad4c5ecd2ed74468c08c5", "type": "github" }, "original": { @@ -772,18 +772,44 @@ "type": "github" } }, + "hyprland-qt-support": { + "inputs": { + "nixpkgs": [ + "hyprland-qtutils", + "nixpkgs" + ], + "systems": [ + "hyprland-qtutils", + "systems" + ] + }, + "locked": { + "lastModified": 1736376766, + "narHash": "sha256-tZG+mkJJzqoi/gH8nN6P/yY1/PEYtom9+2WdYKKv5YM=", + "owner": "hyprwm", + "repo": "hyprland-qt-support", + "rev": "0ecf224f213497c45b12c4dc7bdc2c2edd0e3084", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-qt-support", + "type": "github" + } + }, "hyprland-qtutils": { "inputs": { + "hyprland-qt-support": "hyprland-qt-support", "hyprutils": "hyprutils", "nixpkgs": "nixpkgs_5", "systems": "systems_6" }, "locked": { - "lastModified": 1736257999, - "narHash": "sha256-chDO669EUPz9JAO0AhdgkmUSAhIeNfu090W//tdL200=", + "lastModified": 1736524264, + "narHash": "sha256-9m/Ha7hrxtbBl4UylZTYzTT/8a6Sy5DvTmBJrcQ6FwQ=", "owner": "hyprwm", "repo": "hyprland-qtutils", - "rev": "6cc1cf51f2f10352ec97c2095f49dc5556e43954", + "rev": "b0214844d8aaa7b46b5735666b9a9edcbe45cef8", "type": "github" }, "original": { @@ -804,11 +830,11 @@ ] }, "locked": { - "lastModified": 1734796073, - "narHash": "sha256-TnuKsa8OHrSJEmHm3TLGOWbPNA1gRjmZLsRzKrCqOsg=", + "lastModified": 1736164519, + "narHash": "sha256-1LimBKvDpBbeX+qW7T240WEyw+DBVpDotZB4JYm8Aps=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "c3331116ebd0b71df5ae8c6efe9a7f94148b03bf", + "rev": "3c895da64b0eb19870142196fa48c07090b441c4", "type": "github" }, "original": { @@ -928,11 +954,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1735074045, - "narHash": "sha256-CeYsC8J2dNiV2FCQOxK1oZ/jNpOF2io7aCEFHmfi95U=", + "lastModified": 1736383159, + "narHash": "sha256-oNIfJUvQFhFKmNp7MfKw0IghOoKBLBgPPrVolN2M18A=", "owner": "astro", "repo": "microvm.nix", - "rev": "2ae08de8e8068b00193b9cfbc0acc9dfdda03181", + "rev": "3394c37bc8105c54f45b2b5395428a09647c1f57", "type": "github" }, "original": { @@ -949,11 +975,11 @@ ] }, "locked": { - "lastModified": 1736085891, - "narHash": "sha256-bTl9fcUo767VaSx4Q5kFhwiDpFQhBKna7lNbGsqCQiA=", + "lastModified": 1736370755, + "narHash": "sha256-iWcjToBpx4PUd74uqvIGAfqqVfyrvRLRauC/SxEKIF0=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "ba9b3173b0f642ada42b78fb9dfc37ca82266f6c", + "rev": "57733bd1dc81900e13438e5b4439239f1b29db0e", "type": "github" }, "original": { @@ -1042,11 +1068,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1736283893, - "narHash": "sha256-BG1FfTexFwNty5VhYjaQLMR6CMPfI3QRcaZrFQYu2EM=", + "lastModified": 1736441705, + "narHash": "sha256-OL7leZ6KBhcDF3nEKe4aZVfIm6xQpb1Kb+mxySIP93o=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "4f339f6be2b61662f957c2ee9eda0fa597d8a6d6", + "rev": "8870dcaff63dfc6647fb10648b827e9d40b0a337", "type": "github" }, "original": { @@ -1199,11 +1225,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1734649271, - "narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=", + "lastModified": 1736012469, + "narHash": "sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs+rI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507", + "rev": "8f3e1f807051e32d8c95cd12b9b421623850a34d", "type": "github" }, "original": { @@ -1231,11 +1257,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1736012469, - "narHash": "sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs+rI=", + "lastModified": 1736344531, + "narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8f3e1f807051e32d8c95cd12b9b421623850a34d", + "rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912", "type": "github" }, "original": { @@ -1246,11 +1272,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1736012469, - "narHash": "sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs+rI=", + "lastModified": 1736344531, + "narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8f3e1f807051e32d8c95cd12b9b421623850a34d", + "rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912", "type": "github" }, "original": { @@ -1262,11 +1288,11 @@ }, "nixpkgs_9": { "locked": { - "lastModified": 1736012469, - "narHash": "sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs+rI=", + "lastModified": 1736344531, + "narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8f3e1f807051e32d8c95cd12b9b421623850a34d", + "rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912", "type": "github" }, "original": { @@ -1289,11 +1315,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1736292108, - "narHash": "sha256-0mGe0okcNDKp0A9lS/birSP0Z5oheqgrXzQeolHM9U8=", + "lastModified": 1736430661, + "narHash": "sha256-0dabFSGqcPo47WfgPRM5usnVXaGMdYvPlDJ5PeIqjr4=", "owner": "pta2002", "repo": "nixvim", - "rev": "0ebc64a2328fc0a0532f9544eb6c6e297135962e", + "rev": "67de84848e43ca6a5025e4f8eddc2f6684a51f2b", "type": "github" }, "original": { @@ -1309,11 +1335,11 @@ "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1736362219, - "narHash": "sha256-rkjnWrlvvANcPSn/H1PTmOo0EJUSYOVx6PqsjPZEU1w=", + "lastModified": 1736588144, + "narHash": "sha256-V2vN252hza5kMTFZdNQlDKGRb4Xt/wZIAWpHPgEp88s=", "owner": "nix-community", "repo": "NUR", - "rev": "5c58f97c11627ff1715de0a9e1c0a2b6b469d01e", + "rev": "7caf42d8bcb3a673013065094c003c0b8b90ba5b", "type": "github" }, "original": { @@ -1652,11 +1678,11 @@ ] }, "locked": { - "lastModified": 1736115332, - "narHash": "sha256-FBG9d7e0BTFfxVdw4b5EmNll2Mv7hfRc54hbB4LrKko=", + "lastModified": 1736154270, + "narHash": "sha256-p2r8xhQZ3TYIEKBoiEhllKWQqWNJNoT9v64Vmg4q8Zw=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "1788ca5acd4b542b923d4757d4cfe4183cc6a92d", + "rev": "13c913f5deb3a5c08bb810efd89dc8cb24dd968b", "type": "github" }, "original": { From 0c216cd3a1f459edc3785984e6acafa3220092a5 Mon Sep 17 00:00:00 2001 From: Vivian Date: Thu, 16 Jan 2025 10:43:37 +0100 Subject: [PATCH 70/88] disable auto-move gnome --- common/modules/gnome/hm.nix | 16 ++++++++-------- flake.nix | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/common/modules/gnome/hm.nix b/common/modules/gnome/hm.nix index 524b7706..b9c0054b 100644 --- a/common/modules/gnome/hm.nix +++ b/common/modules/gnome/hm.nix @@ -71,14 +71,14 @@ in ]; }; - "org/gnome/shell/extensions/auto-move-windows" = { - application-list = [ - "element-desktop.desktop:1" - "discord.desktop:1" - "firefox.desktop:2" - "obsidian.desktop:3" - ]; - }; + # "org/gnome/shell/extensions/auto-move-windows" = { + # application-list = [ + # "element-desktop.desktop:1" + # "discord.desktop:1" + # "firefox.desktop:2" + # "obsidian.desktop:3" + # ]; + # }; "org/gnome/desktop/input-sources" = { sources = [ diff --git a/flake.nix b/flake.nix index 4c3913bb..c6fa111b 100644 --- a/flake.nix +++ b/flake.nix @@ -171,7 +171,7 @@ deploy.packages.${system}.deploy-rs deadnix statix - vault + # vault yamllint jq fup-repl From 529a7e776742361a379c7debb05c6297466aa6d1 Mon Sep 17 00:00:00 2001 From: Vivian Date: Thu, 16 Jan 2025 11:06:38 +0100 Subject: [PATCH 71/88] update lock --- common/hm-modules/vscode.nix | 3 +- flake.lock | 112 +++++++++++++++++------------------ pkgs/default.nix | 8 +-- 3 files changed, 61 insertions(+), 62 deletions(-) diff --git a/common/hm-modules/vscode.nix b/common/hm-modules/vscode.nix index 08060471..34b522e4 100644 --- a/common/hm-modules/vscode.nix +++ b/common/hm-modules/vscode.nix @@ -77,7 +77,6 @@ in }; extensions = with pkgs.vscode-extensions; - with pkgs.v.vscode-extensions; [ brettm12345.nixfmt-vscode catppuccin.catppuccin-vsc @@ -96,7 +95,7 @@ in ms-vscode.cpptools ms-vsliveshare.vsliveshare mshr-h.veriloghdl - platformio.platformio-ide + # platformio.platformio-ide redhat.vscode-xml redhat.vscode-yaml rust-lang.rust-analyzer diff --git a/flake.lock b/flake.lock index 9758fe4c..a95a3df6 100644 --- a/flake.lock +++ b/flake.lock @@ -67,11 +67,11 @@ "nuscht-search": "nuscht-search" }, "locked": { - "lastModified": 1736069220, - "narHash": "sha256-76MaB3COao55nlhWmSmq9PKgu2iGIs54C1cAE0E5J6Y=", + "lastModified": 1736957255, + "narHash": "sha256-qZZ/K5XheRMjCNYgle90QESuys0PIFJNPJJswMJ0GEA=", "owner": "catppuccin", "repo": "nix", - "rev": "8eada392fd6571a747e1c5fc358dd61c14c8704e", + "rev": "f06fcadf9a61b6581b392e72f230fa6783fe36e4", "type": "github" }, "original": { @@ -96,12 +96,12 @@ }, "catppuccin-v1_2": { "locked": { - "lastModified": 1734728407, - "narHash": "sha256-Let3uJo4YDyfqbqaw66dpZxhJB2TrDyZWSFd5rpPLJA=", - "rev": "23ee86dbf4ed347878115a78971d43025362fab1", - "revCount": 341, + "lastModified": 1734734291, + "narHash": "sha256-CFX4diEQHKvZYjnhf7TLg20m3ge1O4vqgplsk/Kuaek=", + "rev": "1e4c3803b8da874ff75224ec8512cb173036bbd8", + "revCount": 344, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/catppuccin/nix/1.2.0/0193e5e0-33b7-7149-a362-bfe56b20f64e/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/catppuccin/nix/1.2.1/0193e646-1107-7f69-a402-f2a3988ecf1d/source.tar.gz" }, "original": { "type": "tarball", @@ -696,11 +696,11 @@ ] }, "locked": { - "lastModified": 1734622215, - "narHash": "sha256-OOfI0XhSJGHblfdNDhfnn8QnZxng63rWk9eeJ2tCbiI=", + "lastModified": 1736508663, + "narHash": "sha256-ZOaGwa+WnB7Zn3YXimqjmIugAnHePdXCmNu+AHkq808=", "owner": "nix-community", "repo": "home-manager", - "rev": "1395379a7a36e40f2a76e7b9936cc52950baa1be", + "rev": "2532b500c3ed2b8940e831039dcec5a5ea093afc", "type": "github" }, "original": { @@ -717,11 +717,11 @@ ] }, "locked": { - "lastModified": 1734366194, - "narHash": "sha256-vykpJ1xsdkv0j8WOVXrRFHUAdp9NXHpxdnn1F4pYgSw=", + "lastModified": 1736373539, + "narHash": "sha256-dinzAqCjenWDxuy+MqUQq0I4zUSfaCvN9rzuCmgMZJY=", "owner": "nix-community", "repo": "home-manager", - "rev": "80b0fdf483c5d1cb75aaad909bd390d48673857f", + "rev": "bd65bc3cde04c16755955630b344bc9e35272c56", "type": "github" }, "original": { @@ -738,11 +738,11 @@ ] }, "locked": { - "lastModified": 1736508663, - "narHash": "sha256-ZOaGwa+WnB7Zn3YXimqjmIugAnHePdXCmNu+AHkq808=", + "lastModified": 1736785676, + "narHash": "sha256-TY0jUwR3EW0fnS0X5wXMAVy6h4Z7Y6a3m+Yq++C9AyE=", "owner": "nix-community", "repo": "home-manager", - "rev": "2532b500c3ed2b8940e831039dcec5a5ea093afc", + "rev": "fc52a210b60f2f52c74eac41a8647c1573d2071d", "type": "github" }, "original": { @@ -759,11 +759,11 @@ ] }, "locked": { - "lastModified": 1736366465, - "narHash": "sha256-Fo68EF6p/N9GJyHiAUbXtiE7IJlb3IMjK86LuxFMsRU=", + "lastModified": 1736508663, + "narHash": "sha256-ZOaGwa+WnB7Zn3YXimqjmIugAnHePdXCmNu+AHkq808=", "owner": "nix-community", "repo": "home-manager", - "rev": "7e00856596891850ba5ad4c5ecd2ed74468c08c5", + "rev": "2532b500c3ed2b8940e831039dcec5a5ea093afc", "type": "github" }, "original": { @@ -805,11 +805,11 @@ "systems": "systems_6" }, "locked": { - "lastModified": 1736524264, - "narHash": "sha256-9m/Ha7hrxtbBl4UylZTYzTT/8a6Sy5DvTmBJrcQ6FwQ=", + "lastModified": 1736774415, + "narHash": "sha256-pb8v7axHdVKFGhQHEAxIuZP/9REsmlyuDW5eLGIplLc=", "owner": "hyprwm", "repo": "hyprland-qtutils", - "rev": "b0214844d8aaa7b46b5735666b9a9edcbe45cef8", + "rev": "534cd1badc46ec9bdd986ab41ad2408bf845961e", "type": "github" }, "original": { @@ -954,11 +954,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1736383159, - "narHash": "sha256-oNIfJUvQFhFKmNp7MfKw0IghOoKBLBgPPrVolN2M18A=", + "lastModified": 1736905611, + "narHash": "sha256-eW6SfZRaOnOybBzhvEzu3iRL8IhwE0ETxUpnkErlqkE=", "owner": "astro", "repo": "microvm.nix", - "rev": "3394c37bc8105c54f45b2b5395428a09647c1f57", + "rev": "a18d7ba1bb7fd4841191044ca7a7f895ef2adf3b", "type": "github" }, "original": { @@ -1032,11 +1032,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": { @@ -1053,11 +1053,11 @@ ] }, "locked": { - "lastModified": 1734915500, - "narHash": "sha256-A7CTIQ8SW0hfbhKlwK+vSsu4pD+Oaelw3v6goX6go+U=", + "lastModified": 1736730523, + "narHash": "sha256-mvTZ7fLKA6ggGnA8GZwcXV57EvVReRTCfi26xc08Q3g=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "051d1b2dda3b2e81b38d82e2b691e5c2f4d335f4", + "rev": "74b8e31dd709760c86eed16b6c1d0b88d7360937", "type": "github" }, "original": { @@ -1068,11 +1068,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1736441705, - "narHash": "sha256-OL7leZ6KBhcDF3nEKe4aZVfIm6xQpb1Kb+mxySIP93o=", + "lastModified": 1736978406, + "narHash": "sha256-oMr3PVIQ8XPDI8/x6BHxsWEPBRU98Pam6KGVwUh8MPk=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "8870dcaff63dfc6647fb10648b827e9d40b0a337", + "rev": "b678606690027913f3434dea3864e712b862dde5", "type": "github" }, "original": { @@ -1083,11 +1083,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1734424634, - "narHash": "sha256-cHar1vqHOOyC7f1+tVycPoWTfKIaqkoe1Q6TnKzuti4=", + "lastModified": 1736012469, + "narHash": "sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs+rI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d3c42f187194c26d9f0309a8ecc469d6c878ce33", + "rev": "8f3e1f807051e32d8c95cd12b9b421623850a34d", "type": "github" }, "original": { @@ -1130,11 +1130,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1734600368, - "narHash": "sha256-nbG9TijTMcfr+au7ZVbKpAhMJzzE2nQBYmRvSdXUD8g=", + "lastModified": 1736061677, + "narHash": "sha256-DjkQPnkAfd7eB522PwnkGhOMuT9QVCZspDpJJYyOj60=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b47fd6fa00c6afca88b8ee46cfdb00e104f50bca", + "rev": "cbd8ec4de4469333c82ff40d057350c30e9f7d36", "type": "github" }, "original": { @@ -1257,11 +1257,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1736344531, - "narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=", + "lastModified": 1736883708, + "narHash": "sha256-uQ+NQ0/xYU0N1CnXsa2zghgNaOPxWpMJXSUJJ9W7140=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912", + "rev": "eb62e6aa39ea67e0b8018ba8ea077efe65807dc8", "type": "github" }, "original": { @@ -1288,11 +1288,11 @@ }, "nixpkgs_9": { "locked": { - "lastModified": 1736344531, - "narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=", + "lastModified": 1736883708, + "narHash": "sha256-uQ+NQ0/xYU0N1CnXsa2zghgNaOPxWpMJXSUJJ9W7140=", "owner": "nixos", "repo": "nixpkgs", - "rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912", + "rev": "eb62e6aa39ea67e0b8018ba8ea077efe65807dc8", "type": "github" }, "original": { @@ -1315,11 +1315,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1736430661, - "narHash": "sha256-0dabFSGqcPo47WfgPRM5usnVXaGMdYvPlDJ5PeIqjr4=", + "lastModified": 1736964246, + "narHash": "sha256-gb3ujURRlI/D5Jc8PUDOpJr8RyrTwnDDIDtnQK4upso=", "owner": "pta2002", "repo": "nixvim", - "rev": "67de84848e43ca6a5025e4f8eddc2f6684a51f2b", + "rev": "5b068e7f8f2b6beaa1fafe0c8b3604b63bcccc2d", "type": "github" }, "original": { @@ -1335,11 +1335,11 @@ "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1736588144, - "narHash": "sha256-V2vN252hza5kMTFZdNQlDKGRb4Xt/wZIAWpHPgEp88s=", + "lastModified": 1737019478, + "narHash": "sha256-rN2A7HJL2gp1KErErcl9Ijuj6Jz4geD593IkONdwh8U=", "owner": "nix-community", "repo": "NUR", - "rev": "7caf42d8bcb3a673013065094c003c0b8b90ba5b", + "rev": "076326228a5df27cbd6e1f8731bb6b29f09d4d75", "type": "github" }, "original": { @@ -1358,11 +1358,11 @@ ] }, "locked": { - "lastModified": 1733773348, - "narHash": "sha256-Y47y+LesOCkJaLvj+dI/Oa6FAKj/T9sKVKDXLNsViPw=", + "lastModified": 1735854821, + "narHash": "sha256-Iv59gMDZajNfezTO0Fw6LHE7uKAShxbvMidmZREit7c=", "owner": "NuschtOS", "repo": "search", - "rev": "3051be7f403bff1d1d380e4612f0c70675b44fc9", + "rev": "836908e3bddd837ae0f13e215dd48767aee355f0", "type": "github" }, "original": { diff --git a/pkgs/default.nix b/pkgs/default.nix index 9e172ca2..391147e4 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -17,10 +17,10 @@ final: prev: { gitea-agatheme = prev.callPackage ./gitea-agatheme { }; # nix-shell -p "(vscode-with-extensions.override {vscodeExtensions = with vscode-extensions; [ jnoortheen.nix-ide ]; })" -I nixpkgs=. - vscode-extensions = { - platformio.platformio-ide = - prev.callPackage ./vscode-extensions/platformio.nix { }; - }; + # vscode-extensions = { + # platformio.platformio-ide = + # prev.callPackage ./vscode-extensions/platformio.nix { }; + # }; }; plex-plexpass = prev.callPackage ./plex-pass { }; From 10e8aea249b8a47bc26585d79e3a1040afbff7e5 Mon Sep 17 00:00:00 2001 From: Vivian Date: Mon, 24 Mar 2025 12:13:08 +0100 Subject: [PATCH 72/88] install calibre --- common/desktop/home.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/desktop/home.nix b/common/desktop/home.nix index 4c7eddcd..913f94cd 100644 --- a/common/desktop/home.nix +++ b/common/desktop/home.nix @@ -29,7 +29,7 @@ in home.packages = with pkgs; [ (python3.withPackages my-python-packages) btop - # calibre + calibre celluloid # video player element-desktop fusee-launcher From fc075254bbc2c3f83967e2d5c08b1584230da7a9 Mon Sep 17 00:00:00 2001 From: Vivian Date: Mon, 5 May 2025 15:04:48 +0200 Subject: [PATCH 73/88] nvim config, mostly --- common/default.nix | 2 +- common/desktop/home.nix | 24 +- common/hm-modules/catppuccin/default.nix | 27 +- common/hm-modules/nvim/default.nix | 68 ++- common/hm-modules/nvim/keybinds.nix | 23 +- common/hm-modules/nvim/lsp.nix | 2 +- common/hm-modules/rust.nix | 1 + common/hm-modules/vscode.nix | 120 ++-- common/users/default.nix | 1 - flake.lock | 717 +++++++---------------- flake.nix | 2 +- hosts/thalassa/aoife/69-probe-rs.rules | 146 +++++ hosts/thalassa/aoife/default.nix | 4 +- hosts/thalassa/aoife/hardware.nix | 11 +- hosts/thalassa/aoife/home/hyprland.nix | 45 +- hosts/thalassa/aoife/uni.nix | 74 +-- renovate.json | 3 - 17 files changed, 499 insertions(+), 771 deletions(-) create mode 100644 hosts/thalassa/aoife/69-probe-rs.rules delete mode 100644 renovate.json diff --git a/common/default.nix b/common/default.nix index 49e4611d..01b21371 100644 --- a/common/default.nix +++ b/common/default.nix @@ -20,7 +20,7 @@ ./hm-modules inputs.nixvim.homeManagerModules.nixvim inputs.autostart.homeManagerModules.xdg-autostart - inputs.catppuccin.homeManagerModules.catppuccin + inputs.catppuccin.homeModules.catppuccin inputs.autostart.homeManagerModules.xdg-autostart ]; }; diff --git a/common/desktop/home.nix b/common/desktop/home.nix index 4c7eddcd..5714709a 100644 --- a/common/desktop/home.nix +++ b/common/desktop/home.nix @@ -7,9 +7,6 @@ let tex = pkgs.texlive.combine { inherit (pkgs.texlive) scheme-full; - dnd-5e-latex-template = { - pkgs = [ pkgs.v.dnd-5e-latex-template ]; - }; }; my-python-packages = ps: with ps; [ @@ -29,7 +26,7 @@ in home.packages = with pkgs; [ (python3.withPackages my-python-packages) btop - # calibre + calibre celluloid # video player element-desktop fusee-launcher @@ -38,20 +35,16 @@ in gimp comma discord - jetbrains.rust-rover - kdenlive + tex + # jetbrains.rust-rover # libreoffice - mattermost-desktop neofetch nixpkgs-review - obsidian spotify qmk solo2-cli - tex unzip yt-dlp - # z3 obsidian (lib.hiPrio (pkgs.writeShellScriptBin "obsidian" '' @@ -59,16 +52,6 @@ in ${pkgs.obsidian}/bin/obsidian '')) ]; - # - # xdg.desktopEntries = { - # obsidian = { - # name = "Obsidian"; - # genericName = "Markdown Editor"; - # exec = "obsidian"; - # terminal = false; - # }; - # }; - # Enable my own hm modules themes.v.catppuccin.enable = true; programs = { @@ -106,7 +89,6 @@ in }; }; - xdg.autoStart = { packages = with pkgs; [ element-desktop diff --git a/common/hm-modules/catppuccin/default.nix b/common/hm-modules/catppuccin/default.nix index 8d6149a9..9a623725 100644 --- a/common/hm-modules/catppuccin/default.nix +++ b/common/hm-modules/catppuccin/default.nix @@ -20,13 +20,8 @@ in waybar.enable = false; - mako.enable = true; + mako.enable = false; rofi.enable = true; - # gtk = { - # enable = true; - # gnomeShellTheme = true; - # icon.enable = false; - # }; hyprland.enable = true; kitty.enable = true; @@ -34,11 +29,11 @@ in kvantum.enable = true; }; - home.pointerCursor = { - name = "Bibata_Ghost"; - size = 24; - package = pkgs.bibata-cursors-translucent; - }; + # home.pointerCursor = { + # name = "Bibata_Ghost"; + # size = 24; + # package = pkgs.bibata-cursors-translucent; + # }; programs.kitty = { # themeFile = "Catppuccin-Frappe"; @@ -51,9 +46,9 @@ in name = "Papirus-Dark"; package = pkgs.papirus-icon-theme.override { color = "violet"; }; }; - cursorTheme = { - inherit (config.home.pointerCursor) name package size; - }; + # cursorTheme = { + # inherit (config.home.pointerCursor) name package size; + # }; }; qt = { @@ -63,9 +58,5 @@ in platformTheme.name = "kvantum"; }; - programs.vscode = { - userSettings."workbench.colorTheme" = "Catppuccin Frappé"; - extensions = [ pkgs.vscode-extensions.catppuccin.catppuccin-vsc ]; - }; }; } diff --git a/common/hm-modules/nvim/default.nix b/common/hm-modules/nvim/default.nix index bf7f9472..25a430c2 100644 --- a/common/hm-modules/nvim/default.nix +++ b/common/hm-modules/nvim/default.nix @@ -44,6 +44,11 @@ with lib; shiftwidth = 2; smartindent = true; + + title = true; + + spell = true; + spelllang = "en_gb"; }; clipboard.providers.wl-copy.enable = true; @@ -61,22 +66,34 @@ with lib; plugins = { nvim-surround.enable = true; - dap.enable = true; - image = { + + vimwiki = { enable = true; - backend = "kitty"; + settings = { + list = [ + { + ext = ".md"; + path = "~/cloud/Notes/"; + syntax = "markdown"; + } + ]; + }; + }; + + image = { + enable = false; + settings.backend = "kitty"; }; web-devicons.enable = true; bufferline.enable = true; nix.enable = true; luasnip.enable = true; - typst-vim.enable = true; startup = { enable = true; theme = "my_theme"; }; obsidian = { - enable = true; + enable = false; settings = { new_notes_location = "notes_subdir"; notes_subdir = "Unsorted"; @@ -94,35 +111,18 @@ with lib; nvim_cmp = true; }; picker.name = "telescope.nvim"; - # note_id_func = '' - # function(title) - # -- Create note IDs in a Zettelkasten format with a timestamp and a suffix. - # -- In this case a note with the title 'My new note' will be given an ID that looks - # -- like '1657296016-my-new-note', and therefore the file name '1657296016-my-new-note.md' - # local suffix = "" - # if title ~= nil then - # -- If title is given, transform it into valid file name. - # suffix = title:gsub(" ", "-"):gsub("[^A-Za-z0-9-]", ""):lower() - # else - # -- If title is nil, just add 4 random uppercase letters to the suffix. - # for _ = 1, 4 do - # suffix = suffix .. string.char(math.random(65, 90)) - # end - # end - # return tostring(os.time()) .. "-" .. suffix - # end - # ''; }; }; fidget = { enable = true; - progress = { - ignoreDoneAlready = true; - ignore = [ "ltex" ]; - display.doneTtl = 5; - }; - notification = { - overrideVimNotify = true; + settings = { + progress = { + ignore = [ "ltex" ]; + display.done_ttl = 5; + }; + notification = { + override_vim_notify = true; + }; }; }; neotest = { @@ -156,6 +156,10 @@ with lib; settings.options.theme = "catppuccin"; }; + oil = { + enable = true; + }; + telescope = { enable = true; settings.defaults.preview.ls_short = true; @@ -169,9 +173,11 @@ with lib; extensions.fzf-native.enable = true; extensions.fzf-native.settings.fuzzy = true; extensions.frecency.enable = true; + extensions.ui-select.enable = true; }; comment.enable = true; - vimtex.enable = true; + vimtex.enable = false; + typst-preview.enable = true; floaterm.enable = true; cmp = { enable = true; diff --git a/common/hm-modules/nvim/keybinds.nix b/common/hm-modules/nvim/keybinds.nix index a4df557d..341052db 100644 --- a/common/hm-modules/nvim/keybinds.nix +++ b/common/hm-modules/nvim/keybinds.nix @@ -38,11 +38,11 @@ key = "fr"; action = ":Telescope frecency"; } - { - mode = "n"; - key = "ob"; - action = mkRaw "require('obsidian_picker').obsidian_picker"; - } + # { + # mode = "n"; + #key = "ob"; + # action = mkRaw "require('obsidian_picker').obsidian_picker"; + #} # Commenting { mode = "n"; @@ -140,7 +140,18 @@ { mode = "n"; key = ""; - action = ":Lspsaga code_action"; + action = mkRaw "vim.lsp.buf.code_action"; + } + { + mode = "n"; + key = "e"; + action = mkRaw "vim.diagnostic.open_float"; + } + # oil + { + mode = "n"; + key = "-"; + action = "Oil"; } ]; } diff --git a/common/hm-modules/nvim/lsp.nix b/common/hm-modules/nvim/lsp.nix index 7465dbc9..35daec74 100644 --- a/common/hm-modules/nvim/lsp.nix +++ b/common/hm-modules/nvim/lsp.nix @@ -3,7 +3,6 @@ plugins = { rustaceanvim = { enable = true; - rustAnalyzerPackage = pkgs.rust-analyzer; settings = { auto_attach = true; @@ -70,6 +69,7 @@ clangd.enable = true; yamlls.enable = true; lua_ls.enable = true; + tinymist.enable = true; }; }; diff --git a/common/hm-modules/rust.nix b/common/hm-modules/rust.nix index 11b1e2fb..a31b3467 100644 --- a/common/hm-modules/rust.nix +++ b/common/hm-modules/rust.nix @@ -28,6 +28,7 @@ in [build] rustc-wrapper = "${pkgs.sccache}/bin/sccache" + [profile.rust-analyzer] inherits = "dev" ''; diff --git a/common/hm-modules/vscode.nix b/common/hm-modules/vscode.nix index 34b522e4..50f495df 100644 --- a/common/hm-modules/vscode.nix +++ b/common/hm-modules/vscode.nix @@ -16,70 +16,69 @@ in programs.vscode = { enable = true; package = pkgs.vscode; - userSettings = { - "ltex.language" = "en-GB"; - "latex-workshop.linting.chktex.enabled" = true; - "latex-workshop.latex.clean.subfolder.enabled" = true; - "latex-workshop.latex.outDir" = "%TMPDIR%/%RELATIVE_DOC%"; - "editor.fontFamily" = "'DejaVuSansMono Nerd Font', 'monospace', monospace"; - "keyboard.dispatch" = "keyCode"; - "rust-analyzer.server.path" = "${pkgs.rust-analyzer}/bin/rust-analyzer"; - "rust-analyzer.check.extraArgs" = [ - "--profile" - "rust-analyzer" - ]; - "rust-analyzer.check.command" = "clippy"; - "terminal.integrated.defaultProfile.linux" = "zsh"; - "nix.enableLanguageServer" = true; # Enable LSP. - "nix.serverPath" = "${pkgs.nil}/bin/nil"; - "[nix]" = { - "editor.defaultFormatter" = "brettm12345.nixfmt-vscode"; - }; - "[python]" = { - "editor.formatOnType" = true; - }; - "debug.allowBreakpointsEverywhere" = true; - "C_Cpp.clang_format_fallbackStyle" = "{ BasedOnStyle: Google, IndentWidth: 4, ColumnLimit: 0}"; - # "crates.compatibleDecorator" = "✓"; - # "crates.errorDecorator" = "✗"; - # "crates.incompatibleDecorator" = "🛇"; + profiles.default = { + userSettings = { + "ltex.language" = "en-GB"; + "latex-workshop.linting.chktex.enabled" = true; + "latex-workshop.latex.clean.subfolder.enabled" = true; + "latex-workshop.latex.outDir" = "%TMPDIR%/%RELATIVE_DOC%"; + "editor.fontFamily" = "'DejaVuSansMono Nerd Font', 'monospace', monospace"; + "keyboard.dispatch" = "keyCode"; + "rust-analyzer.server.path" = "${pkgs.rust-analyzer}/bin/rust-analyzer"; + "rust-analyzer.check.extraArgs" = [ + "--profile" + "rust-analyzer" + ]; + "rust-analyzer.check.command" = "clippy"; + "terminal.integrated.defaultProfile.linux" = "zsh"; + "nix.enableLanguageServer" = true; # Enable LSP. + "nix.serverPath" = "${pkgs.nil}/bin/nil"; + "[nix]" = { + "editor.defaultFormatter" = "brettm12345.nixfmt-vscode"; + }; + "[python]" = { + "editor.formatOnType" = true; + }; + "debug.allowBreakpointsEverywhere" = true; + "C_Cpp.clang_format_fallbackStyle" = "{ BasedOnStyle: Google, IndentWidth: 4, ColumnLimit: 0}"; + # "crates.compatibleDecorator" = "✓"; + # "crates.errorDecorator" = "✗"; + # "crates.incompatibleDecorator" = "🛇"; - # Verilog - "verilog.formatting.verilogHDL.formatter" = "verible-verilog-format"; - "verilog.languageServer.svls.enabled" = true; - "verilog.languageServer.svls.path" = "${pkgs.svls}/bin/svls"; - "verilog.languageServer.veribleVerilogLs.enabled" = true; - "verilog.languageServer.veribleVerilogLs.path" = "${pkgs.verible}/bin/verible-verilog-ls"; - "verilog.formatting.veribleVerilogFormatter.path" = "${pkgs.verible}/bin/verible-verilog-format"; - "verilog.linting.linter" = "verilator"; - "verilog.linting.path" = "${pkgs.verilator}/bin/verilator"; - "[verilog]" = { - "editor.defaultFormatter" = "mshr-h.veriloghdl"; - }; + # Verilog + "verilog.formatting.verilogHDL.formatter" = "verible-verilog-format"; + "verilog.languageServer.svls.enabled" = true; + "verilog.languageServer.svls.path" = "${pkgs.svls}/bin/svls"; + "verilog.languageServer.veribleVerilogLs.enabled" = true; + "verilog.languageServer.veribleVerilogLs.path" = "${pkgs.verible}/bin/verible-verilog-ls"; + "verilog.formatting.veribleVerilogFormatter.path" = "${pkgs.verible}/bin/verible-verilog-format"; + "verilog.linting.linter" = "verilator"; + "verilog.linting.path" = "${pkgs.verilator}/bin/verilator"; + "[verilog]" = { + "editor.defaultFormatter" = "mshr-h.veriloghdl"; + }; - # Don't index unecessary things - "files.exclude" = { - "**/.vscode" = true; - "**/.git" = true; - "**/.svn" = true; - "**/.hg" = true; - "**/.deps" = true; - "**/CVS" = true; - "**/.DS_Store" = true; - "/bin" = true; - "/boot" = true; - "/cdrom" = true; - "/dev" = true; - "/proc" = true; - "/etc" = true; - "/nix" = true; + # Don't index unecessary things + "files.exclude" = { + "**/.vscode" = true; + "**/.git" = true; + "**/.svn" = true; + "**/.hg" = true; + "**/.deps" = true; + "**/CVS" = true; + "**/.DS_Store" = true; + "/bin" = true; + "/boot" = true; + "/cdrom" = true; + "/dev" = true; + "/proc" = true; + "/etc" = true; + "/nix" = true; + }; }; - }; - extensions = - with pkgs.vscode-extensions; - [ + extensions = with pkgs.vscode-extensions; [ brettm12345.nixfmt-vscode - catppuccin.catppuccin-vsc + # catppuccin.catppuccin-vsc codezombiech.gitignore codezombiech.gitignore davidlday.languagetool-linter @@ -109,6 +108,7 @@ in xaver.clang-format continue.continue ]; + }; }; }; diff --git a/common/users/default.nix b/common/users/default.nix index 4c2980b8..ef66a009 100644 --- a/common/users/default.nix +++ b/common/users/default.nix @@ -28,7 +28,6 @@ eval "$(${pkgs.fzf}/bin/fzf --zsh)" export TEMPDIRS="$HOME/tmp" - source "${inputs.t.packages.${pkgs.system}.default}/bin/t-rs.sh" ''; # otherwise it'll override the grml prompt promptInit = lib.mkDefault ""; diff --git a/flake.lock b/flake.lock index a95a3df6..27b116f7 100644 --- a/flake.lock +++ b/flake.lock @@ -12,11 +12,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1731270564, - "narHash": "sha256-6KMC/NH/VWP5Eb+hA56hz0urel3jP6Y6cF2PX6xaTkk=", + "lastModified": 1738524606, + "narHash": "sha256-hPYEJ4juK3ph7kbjbvv7PlU1D9pAkkhl+pwx8fZY53U=", "owner": "zhaofengli", "repo": "attic", - "rev": "47752427561f1c34debb16728a210d378f0ece36", + "rev": "ff8a897d1f4408ebbf4d45fa9049c06b3e1e3f4e", "type": "github" }, "original": { @@ -58,20 +58,14 @@ }, "catppuccin": { "inputs": { - "catppuccin-v1_1": "catppuccin-v1_1", - "catppuccin-v1_2": "catppuccin-v1_2", - "home-manager": "home-manager", - "home-manager-stable": "home-manager-stable", - "nixpkgs": "nixpkgs", - "nixpkgs-stable": "nixpkgs-stable_2", - "nuscht-search": "nuscht-search" + "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1736957255, - "narHash": "sha256-qZZ/K5XheRMjCNYgle90QESuys0PIFJNPJJswMJ0GEA=", + "lastModified": 1746175539, + "narHash": "sha256-/wjcn1CDQqOhwOoYKS8Xp0KejrdXSJZQMF1CbbrVtMw=", "owner": "catppuccin", "repo": "nix", - "rev": "f06fcadf9a61b6581b392e72f230fa6783fe36e4", + "rev": "a5db9e41a4dccfa5ffe38e6f1841a5f9ad5c5c04", "type": "github" }, "original": { @@ -80,48 +74,20 @@ "type": "github" } }, - "catppuccin-v1_1": { - "locked": { - "lastModified": 1734055249, - "narHash": "sha256-pCWJgwo77KD7EJpwynwKrWPZ//dwypHq2TfdzZWqK68=", - "rev": "7221d6ca17ac36ed20588e1c3a80177ac5843fa7", - "revCount": 326, - "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/catppuccin/nix/1.1.1/0193bdc0-b045-7eed-bbec-95611a8ecdf5/source.tar.gz" - }, - "original": { - "type": "tarball", - "url": "https://flakehub.com/f/catppuccin/nix/1.1.%2A.tar.gz" - } - }, - "catppuccin-v1_2": { - "locked": { - "lastModified": 1734734291, - "narHash": "sha256-CFX4diEQHKvZYjnhf7TLg20m3ge1O4vqgplsk/Kuaek=", - "rev": "1e4c3803b8da874ff75224ec8512cb173036bbd8", - "revCount": 344, - "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/catppuccin/nix/1.2.1/0193e646-1107-7f69-a402-f2a3988ecf1d/source.tar.gz" - }, - "original": { - "type": "tarball", - "url": "https://flakehub.com/f/catppuccin/nix/1.2.%2A.tar.gz" - } - }, "colmena": { "inputs": { "flake-compat": "flake-compat_2", - "flake-utils": "flake-utils_2", + "flake-utils": "flake-utils", "nix-github-actions": "nix-github-actions_2", "nixpkgs": "nixpkgs_2", "stable": "stable" }, "locked": { - "lastModified": 1734897875, - "narHash": "sha256-LLpiqfOGBippRax9F33kSJ/Imt8gJXb6o0JwSBiNHCk=", + "lastModified": 1739900653, + "narHash": "sha256-hPSLvw6AZQYrZyGI6Uq4XgST7benF/0zcCpugn/P0yM=", "owner": "zhaofengli", "repo": "colmena", - "rev": "a6b51f5feae9bfb145daa37fd0220595acb7871e", + "rev": "2370d4336eda2a9ef29fce10fa7076ae011983ab", "type": "github" }, "original": { @@ -153,11 +119,11 @@ }, "crane_2": { "locked": { - "lastModified": 1731098351, - "narHash": "sha256-HQkYvKvaLQqNa10KEFGgWHfMAbWBfFp+4cAgkut+NNE=", + "lastModified": 1741481578, + "narHash": "sha256-JBTSyJFQdO3V8cgcL08VaBUByEU6P5kXbTJN6R0PFQo=", "owner": "ipetkov", "repo": "crane", - "rev": "ef80ead953c1b28316cc3f8613904edc2eb90c28", + "rev": "bb1c9567c43e4434f54e9481eb4b8e8e0d50f0b5", "type": "github" }, "original": { @@ -186,30 +152,9 @@ "type": "github" } }, - "devshell": { - "inputs": { - "nixpkgs": [ - "nixvim", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1735644329, - "narHash": "sha256-tO3HrHriyLvipc4xr+Ewtdlo7wM1OjXNjlWRgmM7peY=", - "owner": "numtide", - "repo": "devshell", - "rev": "f7795ede5b02664b57035b3b757876703e2c3eac", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "devshell", - "type": "github" - } - }, "essentials": { "inputs": { - "flake-utils": "flake-utils_3", + "flake-utils": "flake-utils_2", "nixpkgs": [ "nixpkgs" ] @@ -279,11 +224,11 @@ "flake-compat_4": { "flake": false, "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "lastModified": 1733328505, + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", "owner": "edolstra", "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", "type": "github" }, "original": { @@ -309,20 +254,6 @@ } }, "flake-compat_6": { - "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "revCount": 57, - "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz" - }, - "original": { - "type": "tarball", - "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" - } - }, - "flake-compat_7": { "flake": false, "locked": { "lastModified": 1696426674, @@ -367,11 +298,11 @@ ] }, "locked": { - "lastModified": 1730504689, - "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=", + "lastModified": 1741352980, + "narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "506278e768c2a08bec68eb62932193e341f55c90", + "rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9", "type": "github" }, "original": { @@ -388,11 +319,11 @@ ] }, "locked": { - "lastModified": 1736143030, - "narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=", + "lastModified": 1743550720, + "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de", + "rev": "c621e8422220273271f52058f618c94e405bb0f5", "type": "github" }, "original": { @@ -423,42 +354,6 @@ } }, "flake-utils": { - "inputs": { - "systems": "systems" - }, - "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" - } - }, - "flake-utils-plus": { - "inputs": { - "flake-utils": "flake-utils_4" - }, - "locked": { - "lastModified": 1722363685, - "narHash": "sha256-XCf2PIAT6lH7BwytgioPmVf/wkzXjSKScC4KzcZgb64=", - "owner": "gytis-ivaskevicius", - "repo": "flake-utils-plus", - "rev": "6b10f51ff73a66bb29f3bc8151a59d217713f496", - "type": "github" - }, - "original": { - "owner": "gytis-ivaskevicius", - "repo": "flake-utils-plus", - "type": "github" - } - }, - "flake-utils_2": { "locked": { "lastModified": 1659877975, "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", @@ -473,9 +368,27 @@ "type": "github" } }, - "flake-utils_3": { + "flake-utils-plus": { "inputs": { - "systems": "systems_3" + "flake-utils": "flake-utils_3" + }, + "locked": { + "lastModified": 1738591040, + "narHash": "sha256-4WNeriUToshQ/L5J+dTSWC5OJIwT39SEP7V7oylndi8=", + "owner": "gytis-ivaskevicius", + "repo": "flake-utils-plus", + "rev": "afcb15b845e74ac5e998358709b2b5fe42a948d1", + "type": "github" + }, + "original": { + "owner": "gytis-ivaskevicius", + "repo": "flake-utils-plus", + "type": "github" + } + }, + "flake-utils_2": { + "inputs": { + "systems": "systems_2" }, "locked": { "lastModified": 1701680307, @@ -491,9 +404,9 @@ "type": "github" } }, - "flake-utils_4": { + "flake-utils_3": { "inputs": { - "systems": "systems_4" + "systems": "systems_3" }, "locked": { "lastModified": 1694529238, @@ -509,9 +422,27 @@ "type": "github" } }, + "flake-utils_4": { + "inputs": { + "systems": "systems_4" + }, + "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" + } + }, "flake-utils_5": { "inputs": { - "systems": "systems_5" + "systems": "systems_6" }, "locked": { "lastModified": 1731533236, @@ -549,24 +480,6 @@ "inputs": { "systems": "systems_8" }, - "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" - } - }, - "flake-utils_8": { - "inputs": { - "systems": "systems_9" - }, "locked": { "lastModified": 1710146030, "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", @@ -581,9 +494,9 @@ "type": "github" } }, - "flake-utils_9": { + "flake-utils_8": { "inputs": { - "systems": "systems_10" + "systems": "systems_9" }, "locked": { "lastModified": 1681202837, @@ -599,32 +512,6 @@ "type": "github" } }, - "git-hooks": { - "inputs": { - "flake-compat": [ - "nixvim", - "flake-compat" - ], - "gitignore": "gitignore_2", - "nixpkgs": [ - "nixvim", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1735882644, - "narHash": "sha256-3FZAG+pGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110=", - "owner": "cachix", - "repo": "git-hooks.nix", - "rev": "a5a961387e75ae44cc20f0a57ae463da5e959656", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "git-hooks.nix", - "type": "github" - } - }, "gitignore": { "inputs": { "nixpkgs": [ @@ -647,31 +534,9 @@ "type": "github" } }, - "gitignore_2": { - "inputs": { - "nixpkgs": [ - "nixvim", - "git-hooks", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, "gnome-autounlock-keyring": { "inputs": { - "flake-utils": "flake-utils_5", + "flake-utils": "flake-utils_4", "nixpkgs": "nixpkgs_4" }, "locked": { @@ -691,79 +556,15 @@ "home-manager": { "inputs": { "nixpkgs": [ - "catppuccin", "nixpkgs" ] }, "locked": { - "lastModified": 1736508663, - "narHash": "sha256-ZOaGwa+WnB7Zn3YXimqjmIugAnHePdXCmNu+AHkq808=", + "lastModified": 1746413188, + "narHash": "sha256-i6BoiQP0PasExESQHszC0reQHfO6D4aI2GzOwZMOI20=", "owner": "nix-community", "repo": "home-manager", - "rev": "2532b500c3ed2b8940e831039dcec5a5ea093afc", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "home-manager", - "type": "github" - } - }, - "home-manager-stable": { - "inputs": { - "nixpkgs": [ - "catppuccin", - "nixpkgs-stable" - ] - }, - "locked": { - "lastModified": 1736373539, - "narHash": "sha256-dinzAqCjenWDxuy+MqUQq0I4zUSfaCvN9rzuCmgMZJY=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "bd65bc3cde04c16755955630b344bc9e35272c56", - "type": "github" - }, - "original": { - "owner": "nix-community", - "ref": "release-24.11", - "repo": "home-manager", - "type": "github" - } - }, - "home-manager_2": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1736785676, - "narHash": "sha256-TY0jUwR3EW0fnS0X5wXMAVy6h4Z7Y6a3m+Yq++C9AyE=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "fc52a210b60f2f52c74eac41a8647c1573d2071d", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "home-manager", - "type": "github" - } - }, - "home-manager_3": { - "inputs": { - "nixpkgs": [ - "nixvim", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1736508663, - "narHash": "sha256-ZOaGwa+WnB7Zn3YXimqjmIugAnHePdXCmNu+AHkq808=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "2532b500c3ed2b8940e831039dcec5a5ea093afc", + "rev": "8a318641ac13d3bc0a53651feaee9560f9b2d89a", "type": "github" }, "original": { @@ -774,6 +575,10 @@ }, "hyprland-qt-support": { "inputs": { + "hyprlang": [ + "hyprland-qtutils", + "hyprlang" + ], "nixpkgs": [ "hyprland-qtutils", "nixpkgs" @@ -784,11 +589,11 @@ ] }, "locked": { - "lastModified": 1736376766, - "narHash": "sha256-tZG+mkJJzqoi/gH8nN6P/yY1/PEYtom9+2WdYKKv5YM=", + "lastModified": 1737634706, + "narHash": "sha256-nGCibkfsXz7ARx5R+SnisRtMq21IQIhazp6viBU8I/A=", "owner": "hyprwm", "repo": "hyprland-qt-support", - "rev": "0ecf224f213497c45b12c4dc7bdc2c2edd0e3084", + "rev": "8810df502cdee755993cb803eba7b23f189db795", "type": "github" }, "original": { @@ -800,16 +605,21 @@ "hyprland-qtutils": { "inputs": { "hyprland-qt-support": "hyprland-qt-support", - "hyprutils": "hyprutils", + "hyprlang": "hyprlang", + "hyprutils": [ + "hyprland-qtutils", + "hyprlang", + "hyprutils" + ], "nixpkgs": "nixpkgs_5", - "systems": "systems_6" + "systems": "systems_5" }, "locked": { - "lastModified": 1736774415, - "narHash": "sha256-pb8v7axHdVKFGhQHEAxIuZP/9REsmlyuDW5eLGIplLc=", + "lastModified": 1745951494, + "narHash": "sha256-2dModE32doiyQMmd6EDAQeZnz+5LOs6KXyE0qX76WIg=", "owner": "hyprwm", "repo": "hyprland-qtutils", - "rev": "534cd1badc46ec9bdd986ab41ad2408bf845961e", + "rev": "4be1d324faf8d6e82c2be9f8510d299984dfdd2e", "type": "github" }, "original": { @@ -818,8 +628,9 @@ "type": "github" } }, - "hyprutils": { + "hyprlang": { "inputs": { + "hyprutils": "hyprutils", "nixpkgs": [ "hyprland-qtutils", "nixpkgs" @@ -830,11 +641,38 @@ ] }, "locked": { - "lastModified": 1736164519, - "narHash": "sha256-1LimBKvDpBbeX+qW7T240WEyw+DBVpDotZB4JYm8Aps=", + "lastModified": 1737634606, + "narHash": "sha256-W7W87Cv6wqZ9PHegI6rH1+ve3zJPiyevMFf0/HwdbCQ=", + "owner": "hyprwm", + "repo": "hyprlang", + "rev": "f41271d35cc0f370d300413d756c2677f386af9d", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprlang", + "type": "github" + } + }, + "hyprutils": { + "inputs": { + "nixpkgs": [ + "hyprland-qtutils", + "hyprlang", + "nixpkgs" + ], + "systems": [ + "hyprland-qtutils", + "hyprlang", + "systems" + ] + }, + "locked": { + "lastModified": 1737632363, + "narHash": "sha256-X9I8POSlHxBVjD0fiX1O2j7U9Zi1+4rIkrsyHP0uHXY=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "3c895da64b0eb19870142196fa48c07090b441c4", + "rev": "006620eb29d54ea9086538891404c78563d1bae1", "type": "github" }, "original": { @@ -844,34 +682,6 @@ } }, "ixx": { - "inputs": { - "flake-utils": [ - "catppuccin", - "nuscht-search", - "flake-utils" - ], - "nixpkgs": [ - "catppuccin", - "nuscht-search", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1729958008, - "narHash": "sha256-EiOq8jF4Z/zQe0QYVc3+qSKxRK//CFHMB84aYrYGwEs=", - "owner": "NuschtOS", - "repo": "ixx", - "rev": "9fd01aad037f345350eab2cd45e1946cc66da4eb", - "type": "github" - }, - "original": { - "owner": "NuschtOS", - "ref": "v0.0.6", - "repo": "ixx", - "type": "github" - } - }, - "ixx_2": { "inputs": { "flake-utils": [ "nixvim", @@ -885,16 +695,16 @@ ] }, "locked": { - "lastModified": 1729958008, - "narHash": "sha256-EiOq8jF4Z/zQe0QYVc3+qSKxRK//CFHMB84aYrYGwEs=", + "lastModified": 1737371634, + "narHash": "sha256-fTVAWzT1UMm1lT+YxHuVPtH+DATrhYfea3B0MxG/cGw=", "owner": "NuschtOS", "repo": "ixx", - "rev": "9fd01aad037f345350eab2cd45e1946cc66da4eb", + "rev": "a1176e2a10ce745ff8f63e4af124ece8fe0b1648", "type": "github" }, "original": { "owner": "NuschtOS", - "ref": "v0.0.6", + "ref": "v0.0.7", "repo": "ixx", "type": "github" } @@ -911,11 +721,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1734994463, - "narHash": "sha256-S9MgfQjNt4J3I7obdLOVY23h+Yl/hnyibwGfOl+1uOE=", + "lastModified": 1745271491, + "narHash": "sha256-4GAHjus6JRpYHVROMIhFIz/sgLDF/klBM3UHulbSK9s=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "93e6f0d77548be8757c11ebda5c4235ef4f3bc67", + "rev": "995637eb3ab78eac33f8ee6b45cc2ecd5ede12ba", "type": "github" }, "original": { @@ -934,11 +744,11 @@ "nixpkgs-24_11": "nixpkgs-24_11" }, "locked": { - "lastModified": 1735230346, - "narHash": "sha256-zgR8NTiNDPVNrfaiOlB9yHSmCqFDo7Ks2IavaJ2dZo4=", + "lastModified": 1746220417, + "narHash": "sha256-cN2Vf/d9KKy3V6eJIoxYHD7X0HQHfgP+lMnj3AdbsEc=", "ref": "refs/heads/master", - "rev": "dc0569066e79ae96184541da6fa28f35a33fbf7b", - "revCount": 606, + "rev": "95e2de368fe76ec0675b3d380168c5ca1c1b955d", + "revCount": 625, "type": "git", "url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git" }, @@ -949,16 +759,16 @@ }, "microvm": { "inputs": { - "flake-utils": "flake-utils_6", + "flake-utils": "flake-utils_5", "nixpkgs": "nixpkgs_6", "spectrum": "spectrum" }, "locked": { - "lastModified": 1736905611, - "narHash": "sha256-eW6SfZRaOnOybBzhvEzu3iRL8IhwE0ETxUpnkErlqkE=", + "lastModified": 1746204357, + "narHash": "sha256-wg1VlK0OynQOrC7kB5pkjkDG13HuHy0AXpxLCStFKZg=", "owner": "astro", "repo": "microvm.nix", - "rev": "a18d7ba1bb7fd4841191044ca7a7f895ef2adf3b", + "rev": "717cbf49d61e46ad68cb8dcc183b3bf33678e1c2", "type": "github" }, "original": { @@ -967,27 +777,6 @@ "type": "github" } }, - "nix-darwin": { - "inputs": { - "nixpkgs": [ - "nixvim", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1736370755, - "narHash": "sha256-iWcjToBpx4PUd74uqvIGAfqqVfyrvRLRauC/SxEKIF0=", - "owner": "lnl7", - "repo": "nix-darwin", - "rev": "57733bd1dc81900e13438e5b4439239f1b29db0e", - "type": "github" - }, - "original": { - "owner": "lnl7", - "repo": "nix-darwin", - "type": "github" - } - }, "nix-github-actions": { "inputs": { "nixpkgs": [ @@ -1053,11 +842,11 @@ ] }, "locked": { - "lastModified": 1736730523, - "narHash": "sha256-mvTZ7fLKA6ggGnA8GZwcXV57EvVReRTCfi26xc08Q3g=", + "lastModified": 1742568034, + "narHash": "sha256-QaMEhcnscfF2MqB7flZr+sLJMMYZPnvqO4NYf9B4G38=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "74b8e31dd709760c86eed16b6c1d0b88d7360937", + "rev": "42ee229088490e3777ed7d1162cb9e9d8c3dbb11", "type": "github" }, "original": { @@ -1068,11 +857,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1736978406, - "narHash": "sha256-oMr3PVIQ8XPDI8/x6BHxsWEPBRU98Pam6KGVwUh8MPk=", + "lastModified": 1746427242, + "narHash": "sha256-KvZ6G5sdBdcrglsqcOx8BT6NpHVMVHc8wssMRhv/+1g=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "b678606690027913f3434dea3864e712b862dde5", + "rev": "a4bb30a9000cf0444ecc8fdca8096d072f77f9e8", "type": "github" }, "original": { @@ -1083,11 +872,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1736012469, - "narHash": "sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs+rI=", + "lastModified": 1744463964, + "narHash": "sha256-LWqduOgLHCFxiTNYi3Uj5Lgz0SR+Xhw3kr/3Xd0GPTM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8f3e1f807051e32d8c95cd12b9b421623850a34d", + "rev": "2631b0b7abcea6e640ce31cd78ea58910d31e650", "type": "github" }, "original": { @@ -1128,38 +917,6 @@ "type": "github" } }, - "nixpkgs-stable_2": { - "locked": { - "lastModified": 1736061677, - "narHash": "sha256-DjkQPnkAfd7eB522PwnkGhOMuT9QVCZspDpJJYyOj60=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "cbd8ec4de4469333c82ff40d057350c30e9f7d36", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-24.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-stable_3": { - "locked": { - "lastModified": 1730741070, - "narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "d063c1dd113c91ab27959ba540c0d9753409edf3", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-24.05", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs_10": { "locked": { "lastModified": 1714656196, @@ -1225,11 +982,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1736012469, - "narHash": "sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs+rI=", + "lastModified": 1737632463, + "narHash": "sha256-38J9QfeGSej341ouwzqf77WIHAScihAKCt8PQJ+NH28=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8f3e1f807051e32d8c95cd12b9b421623850a34d", + "rev": "0aa475546ed21629c4f5bbf90e38c846a99ec9e9", "type": "github" }, "original": { @@ -1241,11 +998,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1733212471, - "narHash": "sha256-M1+uCoV5igihRfcUKrr1riygbe73/dzNnzPsmaLCmpo=", + "lastModified": 1746141548, + "narHash": "sha256-IgBWhX7A2oJmZFIrpRuMnw5RAufVnfvOgHWgIdds+hc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "55d15ad12a74eb7d4646254e13638ad0c4128776", + "rev": "f02fddb8acef29a8b32f10a335d44828d7825b78", "type": "github" }, "original": { @@ -1257,11 +1014,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1736883708, - "narHash": "sha256-uQ+NQ0/xYU0N1CnXsa2zghgNaOPxWpMJXSUJJ9W7140=", + "lastModified": 1746328495, + "narHash": "sha256-uKCfuDs7ZM3QpCE/jnfubTg459CnKnJG/LwqEVEdEiw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "eb62e6aa39ea67e0b8018ba8ea077efe65807dc8", + "rev": "979daf34c8cacebcd917d540070b52a3c2b9b16e", "type": "github" }, "original": { @@ -1272,27 +1029,27 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1736344531, - "narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=", + "lastModified": 1746300365, + "narHash": "sha256-thYTdWqCRipwPRxWiTiH1vusLuAy0okjOyzRx4hLWh4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912", + "rev": "f21e4546e3ede7ae34d12a84602a22246b31f7e0", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_9": { "locked": { - "lastModified": 1736883708, - "narHash": "sha256-uQ+NQ0/xYU0N1CnXsa2zghgNaOPxWpMJXSUJJ9W7140=", + "lastModified": 1746328495, + "narHash": "sha256-uKCfuDs7ZM3QpCE/jnfubTg459CnKnJG/LwqEVEdEiw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "eb62e6aa39ea67e0b8018ba8ea077efe65807dc8", + "rev": "979daf34c8cacebcd917d540070b52a3c2b9b16e", "type": "github" }, "original": { @@ -1304,22 +1061,16 @@ }, "nixvim": { "inputs": { - "devshell": "devshell", - "flake-compat": "flake-compat_6", "flake-parts": "flake-parts_3", - "git-hooks": "git-hooks", - "home-manager": "home-manager_3", - "nix-darwin": "nix-darwin", "nixpkgs": "nixpkgs_8", - "nuschtosSearch": "nuschtosSearch", - "treefmt-nix": "treefmt-nix" + "nuschtosSearch": "nuschtosSearch" }, "locked": { - "lastModified": 1736964246, - "narHash": "sha256-gb3ujURRlI/D5Jc8PUDOpJr8RyrTwnDDIDtnQK4upso=", + "lastModified": 1746387720, + "narHash": "sha256-x8k0DKiQYRNaf9Hg+di+WCKxb76zJVWSjKOlPiuc22o=", "owner": "pta2002", "repo": "nixvim", - "rev": "5b068e7f8f2b6beaa1fafe0c8b3604b63bcccc2d", + "rev": "7d18194a22325f212e17eb876d9c00afcc434113", "type": "github" }, "original": { @@ -1332,14 +1083,14 @@ "inputs": { "flake-parts": "flake-parts_4", "nixpkgs": "nixpkgs_9", - "treefmt-nix": "treefmt-nix_2" + "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1737019478, - "narHash": "sha256-rN2A7HJL2gp1KErErcl9Ijuj6Jz4geD593IkONdwh8U=", + "lastModified": 1746435334, + "narHash": "sha256-rZ5iubLMaDrh6N0n00o9rt3hKkstFAsDq97rmWPIAE4=", "owner": "nix-community", "repo": "NUR", - "rev": "076326228a5df27cbd6e1f8731bb6b29f09d4d75", + "rev": "d13cb380ea07386b0768c5024b44f4dfe7598649", "type": "github" }, "original": { @@ -1348,44 +1099,21 @@ "type": "github" } }, - "nuscht-search": { - "inputs": { - "flake-utils": "flake-utils", - "ixx": "ixx", - "nixpkgs": [ - "catppuccin", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1735854821, - "narHash": "sha256-Iv59gMDZajNfezTO0Fw6LHE7uKAShxbvMidmZREit7c=", - "owner": "NuschtOS", - "repo": "search", - "rev": "836908e3bddd837ae0f13e215dd48767aee355f0", - "type": "github" - }, - "original": { - "owner": "NuschtOS", - "repo": "search", - "type": "github" - } - }, "nuschtosSearch": { "inputs": { - "flake-utils": "flake-utils_7", - "ixx": "ixx_2", + "flake-utils": "flake-utils_6", + "ixx": "ixx", "nixpkgs": [ "nixvim", "nixpkgs" ] }, "locked": { - "lastModified": 1735854821, - "narHash": "sha256-Iv59gMDZajNfezTO0Fw6LHE7uKAShxbvMidmZREit7c=", + "lastModified": 1745046075, + "narHash": "sha256-8v4y6k16Ra/fiecb4DxhsoOGtzLKgKlS+9/XJ9z0T2I=", "owner": "NuschtOS", "repo": "search", - "rev": "836908e3bddd837ae0f13e215dd48767aee355f0", + "rev": "066afe8643274470f4a294442aadd988356a478f", "type": "github" }, "original": { @@ -1404,15 +1132,14 @@ "nixpkgs": [ "lanzaboote", "nixpkgs" - ], - "nixpkgs-stable": "nixpkgs-stable_3" + ] }, "locked": { - "lastModified": 1731363552, - "narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=", + "lastModified": 1741379162, + "narHash": "sha256-srpAbmJapkaqGRE3ytf3bj4XshspVR5964OX5LfjDWc=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0", + "rev": "b5a62751225b2f62ff3147d0a334055ebadcd5cc", "type": "github" }, "original": { @@ -1431,7 +1158,7 @@ "essentials": "essentials", "flake-utils-plus": "flake-utils-plus", "gnome-autounlock-keyring": "gnome-autounlock-keyring", - "home-manager": "home-manager_2", + "home-manager": "home-manager", "hyprland-qtutils": "hyprland-qtutils", "lanzaboote": "lanzaboote", "mailserver": "mailserver", @@ -1454,11 +1181,11 @@ ] }, "locked": { - "lastModified": 1731897198, - "narHash": "sha256-Ou7vLETSKwmE/HRQz4cImXXJBr/k9gp4J4z/PF8LzTE=", + "lastModified": 1741573199, + "narHash": "sha256-A2sln1GdCf+uZ8yrERSCZUCqZ3JUlOv1WE2VFqqfaLQ=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "0be641045af6d8666c11c2c40e45ffc9667839b5", + "rev": "c777dc8a1e35407b0e80ec89817fe69970f4e81a", "type": "github" }, "original": { @@ -1470,11 +1197,11 @@ "spectrum": { "flake": false, "locked": { - "lastModified": 1733308308, - "narHash": "sha256-+RcbMAjSxV1wW5UpS9abIG1lFZC8bITPiFIKNnE7RLs=", + "lastModified": 1745937988, + "narHash": "sha256-8BsgirAbalgq7XRHE9il8XBX/RYCALVj5zGqDvbOEc4=", "ref": "refs/heads/main", - "rev": "80c9e9830d460c944c8f730065f18bb733bc7ee2", - "revCount": 792, + "rev": "65a511b120aa28f40bcdbb333fd221f33ced4760", + "revCount": 854, "type": "git", "url": "https://spectrum-os.org/git/spectrum" }, @@ -1514,21 +1241,6 @@ "type": "github" } }, - "systems_10": { - "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, @@ -1575,21 +1287,6 @@ } }, "systems_5": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_6": { "locked": { "lastModified": 1689347949, "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", @@ -1604,6 +1301,21 @@ "type": "github" } }, + "systems_6": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "systems_7": { "locked": { "lastModified": 1681028828, @@ -1651,7 +1363,7 @@ }, "t": { "inputs": { - "flake-utils": "flake-utils_8", + "flake-utils": "flake-utils_7", "nixpkgs": [ "nixpkgs" ] @@ -1671,27 +1383,6 @@ } }, "treefmt-nix": { - "inputs": { - "nixpkgs": [ - "nixvim", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1736154270, - "narHash": "sha256-p2r8xhQZ3TYIEKBoiEhllKWQqWNJNoT9v64Vmg4q8Zw=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "13c913f5deb3a5c08bb810efd89dc8cb24dd968b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } - }, - "treefmt-nix_2": { "inputs": { "nixpkgs": [ "nur", @@ -1714,7 +1405,7 @@ }, "utils": { "inputs": { - "systems": "systems_2" + "systems": "systems" }, "locked": { "lastModified": 1701680307, @@ -1732,7 +1423,7 @@ }, "vault-secrets": { "inputs": { - "flake-compat": "flake-compat_7", + "flake-compat": "flake-compat_6", "nixpkgs": "nixpkgs_10" }, "locked": { @@ -1751,7 +1442,7 @@ }, "vault-unseal": { "inputs": { - "flake-utils": "flake-utils_9", + "flake-utils": "flake-utils_8", "nixpkgs": [ "nixpkgs" ] diff --git a/flake.nix b/flake.nix index c6fa111b..efc87b1f 100644 --- a/flake.nix +++ b/flake.nix @@ -164,7 +164,7 @@ devShells.default = channels.nixpkgs.mkShell { name = "devShell"; VAULT_ADDR = "http://vault.olympus:8200/"; - FLAKE = "/home/vivian/src/infrastructure-new"; + NH_FLAKE = "/home/vivian/src/infrastructure-new"; packages = with pkgs; [ # attic.packages.${system}.attic apply-local diff --git a/hosts/thalassa/aoife/69-probe-rs.rules b/hosts/thalassa/aoife/69-probe-rs.rules new file mode 100644 index 00000000..22aa1774 --- /dev/null +++ b/hosts/thalassa/aoife/69-probe-rs.rules @@ -0,0 +1,146 @@ +# Copy this file to /etc/udev/rules.d/ +# If rules fail to reload automatically, you can refresh udev rules +# with the command "udevadm control --reload" + +# This rules are based on the udev rules from the OpenOCD project, with unsupported probes removed. +# See http://openocd.org/ for more details. +# +# This file is available under the GNU General Public License v2.0 + +ACTION!="add|change", GOTO="probe_rs_rules_end" + +SUBSYSTEM=="gpio", MODE="0660", GROUP="plugdev", TAG+="uaccess" + +SUBSYSTEM!="usb|tty|hidraw", GOTO="probe_rs_rules_end" + +# Please keep this list sorted by VID:PID + +# STMicroelectronics ST-LINK V1 +ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3744", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# STMicroelectronics ST-LINK/V2 +ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3748", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# STMicroelectronics ST-LINK/V2.1 +ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374b", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3752", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# STMicroelectronics STLINK-V3 +ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374d", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374e", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374f", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3753", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3754", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# SEGGER J-Link +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0101", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0102", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0103", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0104", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0105", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0107", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0108", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1001", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1002", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1003", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1004", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1005", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1006", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1007", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1008", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1009", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="100a", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="100b", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="100c", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="100d", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="100e", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="100f", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1010", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1011", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1012", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1013", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1014", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1015", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1016", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1017", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1018", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1019", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="101a", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="101b", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="101c", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="101d", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="101e", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="101f", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1020", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1021", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1022", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1023", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1024", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1025", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1026", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1027", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1028", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1029", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="102a", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="102b", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="102c", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="102d", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="102e", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="102f", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1050", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1051", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1052", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1053", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1054", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1055", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1056", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1057", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1058", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1059", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="105a", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="105b", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="105c", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="105d", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="105e", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="105f", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1060", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1061", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1062", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1063", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1064", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1065", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1066", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1067", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1068", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1069", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="106a", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="106b", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="106c", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="106d", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="106e", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="106f", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# FT232H +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6014", MODE="660", GROUP="plugdev", TAG+="uaccess" +# FT2232x +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6010", MODE="660", GROUP="plugdev", TAG+="uaccess" +# FT4232H +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6011", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# FTDI-based Olimex devices +ATTRS{idVendor}=="0x15ba", ATTRS{idProduct}=="0x0003", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="0x15ba", ATTRS{idProduct}=="0x0004", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="0x15ba", ATTRS{idProduct}=="0x002a", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="0x15ba", ATTRS{idProduct}=="0x002b", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Espressif USB JTAG/serial debug unit +ATTRS{idVendor}=="303a", ATTRS{idProduct}=="1001", MODE="660", GROUP="plugdev", TAG+="uaccess" +# Espressif USB Bridge +ATTRS{idVendor}=="303a", ATTRS{idProduct}=="1002", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# CMSIS-DAP compatible adapters +ATTRS{product}=="*CMSIS-DAP*", MODE="660", GROUP="plugdev", TAG+="uaccess" +# WCH Link (CMSIS-DAP compatible adapter) +ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="8011", MODE="660", GROUP="plugdev", TAG+="uaccess" + +LABEL="probe_rs_rules_end" diff --git a/hosts/thalassa/aoife/default.nix b/hosts/thalassa/aoife/default.nix index 3a042ac9..91b5130d 100644 --- a/hosts/thalassa/aoife/default.nix +++ b/hosts/thalassa/aoife/default.nix @@ -25,9 +25,7 @@ # Bootloader. boot = { - kernelParams = [ - "amdgpu.dcdebugmask=0x10" # Disables partial screen refresh, fixes flicker - ]; + bootspec.enable = true; initrd.kernelModules = [ "amdgpu" ]; resumeDevice = "/dev/nvme0n1p2"; diff --git a/hosts/thalassa/aoife/hardware.nix b/hosts/thalassa/aoife/hardware.nix index 0d5744e7..f498fcc3 100644 --- a/hosts/thalassa/aoife/hardware.nix +++ b/hosts/thalassa/aoife/hardware.nix @@ -6,6 +6,13 @@ lshw ]; + boot = { + kernelParams = [ + "amdgpu.dcdebugmask=0x10" # Disables partial screen refresh, fixes flicker + "kvm.enable_virt_at_load=0" + ]; + }; + hardware = { enableAllFirmware = true; bluetooth.enable = true; @@ -14,7 +21,7 @@ graphics = { enable = true; extraPackages = with pkgs; [ - mesa.drivers + mesa ]; }; @@ -43,7 +50,7 @@ # Video Driver xserver = { - videoDrivers = [ "displaylink" ]; + # videoDrivers = [ "displaylink" ]; dpi = 280; }; diff --git a/hosts/thalassa/aoife/home/hyprland.nix b/hosts/thalassa/aoife/home/hyprland.nix index 1f4f50cc..59ecba01 100644 --- a/hosts/thalassa/aoife/home/hyprland.nix +++ b/hosts/thalassa/aoife/home/hyprland.nix @@ -41,47 +41,6 @@ in path = "screenshot"; blur_passes = 3; }; - - input-field = { - size = "500, 100"; - outline_thickness = 0; - dots_size = 0.25; # Scale of input-field height, 0.2 - 0.8 - dots_spacing = 0.55; # Scale of dots' absolute size, 0.0 - 1.0 - dots_center = true; - dots_rounding = -1; - outer_color = "rgba(242, 243, 244, 0)"; - inner_color = "rgba(242, 243, 244, 0)"; - font_color = "rgba(242, 243, 244, 0.75)"; - fade_on_empty = false; - placeholder_text = "Enter password or scan fingerprint.."; # Text rendered in the input box when it's empty. - hide_input = false; - check_color = "rgba(204, 136, 34, 0)"; - fail_color = "rgba(204, 34, 34, 0)"; # if authentication failed, changes outer_color and fail message color - fail_text = "$FAIL ($ATTEMPTS)"; # can be set to empty - fail_transition = 300; # transition time in ms between normal outer_color and fail_color - capslock_color = -1; - numlock_color = -1; - bothlock_color = -1; # when both locks are active. -1 means don't change outer color (same for above) - invert_numlock = false; # change color if numlock is off - swap_font_color = false; # see below - # position = "0, -468"; - position = "0, -900"; - halign = "center"; - valign = "center"; - }; - - label = [ - { - text = "$TIME"; - inherit color; - shadow_passes = 1; - shadow_boost = 0.5; - font_size = 120; - # position = "0, 900"; - halign = "center"; - valign = "center"; - } - ]; }; }; @@ -96,7 +55,7 @@ in mako = { enable = true; - defaultTimeout = 5000; + settings.defaultTimeout = 5000; }; hypridle = { @@ -173,7 +132,7 @@ in # Autostart now handled by xdg.autoStart startup = pkgs.writeScriptBin "startup.sh" '' #!${pkgs.stdenv.shell} - uwsm app -- ${pkgs.wl-clip-persist}/bin/wl-clip-persist -c both & + # uwsm app -- ${pkgs.wl-clip-persist}/bin/wl-clip-persist -c both & ''; in { diff --git a/hosts/thalassa/aoife/uni.nix b/hosts/thalassa/aoife/uni.nix index 882f47b0..263d79f4 100644 --- a/hosts/thalassa/aoife/uni.nix +++ b/hosts/thalassa/aoife/uni.nix @@ -1,45 +1,12 @@ -# Config options needed for various university courses, such as: -# * Wireless IoT and Local Area Networks -# * Network Security -# * Smart Phone Sensing -# * PDP -# * RTS -{ pkgs, ... }: +# Config options needed for various university courses +{ pkgs, lib, ... }: { environment.systemPackages = with pkgs; [ ]; - hardware.saleae-logic = { - enable = true; - package = pkgs.saleae-logic-2; - }; - - programs.wireshark = { - enable = true; - package = pkgs.wireshark; - }; - - programs.mininet.enable = true; - - virtualisation = { - podman.enable = true; - # virtualbox.host = { - # enable = true; - # }; - docker = { - enable = false; - storageDriver = "btrfs"; - }; - }; - users.extraGroups.plugdev = { }; - users.extraUsers.vivian.extraGroups = [ - # "wireshark" - # "docker" - # "lxd" - # "vboxusers" - "plugdev" "dialout" + "plugdev" ]; programs.nix-ld = { @@ -50,39 +17,12 @@ ]; }; - # Vivado udev services.udev.packages = [ - pkgs.platformio-core - pkgs.openocd + pkgs.openocd # This should(?) be the same as the probe-rs rules below, but just to be sure (pkgs.writeTextFile { - name = "xilinx-dilligent-usb-udev"; - destination = "/etc/udev/rules.d/52-xilinx-digilent-usb.rules"; - text = '' - ATTR{idVendor}=="1443", MODE:="666" - ACTION=="add", ATTR{idVendor}=="0403", ATTR{manufacturer}=="Digilent", MODE:="666" - ''; - }) - (pkgs.writeTextFile { - name = "xilinx-pcusb-udev"; - destination = "/etc/udev/rules.d/52-xilinx-pcusb.rules"; - text = '' - ATTR{idVendor}=="03fd", ATTR{idProduct}=="0008", MODE="666" - ATTR{idVendor}=="03fd", ATTR{idProduct}=="0007", MODE="666" - ATTR{idVendor}=="03fd", ATTR{idProduct}=="0009", MODE="666" - ATTR{idVendor}=="03fd", ATTR{idProduct}=="000d", MODE="666" - ATTR{idVendor}=="03fd", ATTR{idProduct}=="000f", MODE="666" - ATTR{idVendor}=="03fd", ATTR{idProduct}=="0013", MODE="666" - ATTR{idVendor}=="03fd", ATTR{idProduct}=="0015", MODE="666" - ''; - }) - (pkgs.writeTextFile { - name = "xilinx-ftdi-usb-udev"; - destination = "/etc/udev/rules.d/52-xilinx-ftdi-usb.rules"; - text = '' - ACTION=="add", ATTR{idVendor}=="0403", ATTR{manufacturer}=="Xilinx", MODE:="666" - ''; + name = "probe-rs-udev"; + destination = "/etc/udev/rules.d/69-probe-rs.rules"; + text = builtins.readFile ./69-probe-rs.rules; }) ]; } - - diff --git a/renovate.json b/renovate.json deleted file mode 100644 index 7190a60b..00000000 --- a/renovate.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "$schema": "https://docs.renovatebot.com/renovate-schema.json" -} From 46ec55b24b9af21f72b8e03ca5f7b28448f22b78 Mon Sep 17 00:00:00 2001 From: Vivian Date: Wed, 28 May 2025 14:44:53 +0200 Subject: [PATCH 74/88] updates --- common/desktop/home.nix | 16 +- common/hm-modules/nvim/default.nix | 14 +- common/hm-modules/nvim/keybinds.nix | 22 ++- common/hm-modules/nvim/lsp.nix | 27 ++- common/hm-modules/rust.nix | 7 +- flake.lock | 246 ++++++++++++++++++---------- 6 files changed, 223 insertions(+), 109 deletions(-) diff --git a/common/desktop/home.nix b/common/desktop/home.nix index 5714709a..2a5d6619 100644 --- a/common/desktop/home.nix +++ b/common/desktop/home.nix @@ -29,6 +29,7 @@ in calibre celluloid # video player element-desktop + signal-desktop fusee-launcher foliate # epub reader gcc @@ -36,7 +37,6 @@ in comma discord tex - # jetbrains.rust-rover # libreoffice neofetch nixpkgs-review @@ -47,10 +47,12 @@ in yt-dlp obsidian - (lib.hiPrio (pkgs.writeShellScriptBin "obsidian" '' - unset WAYLAND_DISPLAY - ${pkgs.obsidian}/bin/obsidian - '')) + (lib.hiPrio ( + pkgs.writeShellScriptBin "obsidian" '' + unset WAYLAND_DISPLAY + ${pkgs.obsidian}/bin/obsidian + '' + )) ]; # Enable my own hm modules themes.v.catppuccin.enable = true; @@ -61,6 +63,10 @@ in rust.enable = true; }; + zed-editor = { + enable = true; + }; + firefox.enable = true; chromium = { diff --git a/common/hm-modules/nvim/default.nix b/common/hm-modules/nvim/default.nix index 25a430c2..1d888423 100644 --- a/common/hm-modules/nvim/default.nix +++ b/common/hm-modules/nvim/default.nix @@ -67,6 +67,15 @@ with lib; plugins = { nvim-surround.enable = true; + zen-mode = { + enable = true; + settings = { + window.options = { + number = false; + }; + }; + }; + vimwiki = { enable = true; settings = { @@ -195,13 +204,14 @@ with lib; sources = [ { name = "nvim_lsp_signature_help"; } { name = "path"; } - { name = "nvim_lsp"; } - { name = "luasnip"; } + { name = "spell"; } { name = "buffer"; # Words from other open buffers can also be suggested. option.get_bufnrs.__raw = "vim.api.nvim_list_bufs"; } + { name = "nvim_lsp"; } + { name = "luasnip"; } ]; }; }; diff --git a/common/hm-modules/nvim/keybinds.nix b/common/hm-modules/nvim/keybinds.nix index 341052db..4a3533df 100644 --- a/common/hm-modules/nvim/keybinds.nix +++ b/common/hm-modules/nvim/keybinds.nix @@ -38,11 +38,11 @@ key = "fr"; action = ":Telescope frecency"; } - # { - # mode = "n"; - #key = "ob"; - # action = mkRaw "require('obsidian_picker').obsidian_picker"; - #} + # { + # mode = "n"; + #key = "ob"; + # action = mkRaw "require('obsidian_picker').obsidian_picker"; + #} # Commenting { mode = "n"; @@ -153,5 +153,17 @@ key = "-"; action = "Oil"; } + # Tiny mist (Typst) + # { + # mode = "n"; + # key = "tp"; + # action = mkRaw '' + # client:exec_cmd({ + # title = "pin", + # command = "tinymist.pinMain", + # arguments = { vim.api.nvim_buf_get_name(0) }, + # }, { bufnr = bufnr }) + # ''; + # } ]; } diff --git a/common/hm-modules/nvim/lsp.nix b/common/hm-modules/nvim/lsp.nix index 35daec74..2c01dd47 100644 --- a/common/hm-modules/nvim/lsp.nix +++ b/common/hm-modules/nvim/lsp.nix @@ -15,6 +15,7 @@ enable = "always"; }; }; + cargo.features = "all"; check = { command = "clippy"; }; @@ -69,7 +70,31 @@ clangd.enable = true; yamlls.enable = true; lua_ls.enable = true; - tinymist.enable = true; + tinymist = { + enable = true; + rootMarkers = [ "main.typ" ]; + onAttach.function = '' + vim.keymap.set("n", "tp", function() + client:exec_cmd({ + title = "pin", + command = "tinymist.pinMain", + arguments = { vim.api.nvim_buf_get_name(0) }, + }, { bufnr = bufnr }) + end, { desc = "[T]inymist [P]in", noremap = true }) + + vim.keymap.set("n", "tu", function() + client:exec_cmd({ + title = "unpin", + command = "tinymist.pinMain", + arguments = { vim.v.null }, + }, { bufnr = bufnr }) + end, { desc = "[T]inymist [U]npin", noremap = true }) + ''; + settings = { + formatterMode = "typstyle"; # or "typstfmt" + + }; + }; }; }; diff --git a/common/hm-modules/rust.nix b/common/hm-modules/rust.nix index a31b3467..fb501054 100644 --- a/common/hm-modules/rust.nix +++ b/common/hm-modules/rust.nix @@ -14,6 +14,7 @@ in config = mkIf cfg.enable { home = { packages = with pkgs; [ + bacon rustup cargo-binutils cargo-nextest @@ -33,12 +34,6 @@ in inherits = "dev" ''; - # [target.'cfg(not(target_arch = "mips"))'] - # linker = "${pkgs.clang}/bin/clang" - # rustflags = ["-C", "link-arg=-fuse-ld=${pkgs.mold}/bin/mold"] - - - sessionPath = [ "$HOME/.cargo/bin" ]; }; }; diff --git a/flake.lock b/flake.lock index 27b116f7..8d7dd0aa 100644 --- a/flake.lock +++ b/flake.lock @@ -12,11 +12,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1738524606, - "narHash": "sha256-hPYEJ4juK3ph7kbjbvv7PlU1D9pAkkhl+pwx8fZY53U=", + "lastModified": 1747587191, + "narHash": "sha256-JswxXCzaDmX/mY5uYJQjntvORumrHQctJ+a1N1wj5EI=", "owner": "zhaofengli", "repo": "attic", - "rev": "ff8a897d1f4408ebbf4d45fa9049c06b3e1e3f4e", + "rev": "8eb49a2f178d093b2d54cdcc1eb60a70c1ab1054", "type": "github" }, "original": { @@ -61,11 +61,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1746175539, - "narHash": "sha256-/wjcn1CDQqOhwOoYKS8Xp0KejrdXSJZQMF1CbbrVtMw=", + "lastModified": 1748080874, + "narHash": "sha256-sUebEzAkrY8Aq5G0GHFyRddmRNGP/a2iTtV7ISNvi/c=", "owner": "catppuccin", "repo": "nix", - "rev": "a5db9e41a4dccfa5ffe38e6f1841a5f9ad5c5c04", + "rev": "0ba11b12be81f0849a89ed17ab635164ea8f0112", "type": "github" }, "original": { @@ -83,11 +83,11 @@ "stable": "stable" }, "locked": { - "lastModified": 1739900653, - "narHash": "sha256-hPSLvw6AZQYrZyGI6Uq4XgST7benF/0zcCpugn/P0yM=", + "lastModified": 1746816769, + "narHash": "sha256-ymQzXrfHVT8/RJiGbfrNjEeuzXQan46lUJdxEhgivdM=", "owner": "zhaofengli", "repo": "colmena", - "rev": "2370d4336eda2a9ef29fce10fa7076ae011983ab", + "rev": "df694ee23be7ed7b2d8b42c245a640f0724eb06c", "type": "github" }, "original": { @@ -119,11 +119,11 @@ }, "crane_2": { "locked": { - "lastModified": 1741481578, - "narHash": "sha256-JBTSyJFQdO3V8cgcL08VaBUByEU6P5kXbTJN6R0PFQo=", + "lastModified": 1746291859, + "narHash": "sha256-DdWJLA+D5tcmrRSg5Y7tp/qWaD05ATI4Z7h22gd1h7Q=", "owner": "ipetkov", "repo": "crane", - "rev": "bb1c9567c43e4434f54e9481eb4b8e8e0d50f0b5", + "rev": "dfd9a8dfd09db9aad544c4d3b6c47b12562544a5", "type": "github" }, "original": { @@ -240,11 +240,11 @@ "flake-compat_5": { "flake": false, "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "lastModified": 1747046372, + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", "owner": "edolstra", "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", "type": "github" }, "original": { @@ -298,11 +298,11 @@ ] }, "locked": { - "lastModified": 1741352980, - "narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=", + "lastModified": 1743550720, + "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9", + "rev": "c621e8422220273271f52058f618c94e405bb0f5", "type": "github" }, "original": { @@ -478,7 +478,7 @@ }, "flake-utils_7": { "inputs": { - "systems": "systems_8" + "systems": "systems_9" }, "locked": { "lastModified": 1710146030, @@ -496,7 +496,7 @@ }, "flake-utils_8": { "inputs": { - "systems": "systems_9" + "systems": "systems_10" }, "locked": { "lastModified": 1681202837, @@ -512,6 +512,32 @@ "type": "github" } }, + "git-hooks": { + "inputs": { + "flake-compat": [ + "mailserver", + "flake-compat" + ], + "gitignore": "gitignore_2", + "nixpkgs": [ + "mailserver", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1742649964, + "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, "gitignore": { "inputs": { "nixpkgs": [ @@ -534,6 +560,28 @@ "type": "github" } }, + "gitignore_2": { + "inputs": { + "nixpkgs": [ + "mailserver", + "git-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, "gnome-autounlock-keyring": { "inputs": { "flake-utils": "flake-utils_4", @@ -560,11 +608,11 @@ ] }, "locked": { - "lastModified": 1746413188, - "narHash": "sha256-i6BoiQP0PasExESQHszC0reQHfO6D4aI2GzOwZMOI20=", + "lastModified": 1748391243, + "narHash": "sha256-7sCuihzsTRZemtbTXaFUoGJUfuQErhKEcL9v7HKIo1k=", "owner": "nix-community", "repo": "home-manager", - "rev": "8a318641ac13d3bc0a53651feaee9560f9b2d89a", + "rev": "f5b12be834874f7661db4ced969a621ab2d57971", "type": "github" }, "original": { @@ -695,16 +743,16 @@ ] }, "locked": { - "lastModified": 1737371634, - "narHash": "sha256-fTVAWzT1UMm1lT+YxHuVPtH+DATrhYfea3B0MxG/cGw=", + "lastModified": 1748294338, + "narHash": "sha256-FVO01jdmUNArzBS7NmaktLdGA5qA3lUMJ4B7a05Iynw=", "owner": "NuschtOS", "repo": "ixx", - "rev": "a1176e2a10ce745ff8f63e4af124ece8fe0b1648", + "rev": "cc5f390f7caf265461d4aab37e98d2292ebbdb85", "type": "github" }, "original": { "owner": "NuschtOS", - "ref": "v0.0.7", + "ref": "v0.0.8", "repo": "ixx", "type": "github" } @@ -721,11 +769,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1745271491, - "narHash": "sha256-4GAHjus6JRpYHVROMIhFIz/sgLDF/klBM3UHulbSK9s=", + "lastModified": 1747056319, + "narHash": "sha256-qSKcBaISBozadtPq6BomnD+wIYTZIkiua3UuHLaD52c=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "995637eb3ab78eac33f8ee6b45cc2ecd5ede12ba", + "rev": "2e425f3da6ce7f5b34fa6eaf7a2a7f78dbabcc85", "type": "github" }, "original": { @@ -738,17 +786,18 @@ "inputs": { "blobs": "blobs", "flake-compat": "flake-compat_5", + "git-hooks": "git-hooks", "nixpkgs": [ "nixpkgs" ], - "nixpkgs-24_11": "nixpkgs-24_11" + "nixpkgs-25_05": "nixpkgs-25_05" }, "locked": { - "lastModified": 1746220417, - "narHash": "sha256-cN2Vf/d9KKy3V6eJIoxYHD7X0HQHfgP+lMnj3AdbsEc=", + "lastModified": 1747965231, + "narHash": "sha256-BW3ktviEhfCN/z3+kEyzpDKAI8qFTwO7+S0NVA0C90o=", "ref": "refs/heads/master", - "rev": "95e2de368fe76ec0675b3d380168c5ca1c1b955d", - "revCount": 625, + "rev": "53007af63fade28853408370c4c600a63dd97f41", + "revCount": 694, "type": "git", "url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git" }, @@ -764,11 +813,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1746204357, - "narHash": "sha256-wg1VlK0OynQOrC7kB5pkjkDG13HuHy0AXpxLCStFKZg=", + "lastModified": 1748260747, + "narHash": "sha256-V3ONd70wm55JxcUa1rE0JU3zD+Cz7KK/iSVhRD7lq68=", "owner": "astro", "repo": "microvm.nix", - "rev": "717cbf49d61e46ad68cb8dcc183b3bf33678e1c2", + "rev": "b6c5dfc2a1c7614c94fd2c5d2e8578fd52396f3b", "type": "github" }, "original": { @@ -842,11 +891,11 @@ ] }, "locked": { - "lastModified": 1742568034, - "narHash": "sha256-QaMEhcnscfF2MqB7flZr+sLJMMYZPnvqO4NYf9B4G38=", + "lastModified": 1747663185, + "narHash": "sha256-Obh50J+O9jhUM/FgXtI3he/QRNiV9+J53+l+RlKSaAk=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "42ee229088490e3777ed7d1162cb9e9d8c3dbb11", + "rev": "ee07ba0d36c38e9915c55d2ac5a8fb0f05f2afcc", "type": "github" }, "original": { @@ -857,11 +906,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1746427242, - "narHash": "sha256-KvZ6G5sdBdcrglsqcOx8BT6NpHVMVHc8wssMRhv/+1g=", + "lastModified": 1747900541, + "narHash": "sha256-dn64Pg9xLETjblwZs9Euu/SsjW80pd6lr5qSiyLY1pg=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "a4bb30a9000cf0444ecc8fdca8096d072f77f9e8", + "rev": "11f2d9ea49c3e964315215d6baa73a8d42672f06", "type": "github" }, "original": { @@ -886,19 +935,20 @@ "type": "github" } }, - "nixpkgs-24_11": { + "nixpkgs-25_05": { "locked": { - "lastModified": 1734083684, - "narHash": "sha256-5fNndbndxSx5d+C/D0p/VF32xDiJCJzyOqorOYW4JEo=", + "lastModified": 1747610100, + "narHash": "sha256-rpR5ZPMkWzcnCcYYo3lScqfuzEw5Uyfh+R0EKZfroAc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "314e12ba369ccdb9b352a4db26ff419f7c49fa84", + "rev": "ca49c4304acf0973078db0a9d200fd2bae75676d", "type": "github" }, "original": { - "id": "nixpkgs", - "ref": "nixos-24.11", - "type": "indirect" + "owner": "NixOS", + "ref": "nixos-25.05", + "repo": "nixpkgs", + "type": "github" } }, "nixpkgs-stable": { @@ -935,11 +985,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1734119587, - "narHash": "sha256-AKU6qqskl0yf2+JdRdD0cfxX4b9x3KKV5RqA6wijmPM=", + "lastModified": 1746461020, + "narHash": "sha256-7+pG1I9jvxNlmln4YgnlW4o+w0TZX24k688mibiFDUE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3566ab7246670a43abd2ffa913cc62dad9cdf7d5", + "rev": "3730d8a308f94996a9ba7c7138ede69c1b9ac4ae", "type": "github" }, "original": { @@ -998,11 +1048,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1746141548, - "narHash": "sha256-IgBWhX7A2oJmZFIrpRuMnw5RAufVnfvOgHWgIdds+hc=", + "lastModified": 1746904237, + "narHash": "sha256-3e+AVBczosP5dCLQmMoMEogM57gmZ2qrVSrmq9aResQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f02fddb8acef29a8b32f10a335d44828d7825b78", + "rev": "d89fc19e405cb2d55ce7cc114356846a0ee5e956", "type": "github" }, "original": { @@ -1014,11 +1064,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1746328495, - "narHash": "sha256-uKCfuDs7ZM3QpCE/jnfubTg459CnKnJG/LwqEVEdEiw=", + "lastModified": 1748190013, + "narHash": "sha256-R5HJFflOfsP5FBtk+zE8FpL8uqE7n62jqOsADvVshhE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "979daf34c8cacebcd917d540070b52a3c2b9b16e", + "rev": "62b852f6c6742134ade1abdd2a21685fd617a291", "type": "github" }, "original": { @@ -1029,11 +1079,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1746300365, - "narHash": "sha256-thYTdWqCRipwPRxWiTiH1vusLuAy0okjOyzRx4hLWh4=", + "lastModified": 1748217807, + "narHash": "sha256-P3u2PXxMlo49PutQLnk2PhI/imC69hFl1yY4aT5Nax8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f21e4546e3ede7ae34d12a84602a22246b31f7e0", + "rev": "3108eaa516ae22c2360928589731a4f1581526ef", "type": "github" }, "original": { @@ -1045,11 +1095,11 @@ }, "nixpkgs_9": { "locked": { - "lastModified": 1746328495, - "narHash": "sha256-uKCfuDs7ZM3QpCE/jnfubTg459CnKnJG/LwqEVEdEiw=", + "lastModified": 1748190013, + "narHash": "sha256-R5HJFflOfsP5FBtk+zE8FpL8uqE7n62jqOsADvVshhE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "979daf34c8cacebcd917d540070b52a3c2b9b16e", + "rev": "62b852f6c6742134ade1abdd2a21685fd617a291", "type": "github" }, "original": { @@ -1063,14 +1113,15 @@ "inputs": { "flake-parts": "flake-parts_3", "nixpkgs": "nixpkgs_8", - "nuschtosSearch": "nuschtosSearch" + "nuschtosSearch": "nuschtosSearch", + "systems": "systems_8" }, "locked": { - "lastModified": 1746387720, - "narHash": "sha256-x8k0DKiQYRNaf9Hg+di+WCKxb76zJVWSjKOlPiuc22o=", + "lastModified": 1748348238, + "narHash": "sha256-etRxo4m9zbKuZbb1Tjt20mab7hc9bQGIlm+U5X4sctc=", "owner": "pta2002", "repo": "nixvim", - "rev": "7d18194a22325f212e17eb876d9c00afcc434113", + "rev": "65b1bffd3d36e9392083c6efcf2e087921afa86e", "type": "github" }, "original": { @@ -1086,11 +1137,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1746435334, - "narHash": "sha256-rZ5iubLMaDrh6N0n00o9rt3hKkstFAsDq97rmWPIAE4=", + "lastModified": 1748433522, + "narHash": "sha256-V+YTmpCokIb0iAl6+5c02KCsABgeEAPhvfARIdatwHI=", "owner": "nix-community", "repo": "NUR", - "rev": "d13cb380ea07386b0768c5024b44f4dfe7598649", + "rev": "aef75de07385a1f988c333615c9f72a83591860c", "type": "github" }, "original": { @@ -1109,11 +1160,11 @@ ] }, "locked": { - "lastModified": 1745046075, - "narHash": "sha256-8v4y6k16Ra/fiecb4DxhsoOGtzLKgKlS+9/XJ9z0T2I=", + "lastModified": 1748298102, + "narHash": "sha256-PP11GVwUt7F4ZZi5A5+99isuq39C59CKc5u5yVisU/U=", "owner": "NuschtOS", "repo": "search", - "rev": "066afe8643274470f4a294442aadd988356a478f", + "rev": "f8a1c221afb8b4c642ed11ac5ee6746b0fe1d32f", "type": "github" }, "original": { @@ -1135,11 +1186,11 @@ ] }, "locked": { - "lastModified": 1741379162, - "narHash": "sha256-srpAbmJapkaqGRE3ytf3bj4XshspVR5964OX5LfjDWc=", + "lastModified": 1746537231, + "narHash": "sha256-Wb2xeSyOsCoTCTj7LOoD6cdKLEROyFAArnYoS+noCWo=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "b5a62751225b2f62ff3147d0a334055ebadcd5cc", + "rev": "fa466640195d38ec97cf0493d6d6882bc4d14969", "type": "github" }, "original": { @@ -1181,11 +1232,11 @@ ] }, "locked": { - "lastModified": 1741573199, - "narHash": "sha256-A2sln1GdCf+uZ8yrERSCZUCqZ3JUlOv1WE2VFqqfaLQ=", + "lastModified": 1747017456, + "narHash": "sha256-C/U12fcO+HEF071b5mK65lt4XtAIZyJSSJAg9hdlvTk=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "c777dc8a1e35407b0e80ec89817fe69970f4e81a", + "rev": "5b07506ae89b025b14de91f697eba23b48654c52", "type": "github" }, "original": { @@ -1197,11 +1248,11 @@ "spectrum": { "flake": false, "locked": { - "lastModified": 1745937988, - "narHash": "sha256-8BsgirAbalgq7XRHE9il8XBX/RYCALVj5zGqDvbOEc4=", + "lastModified": 1746869549, + "narHash": "sha256-BKZ/yZO/qeLKh9YqVkKB6wJiDQJAZNN5rk5NsMImsWs=", "ref": "refs/heads/main", - "rev": "65a511b120aa28f40bcdbb333fd221f33ced4760", - "revCount": 854, + "rev": "d927e78530892ec8ed389e8fae5f38abee00ad87", + "revCount": 862, "type": "git", "url": "https://spectrum-os.org/git/spectrum" }, @@ -1212,16 +1263,16 @@ }, "stable": { "locked": { - "lastModified": 1730883749, - "narHash": "sha256-mwrFF0vElHJP8X3pFCByJR365Q2463ATp2qGIrDUdlE=", + "lastModified": 1746557022, + "narHash": "sha256-QkNoyEf6TbaTW5UZYX0OkwIJ/ZMeKSSoOMnSDPQuol0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "dba414932936fde69f0606b4f1d87c5bc0003ede", + "rev": "1d3aeb5a193b9ff13f63f4d9cc169fb88129f860", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-24.05", + "ref": "nixos-24.11", "repo": "nixpkgs", "type": "github" } @@ -1241,6 +1292,21 @@ "type": "github" } }, + "systems_10": { + "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, From 4d68f7711129287263d75d2110514898545c4110 Mon Sep 17 00:00:00 2001 From: Vivian Date: Wed, 4 Jun 2025 23:02:48 +0200 Subject: [PATCH 75/88] desktop: update progs --- common/desktop/home.nix | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/common/desktop/home.nix b/common/desktop/home.nix index 2a5d6619..ede96f20 100644 --- a/common/desktop/home.nix +++ b/common/desktop/home.nix @@ -10,15 +10,15 @@ let }; my-python-packages = ps: with ps; [ - pandas - requests - numpy - scapy - pyshark cryptography flask ipwhois + numpy + pandas pyasn + pyshark + requests + scapy z3-solver ]; in @@ -28,21 +28,20 @@ in btop calibre celluloid # video player - element-desktop - signal-desktop - fusee-launcher - foliate # epub reader - gcc - gimp comma discord - tex - # libreoffice + element-desktop + foliate # epub reader + fusee-launcher + gcc + gimp + jellyfin-media-player neofetch nixpkgs-review - spotify qmk + signal-desktop solo2-cli + spotify unzip yt-dlp From 773df94aa6dab195a26a92a1eaf464e6f3046819 Mon Sep 17 00:00:00 2001 From: Vivian Date: Thu, 5 Jun 2025 09:11:36 +0200 Subject: [PATCH 76/88] config updates --- common/hm-modules/nvim/keybinds.nix | 21 +++++++++ flake.lock | 62 +++++++++++++------------- hosts/thalassa/aoife/home/hyprland.nix | 10 ++--- 3 files changed, 57 insertions(+), 36 deletions(-) diff --git a/common/hm-modules/nvim/keybinds.nix b/common/hm-modules/nvim/keybinds.nix index 4a3533df..d710e5b3 100644 --- a/common/hm-modules/nvim/keybinds.nix +++ b/common/hm-modules/nvim/keybinds.nix @@ -1,6 +1,27 @@ { helpers, ... }: { keymaps = with helpers; [ + # Disable arrow keys + { + mode = "n"; + key = ""; + action = ""; + } + { + mode = "n"; + key = ""; + action = ""; + } + { + mode = "n"; + key = ""; + action = ""; + } + { + mode = "n"; + key = ""; + action = ""; + } # General { mode = "n"; diff --git a/flake.lock b/flake.lock index 8d7dd0aa..5187af20 100644 --- a/flake.lock +++ b/flake.lock @@ -12,11 +12,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1747587191, - "narHash": "sha256-JswxXCzaDmX/mY5uYJQjntvORumrHQctJ+a1N1wj5EI=", + "lastModified": 1748532342, + "narHash": "sha256-CvaKOUq8G10sghKpZhEB2UYjJoWhEkrDFggDgi7piUI=", "owner": "zhaofengli", "repo": "attic", - "rev": "8eb49a2f178d093b2d54cdcc1eb60a70c1ab1054", + "rev": "ce9373715fe3fac7a174a65a7e6d6baeba8cb4f9", "type": "github" }, "original": { @@ -608,11 +608,11 @@ ] }, "locked": { - "lastModified": 1748391243, - "narHash": "sha256-7sCuihzsTRZemtbTXaFUoGJUfuQErhKEcL9v7HKIo1k=", + "lastModified": 1748955489, + "narHash": "sha256-OmZXyW2g5qIuo5Te74McwR0TwauCO2sF3/SjGDVuxyg=", "owner": "nix-community", "repo": "home-manager", - "rev": "f5b12be834874f7661db4ced969a621ab2d57971", + "rev": "bb846c031be68a96466b683be32704ef6e07b159", "type": "github" }, "original": { @@ -793,11 +793,11 @@ "nixpkgs-25_05": "nixpkgs-25_05" }, "locked": { - "lastModified": 1747965231, - "narHash": "sha256-BW3ktviEhfCN/z3+kEyzpDKAI8qFTwO7+S0NVA0C90o=", + "lastModified": 1748876244, + "narHash": "sha256-o5CPg3d2sxUUThQO+PimOjUGNn5aZNtEa7m9eB4S4Is=", "ref": "refs/heads/master", - "rev": "53007af63fade28853408370c4c600a63dd97f41", - "revCount": 694, + "rev": "d6d6308ba28df3e9f7ce7bd45aa2e1f8a0999c72", + "revCount": 711, "type": "git", "url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git" }, @@ -813,11 +813,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1748260747, - "narHash": "sha256-V3ONd70wm55JxcUa1rE0JU3zD+Cz7KK/iSVhRD7lq68=", + "lastModified": 1748464257, + "narHash": "sha256-PdnQSE2vPfql9WEjunj2qQnDpuuvk7HH+4djgXJSwFs=", "owner": "astro", "repo": "microvm.nix", - "rev": "b6c5dfc2a1c7614c94fd2c5d2e8578fd52396f3b", + "rev": "e238645b6f0447a2eb1d538d300d5049d4006f9f", "type": "github" }, "original": { @@ -906,11 +906,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1747900541, - "narHash": "sha256-dn64Pg9xLETjblwZs9Euu/SsjW80pd6lr5qSiyLY1pg=", + "lastModified": 1748942041, + "narHash": "sha256-HEu2gTct7nY0tAPRgBtqYepallryBKR1U8B4v2zEEqA=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "11f2d9ea49c3e964315215d6baa73a8d42672f06", + "rev": "fc7c4714125cfaa19b048e8aaf86b9c53e04d853", "type": "github" }, "original": { @@ -1064,11 +1064,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1748190013, - "narHash": "sha256-R5HJFflOfsP5FBtk+zE8FpL8uqE7n62jqOsADvVshhE=", + "lastModified": 1748693115, + "narHash": "sha256-StSrWhklmDuXT93yc3GrTlb0cKSS0agTAxMGjLKAsY8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "62b852f6c6742134ade1abdd2a21685fd617a291", + "rev": "910796cabe436259a29a72e8d3f5e180fc6dfacc", "type": "github" }, "original": { @@ -1079,11 +1079,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1748217807, - "narHash": "sha256-P3u2PXxMlo49PutQLnk2PhI/imC69hFl1yY4aT5Nax8=", + "lastModified": 1748406211, + "narHash": "sha256-B3BsCRbc+x/d0WiG1f+qfSLUy+oiIfih54kalWBi+/M=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3108eaa516ae22c2360928589731a4f1581526ef", + "rev": "3d1f29646e4b57ed468d60f9d286cde23a8d1707", "type": "github" }, "original": { @@ -1095,11 +1095,11 @@ }, "nixpkgs_9": { "locked": { - "lastModified": 1748190013, - "narHash": "sha256-R5HJFflOfsP5FBtk+zE8FpL8uqE7n62jqOsADvVshhE=", + "lastModified": 1748693115, + "narHash": "sha256-StSrWhklmDuXT93yc3GrTlb0cKSS0agTAxMGjLKAsY8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "62b852f6c6742134ade1abdd2a21685fd617a291", + "rev": "910796cabe436259a29a72e8d3f5e180fc6dfacc", "type": "github" }, "original": { @@ -1117,11 +1117,11 @@ "systems": "systems_8" }, "locked": { - "lastModified": 1748348238, - "narHash": "sha256-etRxo4m9zbKuZbb1Tjt20mab7hc9bQGIlm+U5X4sctc=", + "lastModified": 1748942960, + "narHash": "sha256-gJf3WxvDbvCpzIBVju/5GY/olW7zs/B1zDmB52AWMUM=", "owner": "pta2002", "repo": "nixvim", - "rev": "65b1bffd3d36e9392083c6efcf2e087921afa86e", + "rev": "9328f4437d5f788d1c066b274a0aea492dc5fde2", "type": "github" }, "original": { @@ -1137,11 +1137,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1748433522, - "narHash": "sha256-V+YTmpCokIb0iAl6+5c02KCsABgeEAPhvfARIdatwHI=", + "lastModified": 1748954271, + "narHash": "sha256-tpA8Nlj5cMqMIVAQDE/9CmA45thnFOSZseTBVtBwWlU=", "owner": "nix-community", "repo": "NUR", - "rev": "aef75de07385a1f988c333615c9f72a83591860c", + "rev": "0f3c9ccce1d63b0fd1d60ce41d9714932760f3a8", "type": "github" }, "original": { diff --git a/hosts/thalassa/aoife/home/hyprland.nix b/hosts/thalassa/aoife/home/hyprland.nix index 59ecba01..c0387012 100644 --- a/hosts/thalassa/aoife/home/hyprland.nix +++ b/hosts/thalassa/aoife/home/hyprland.nix @@ -70,26 +70,26 @@ in listener = [ { - timeout = 150; # 2.5 mins + timeout = 300; # 5 mins on-timeout = "${pkgs.brightnessctl}/bin/brightnessctl -s set 10"; on-resume = "${pkgs.brightnessctl}/bin/brightnessctl -r"; } { - timeout = 150; # 2.5 mins + timeout = 300; # 5 mins on-timeout = "${pkgs.brightnessctl}/bin/brightnessctl -sd tpacpi:kbd_backlight set 0"; on-resume = "${pkgs.brightnessctl}/bin/brightnessctl -rd tpacpi::kbd_backlight"; } { - timeout = 300; # 5 mins + timeout = 600; # 10 mins on-timeout = "loginctl lock-session"; } { - timeout = 600; # 10 mins, screen off + timeout = 1200; # 20 mins, screen off on-timeout = "hyprctl dispatch dpms off"; on-resume = "hyprctl dispatch dpms on"; } { - timeout = 1800; # 30 mins + timeout = 2400; # 40 mins on-timeout = "systemctl suspend"; } ]; From 722397ac436121dcbbd1d39bcc241e8a4b067998 Mon Sep 17 00:00:00 2001 From: Vivian Date: Thu, 12 Jun 2025 10:09:51 +0200 Subject: [PATCH 77/88] lock --- flake.lock | 164 ++++++++++++++++++++++++++--------------------------- 1 file changed, 82 insertions(+), 82 deletions(-) diff --git a/flake.lock b/flake.lock index 5187af20..df5a664b 100644 --- a/flake.lock +++ b/flake.lock @@ -61,11 +61,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1748080874, - "narHash": "sha256-sUebEzAkrY8Aq5G0GHFyRddmRNGP/a2iTtV7ISNvi/c=", + "lastModified": 1749223974, + "narHash": "sha256-/GAQYRW1duU81KG//2wI9ax8EkHVG/e1UOD97NdwLOY=", "owner": "catppuccin", "repo": "nix", - "rev": "0ba11b12be81f0849a89ed17ab635164ea8f0112", + "rev": "3a42cd79c647360ee8742659e42aeec0947dd3b4", "type": "github" }, "original": { @@ -83,11 +83,11 @@ "stable": "stable" }, "locked": { - "lastModified": 1746816769, - "narHash": "sha256-ymQzXrfHVT8/RJiGbfrNjEeuzXQan46lUJdxEhgivdM=", + "lastModified": 1749409980, + "narHash": "sha256-I/Tvv5UN5DRYXTEy/+j7mYRsdoWQ+rCfrVoNEw0K/Ek=", "owner": "zhaofengli", "repo": "colmena", - "rev": "df694ee23be7ed7b2d8b42c245a640f0724eb06c", + "rev": "58f1beb074881d7208def140af71b7864b6139e0", "type": "github" }, "original": { @@ -119,11 +119,11 @@ }, "crane_2": { "locked": { - "lastModified": 1746291859, - "narHash": "sha256-DdWJLA+D5tcmrRSg5Y7tp/qWaD05ATI4Z7h22gd1h7Q=", + "lastModified": 1748970125, + "narHash": "sha256-UDyigbDGv8fvs9aS95yzFfOKkEjx1LO3PL3DsKopohA=", "owner": "ipetkov", "repo": "crane", - "rev": "dfd9a8dfd09db9aad544c4d3b6c47b12562544a5", + "rev": "323b5746d89e04b22554b061522dfce9e4c49b18", "type": "github" }, "original": { @@ -139,11 +139,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1727447169, - "narHash": "sha256-3KyjMPUKHkiWhwR91J1YchF6zb6gvckCAY1jOE+ne0U=", + "lastModified": 1749105467, + "narHash": "sha256-hXh76y/wDl15almBcqvjryB50B0BaiXJKk20f314RoE=", "owner": "serokell", "repo": "deploy-rs", - "rev": "aa07eb05537d4cd025e2310397a6adcedfe72c76", + "rev": "6bc76b872374845ba9d645a2f012b764fecd765f", "type": "github" }, "original": { @@ -208,11 +208,11 @@ "flake-compat_3": { "flake": false, "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "lastModified": 1733328505, + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", "owner": "edolstra", "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", "type": "github" }, "original": { @@ -224,11 +224,11 @@ "flake-compat_4": { "flake": false, "locked": { - "lastModified": 1733328505, - "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "lastModified": 1747046372, + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", "owner": "edolstra", "repo": "flake-compat", - "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", "type": "github" }, "original": { @@ -298,11 +298,11 @@ ] }, "locked": { - "lastModified": 1743550720, - "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", + "lastModified": 1749398372, + "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "c621e8422220273271f52058f618c94e405bb0f5", + "rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569", "type": "github" }, "original": { @@ -319,11 +319,11 @@ ] }, "locked": { - "lastModified": 1743550720, - "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", + "lastModified": 1749398372, + "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "c621e8422220273271f52058f618c94e405bb0f5", + "rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569", "type": "github" }, "original": { @@ -608,11 +608,11 @@ ] }, "locked": { - "lastModified": 1748955489, - "narHash": "sha256-OmZXyW2g5qIuo5Te74McwR0TwauCO2sF3/SjGDVuxyg=", + "lastModified": 1749657191, + "narHash": "sha256-QLilaHuhGxiwhgceDWESj9gFcKIdEp7+9lRqNGpN8S4=", "owner": "nix-community", "repo": "home-manager", - "rev": "bb846c031be68a96466b683be32704ef6e07b159", + "rev": "faeab32528a9360e9577ff4082de2d35c6bbe1ce", "type": "github" }, "original": { @@ -637,11 +637,11 @@ ] }, "locked": { - "lastModified": 1737634706, - "narHash": "sha256-nGCibkfsXz7ARx5R+SnisRtMq21IQIhazp6viBU8I/A=", + "lastModified": 1749154592, + "narHash": "sha256-DO7z5CeT/ddSGDEnK9mAXm1qlGL47L3VAHLlLXoCjhE=", "owner": "hyprwm", "repo": "hyprland-qt-support", - "rev": "8810df502cdee755993cb803eba7b23f189db795", + "rev": "4c8053c3c888138a30c3a6c45c2e45f5484f2074", "type": "github" }, "original": { @@ -663,11 +663,11 @@ "systems": "systems_5" }, "locked": { - "lastModified": 1745951494, - "narHash": "sha256-2dModE32doiyQMmd6EDAQeZnz+5LOs6KXyE0qX76WIg=", + "lastModified": 1749155776, + "narHash": "sha256-t1PM0wxQLQwv2F2AW23uA7pm5giwmcgYEWbNIRct9r4=", "owner": "hyprwm", "repo": "hyprland-qtutils", - "rev": "4be1d324faf8d6e82c2be9f8510d299984dfdd2e", + "rev": "396e8aa1c06274835b69da7f9a015fff9a9b7522", "type": "github" }, "original": { @@ -689,11 +689,11 @@ ] }, "locked": { - "lastModified": 1737634606, - "narHash": "sha256-W7W87Cv6wqZ9PHegI6rH1+ve3zJPiyevMFf0/HwdbCQ=", + "lastModified": 1749145882, + "narHash": "sha256-qr0KXeczF8Sma3Ae7+dR2NHhvG7YeLBJv19W4oMu6ZE=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "f41271d35cc0f370d300413d756c2677f386af9d", + "rev": "1bfb84f54d50c7ae6558c794d3cfd5f6a7e6e676", "type": "github" }, "original": { @@ -716,11 +716,11 @@ ] }, "locked": { - "lastModified": 1737632363, - "narHash": "sha256-X9I8POSlHxBVjD0fiX1O2j7U9Zi1+4rIkrsyHP0uHXY=", + "lastModified": 1749135356, + "narHash": "sha256-Q8mAKMDsFbCEuq7zoSlcTuxgbIBVhfIYpX0RjE32PS0=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "006620eb29d54ea9086538891404c78563d1bae1", + "rev": "e36db00dfb3a3d3fdcc4069cb292ff60d2699ccb", "type": "github" }, "original": { @@ -769,11 +769,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1747056319, - "narHash": "sha256-qSKcBaISBozadtPq6BomnD+wIYTZIkiua3UuHLaD52c=", + "lastModified": 1749471908, + "narHash": "sha256-uGfPqd43KTomeIVWUzHu3hGLWFsqYibhWLt2OaRic28=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "2e425f3da6ce7f5b34fa6eaf7a2a7f78dbabcc85", + "rev": "00292388ad3b497763b81568d6ee5e1c4a2bcf85", "type": "github" }, "original": { @@ -793,11 +793,11 @@ "nixpkgs-25_05": "nixpkgs-25_05" }, "locked": { - "lastModified": 1748876244, - "narHash": "sha256-o5CPg3d2sxUUThQO+PimOjUGNn5aZNtEa7m9eB4S4Is=", + "lastModified": 1749244584, + "narHash": "sha256-BGmEptAyP2NrP4gX7VMYWo53h5e8r2iE/uo2+YPMcfo=", "ref": "refs/heads/master", - "rev": "d6d6308ba28df3e9f7ce7bd45aa2e1f8a0999c72", - "revCount": 711, + "rev": "8b27add0883067e990bff4f847b6f7b6f53324b9", + "revCount": 713, "type": "git", "url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git" }, @@ -906,11 +906,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1748942041, - "narHash": "sha256-HEu2gTct7nY0tAPRgBtqYepallryBKR1U8B4v2zEEqA=", + "lastModified": 1749195551, + "narHash": "sha256-W5GKQHgunda/OP9sbKENBZhMBDNu2QahoIPwnsF6CeM=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "fc7c4714125cfaa19b048e8aaf86b9c53e04d853", + "rev": "4602f7e1d3f197b3cb540d5accf5669121629628", "type": "github" }, "original": { @@ -1001,11 +1001,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1702272962, - "narHash": "sha256-D+zHwkwPc6oYQ4G3A1HuadopqRwUY/JkMwHz1YF7j4Q=", + "lastModified": 1743014863, + "narHash": "sha256-jAIUqsiN2r3hCuHji80U7NNEafpIMBXiwKlSrjWMlpg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e97b3e4186bcadf0ef1b6be22b8558eab1cdeb5d", + "rev": "bd3bac8bfb542dbde7ffffb6987a1a1f9d41699f", "type": "github" }, "original": { @@ -1032,11 +1032,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1737632463, - "narHash": "sha256-38J9QfeGSej341ouwzqf77WIHAScihAKCt8PQJ+NH28=", + "lastModified": 1748929857, + "narHash": "sha256-lcZQ8RhsmhsK8u7LIFsJhsLh/pzR9yZ8yqpTzyGdj+Q=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0aa475546ed21629c4f5bbf90e38c846a99ec9e9", + "rev": "c2a03962b8e24e669fb37b7df10e7c79531ff1a4", "type": "github" }, "original": { @@ -1064,11 +1064,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1748693115, - "narHash": "sha256-StSrWhklmDuXT93yc3GrTlb0cKSS0agTAxMGjLKAsY8=", + "lastModified": 1749285348, + "narHash": "sha256-frdhQvPbmDYaScPFiCnfdh3B/Vh81Uuoo0w5TkWmmjU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "910796cabe436259a29a72e8d3f5e180fc6dfacc", + "rev": "3e3afe5174c561dee0df6f2c2b2236990146329f", "type": "github" }, "original": { @@ -1079,11 +1079,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1748406211, - "narHash": "sha256-B3BsCRbc+x/d0WiG1f+qfSLUy+oiIfih54kalWBi+/M=", + "lastModified": 1749523198, + "narHash": "sha256-How2kQw0psKmCdXgojc95Sf3K5maHB3qfINxTZFCAPM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3d1f29646e4b57ed468d60f9d286cde23a8d1707", + "rev": "cdc68935eba9f86d155585fdf6f17af6824f38ac", "type": "github" }, "original": { @@ -1095,11 +1095,11 @@ }, "nixpkgs_9": { "locked": { - "lastModified": 1748693115, - "narHash": "sha256-StSrWhklmDuXT93yc3GrTlb0cKSS0agTAxMGjLKAsY8=", + "lastModified": 1749285348, + "narHash": "sha256-frdhQvPbmDYaScPFiCnfdh3B/Vh81Uuoo0w5TkWmmjU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "910796cabe436259a29a72e8d3f5e180fc6dfacc", + "rev": "3e3afe5174c561dee0df6f2c2b2236990146329f", "type": "github" }, "original": { @@ -1117,11 +1117,11 @@ "systems": "systems_8" }, "locked": { - "lastModified": 1748942960, - "narHash": "sha256-gJf3WxvDbvCpzIBVju/5GY/olW7zs/B1zDmB52AWMUM=", + "lastModified": 1749685505, + "narHash": "sha256-qAyDUuYvVoSl4hAq3Ho8vTKG/ms7i7qx+8jqS6beUuw=", "owner": "pta2002", "repo": "nixvim", - "rev": "9328f4437d5f788d1c066b274a0aea492dc5fde2", + "rev": "1b08a4d97632a8c3500469ae7e2db91769425ddf", "type": "github" }, "original": { @@ -1137,11 +1137,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1748954271, - "narHash": "sha256-tpA8Nlj5cMqMIVAQDE/9CmA45thnFOSZseTBVtBwWlU=", + "lastModified": 1749714371, + "narHash": "sha256-GoxtjDrYKPOAAHuPpIInXuQi3zKkNWEY8UUkkZfIODg=", "owner": "nix-community", "repo": "NUR", - "rev": "0f3c9ccce1d63b0fd1d60ce41d9714932760f3a8", + "rev": "d6baf0261b2a9d147ced00a8e37c32932f256c2b", "type": "github" }, "original": { @@ -1160,11 +1160,11 @@ ] }, "locked": { - "lastModified": 1748298102, - "narHash": "sha256-PP11GVwUt7F4ZZi5A5+99isuq39C59CKc5u5yVisU/U=", + "lastModified": 1749531675, + "narHash": "sha256-UB8Mc88rW9frjpJ1Fj2ro7f07Gg8dX3uVXvMXnFR4CE=", "owner": "NuschtOS", "repo": "search", - "rev": "f8a1c221afb8b4c642ed11ac5ee6746b0fe1d32f", + "rev": "4029d450d0266909ee52775849b7da54e79b328e", "type": "github" }, "original": { @@ -1186,11 +1186,11 @@ ] }, "locked": { - "lastModified": 1746537231, - "narHash": "sha256-Wb2xeSyOsCoTCTj7LOoD6cdKLEROyFAArnYoS+noCWo=", + "lastModified": 1747372754, + "narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "fa466640195d38ec97cf0493d6d6882bc4d14969", + "rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46", "type": "github" }, "original": { @@ -1232,11 +1232,11 @@ ] }, "locked": { - "lastModified": 1747017456, - "narHash": "sha256-C/U12fcO+HEF071b5mK65lt4XtAIZyJSSJAg9hdlvTk=", + "lastModified": 1749436897, + "narHash": "sha256-OkDtaCGQQVwVFz5HWfbmrMJR99sFIMXHCHEYXzUJEJY=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "5b07506ae89b025b14de91f697eba23b48654c52", + "rev": "e7876c387e35dc834838aff254d8e74cf5bd4f19", "type": "github" }, "original": { @@ -1474,11 +1474,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1701680307, - "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { From 00eedb9a163a64b0e3fa2e080933c8ec50da16d9 Mon Sep 17 00:00:00 2001 From: Vivian Date: Thu, 19 Jun 2025 19:50:34 +0200 Subject: [PATCH 78/88] update nvim --- common/desktop/home.nix | 2 +- common/hm-modules/nvim/default.nix | 5 +++++ common/hm-modules/nvim/keybinds.nix | 5 +++++ nixos/hosts/olympus/mailserver/configuration.nix | 1 - 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/common/desktop/home.nix b/common/desktop/home.nix index ede96f20..137694a0 100644 --- a/common/desktop/home.nix +++ b/common/desktop/home.nix @@ -97,9 +97,9 @@ in xdg.autoStart = { packages = with pkgs; [ element-desktop + signal-desktop firefox discord - obsidian ]; }; diff --git a/common/hm-modules/nvim/default.nix b/common/hm-modules/nvim/default.nix index 1d888423..9b3695d8 100644 --- a/common/hm-modules/nvim/default.nix +++ b/common/hm-modules/nvim/default.nix @@ -76,6 +76,11 @@ with lib; }; }; + # codecompanion = { + # enable = true; + # + # }; + vimwiki = { enable = true; settings = { diff --git a/common/hm-modules/nvim/keybinds.nix b/common/hm-modules/nvim/keybinds.nix index d710e5b3..f36cf0ff 100644 --- a/common/hm-modules/nvim/keybinds.nix +++ b/common/hm-modules/nvim/keybinds.nix @@ -59,6 +59,11 @@ key = "fr"; action = ":Telescope frecency"; } + { + mode = "n"; + key = "zf"; + action = ":Telescope spell_suggest"; + } # { # mode = "n"; #key = "ob"; diff --git a/nixos/hosts/olympus/mailserver/configuration.nix b/nixos/hosts/olympus/mailserver/configuration.nix index c434d166..efff9fbf 100644 --- a/nixos/hosts/olympus/mailserver/configuration.nix +++ b/nixos/hosts/olympus/mailserver/configuration.nix @@ -102,7 +102,6 @@ in { }; }; services = { - postfix.relayHost = "smtp.ziggozakelijk.nl"; postfix.relayPort = 587; From 2011e03edc0739923556bf2475a988b0c4d6ec9d Mon Sep 17 00:00:00 2001 From: Vivian Date: Wed, 25 Jun 2025 15:52:00 +0200 Subject: [PATCH 79/88] minor updates --- common/hm-modules/nvim/default.nix | 1 - common/hm-modules/nvim/keybinds.nix | 5 -- flake.lock | 110 ++++++++++++++-------------- hosts/thalassa/aoife/uni.nix | 2 + 4 files changed, 57 insertions(+), 61 deletions(-) diff --git a/common/hm-modules/nvim/default.nix b/common/hm-modules/nvim/default.nix index 1d888423..8b1baebd 100644 --- a/common/hm-modules/nvim/default.nix +++ b/common/hm-modules/nvim/default.nix @@ -156,7 +156,6 @@ with lib; }; # Git - fugitive.enable = true; committia.enable = true; gitsigns.enable = true; diff --git a/common/hm-modules/nvim/keybinds.nix b/common/hm-modules/nvim/keybinds.nix index d710e5b3..12539610 100644 --- a/common/hm-modules/nvim/keybinds.nix +++ b/common/hm-modules/nvim/keybinds.nix @@ -59,11 +59,6 @@ key = "fr"; action = ":Telescope frecency"; } - # { - # mode = "n"; - #key = "ob"; - # action = mkRaw "require('obsidian_picker').obsidian_picker"; - #} # Commenting { mode = "n"; diff --git a/flake.lock b/flake.lock index df5a664b..a0c5fdf9 100644 --- a/flake.lock +++ b/flake.lock @@ -61,11 +61,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1749223974, - "narHash": "sha256-/GAQYRW1duU81KG//2wI9ax8EkHVG/e1UOD97NdwLOY=", + "lastModified": 1750153510, + "narHash": "sha256-NYHXXJZ9m4fJpKk9tKn/EExX87SqcBcRINOGF7hKRLI=", "owner": "catppuccin", "repo": "nix", - "rev": "3a42cd79c647360ee8742659e42aeec0947dd3b4", + "rev": "4e95eaf8a351956d75cc400318579967ca2b6d0f", "type": "github" }, "original": { @@ -83,11 +83,11 @@ "stable": "stable" }, "locked": { - "lastModified": 1749409980, - "narHash": "sha256-I/Tvv5UN5DRYXTEy/+j7mYRsdoWQ+rCfrVoNEw0K/Ek=", + "lastModified": 1749739748, + "narHash": "sha256-csQQPoCA5iv+Nd9yCOCQNKflP7qUKEe7D27wsz+LPKM=", "owner": "zhaofengli", "repo": "colmena", - "rev": "58f1beb074881d7208def140af71b7864b6139e0", + "rev": "c61641b156dfa3e82fc0671e77fccf7d7ccfaa3b", "type": "github" }, "original": { @@ -525,11 +525,11 @@ ] }, "locked": { - "lastModified": 1742649964, - "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=", + "lastModified": 1749636823, + "narHash": "sha256-WUaIlOlPLyPgz9be7fqWJA5iG6rHcGRtLERSCfUDne4=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82", + "rev": "623c56286de5a3193aa38891a6991b28f9bab056", "type": "github" }, "original": { @@ -608,11 +608,11 @@ ] }, "locked": { - "lastModified": 1749657191, - "narHash": "sha256-QLilaHuhGxiwhgceDWESj9gFcKIdEp7+9lRqNGpN8S4=", + "lastModified": 1750730235, + "narHash": "sha256-rZErlxiV7ssvI8t7sPrKU+fRigNc2KvoKZG3gtUtK50=", "owner": "nix-community", "repo": "home-manager", - "rev": "faeab32528a9360e9577ff4082de2d35c6bbe1ce", + "rev": "d07e9cceb4994ed64a22b9b36f8b76923e87ac38", "type": "github" }, "original": { @@ -663,11 +663,11 @@ "systems": "systems_5" }, "locked": { - "lastModified": 1749155776, - "narHash": "sha256-t1PM0wxQLQwv2F2AW23uA7pm5giwmcgYEWbNIRct9r4=", + "lastModified": 1750371812, + "narHash": "sha256-D868K1dVEACw17elVxRgXC6hOxY+54wIEjURztDWLk8=", "owner": "hyprwm", "repo": "hyprland-qtutils", - "rev": "396e8aa1c06274835b69da7f9a015fff9a9b7522", + "rev": "b13c7481e37856f322177010bdf75fccacd1adc8", "type": "github" }, "original": { @@ -769,11 +769,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1749471908, - "narHash": "sha256-uGfPqd43KTomeIVWUzHu3hGLWFsqYibhWLt2OaRic28=", + "lastModified": 1750168384, + "narHash": "sha256-PBfJ7dGsR02im/RYN8wXII8yNPFhKxiPdq+JDfbvD2k=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "00292388ad3b497763b81568d6ee5e1c4a2bcf85", + "rev": "38c2addd2e0cedcb03708de6e6c21fb1be86d410", "type": "github" }, "original": { @@ -793,11 +793,11 @@ "nixpkgs-25_05": "nixpkgs-25_05" }, "locked": { - "lastModified": 1749244584, - "narHash": "sha256-BGmEptAyP2NrP4gX7VMYWo53h5e8r2iE/uo2+YPMcfo=", + "lastModified": 1750643298, + "narHash": "sha256-zotsGV6sQIpEu/UGpoq8Ga2VHWFwKB/yBY6fF43q8JM=", "ref": "refs/heads/master", - "rev": "8b27add0883067e990bff4f847b6f7b6f53324b9", - "revCount": 713, + "rev": "b9e28e23af46f4b5c4ca287ea8ce46e5b39e723c", + "revCount": 755, "type": "git", "url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git" }, @@ -813,11 +813,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1748464257, - "narHash": "sha256-PdnQSE2vPfql9WEjunj2qQnDpuuvk7HH+4djgXJSwFs=", + "lastModified": 1750358184, + "narHash": "sha256-17EYMeY5v8KRk9HW6Z4dExY8Wg4y/zM2eM2wbbx+vMs=", "owner": "astro", "repo": "microvm.nix", - "rev": "e238645b6f0447a2eb1d538d300d5049d4006f9f", + "rev": "fd9f5dba1ffee5ad6f29394b2a9e4c66c1ce77dc", "type": "github" }, "original": { @@ -906,11 +906,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1749195551, - "narHash": "sha256-W5GKQHgunda/OP9sbKENBZhMBDNu2QahoIPwnsF6CeM=", + "lastModified": 1750431636, + "narHash": "sha256-vnzzBDbCGvInmfn2ijC4HsIY/3W1CWbwS/YQoFgdgPg=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "4602f7e1d3f197b3cb540d5accf5669121629628", + "rev": "1552a9f4513f3f0ceedcf90320e48d3d47165712", "type": "github" }, "original": { @@ -937,11 +937,11 @@ }, "nixpkgs-25_05": { "locked": { - "lastModified": 1747610100, - "narHash": "sha256-rpR5ZPMkWzcnCcYYo3lScqfuzEw5Uyfh+R0EKZfroAc=", + "lastModified": 1749727998, + "narHash": "sha256-mHv/yeUbmL91/TvV95p+mBVahm9mdQMJoqaTVTALaFw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ca49c4304acf0973078db0a9d200fd2bae75676d", + "rev": "fd487183437963a59ba763c0cc4f27e3447dd6dd", "type": "github" }, "original": { @@ -1064,11 +1064,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1749285348, - "narHash": "sha256-frdhQvPbmDYaScPFiCnfdh3B/Vh81Uuoo0w5TkWmmjU=", + "lastModified": 1750506804, + "narHash": "sha256-VLFNc4egNjovYVxDGyBYTrvVCgDYgENp5bVi9fPTDYc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3e3afe5174c561dee0df6f2c2b2236990146329f", + "rev": "4206c4cb56751df534751b058295ea61357bbbaa", "type": "github" }, "original": { @@ -1079,11 +1079,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1749523198, - "narHash": "sha256-How2kQw0psKmCdXgojc95Sf3K5maHB3qfINxTZFCAPM=", + "lastModified": 1750605355, + "narHash": "sha256-xT8cPLTxlktxI9vSdoBlAVK7dXgd8IK59j7ZwzkkhnI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "cdc68935eba9f86d155585fdf6f17af6824f38ac", + "rev": "3078b9a9e75f1790e6d6ef9955fdc6a2d1740cc6", "type": "github" }, "original": { @@ -1095,11 +1095,11 @@ }, "nixpkgs_9": { "locked": { - "lastModified": 1749285348, - "narHash": "sha256-frdhQvPbmDYaScPFiCnfdh3B/Vh81Uuoo0w5TkWmmjU=", + "lastModified": 1750506804, + "narHash": "sha256-VLFNc4egNjovYVxDGyBYTrvVCgDYgENp5bVi9fPTDYc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3e3afe5174c561dee0df6f2c2b2236990146329f", + "rev": "4206c4cb56751df534751b058295ea61357bbbaa", "type": "github" }, "original": { @@ -1117,11 +1117,11 @@ "systems": "systems_8" }, "locked": { - "lastModified": 1749685505, - "narHash": "sha256-qAyDUuYvVoSl4hAq3Ho8vTKG/ms7i7qx+8jqS6beUuw=", + "lastModified": 1750751277, + "narHash": "sha256-wdUjRFiiHK8sDmntP1wLYZEqKgju8bGedwulu+myD6E=", "owner": "pta2002", "repo": "nixvim", - "rev": "1b08a4d97632a8c3500469ae7e2db91769425ddf", + "rev": "3843b6226193bd2c40de0aea1343065b1bf9d3e4", "type": "github" }, "original": { @@ -1137,11 +1137,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1749714371, - "narHash": "sha256-GoxtjDrYKPOAAHuPpIInXuQi3zKkNWEY8UUkkZfIODg=", + "lastModified": 1750757920, + "narHash": "sha256-cJ3ypFQNU2PCBdK9B0AfFyq8oQgPfg61Dr6SkNzkfwo=", "owner": "nix-community", "repo": "NUR", - "rev": "d6baf0261b2a9d147ced00a8e37c32932f256c2b", + "rev": "33df6fc789f71aa6e203ee8053260ddc61d09174", "type": "github" }, "original": { @@ -1160,11 +1160,11 @@ ] }, "locked": { - "lastModified": 1749531675, - "narHash": "sha256-UB8Mc88rW9frjpJ1Fj2ro7f07Gg8dX3uVXvMXnFR4CE=", + "lastModified": 1749730855, + "narHash": "sha256-L3x2nSlFkXkM6tQPLJP3oCBMIsRifhIDPMQQdHO5xWo=", "owner": "NuschtOS", "repo": "search", - "rev": "4029d450d0266909ee52775849b7da54e79b328e", + "rev": "8dfe5879dd009ff4742b668d9c699bc4b9761742", "type": "github" }, "original": { @@ -1186,11 +1186,11 @@ ] }, "locked": { - "lastModified": 1747372754, - "narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=", + "lastModified": 1749636823, + "narHash": "sha256-WUaIlOlPLyPgz9be7fqWJA5iG6rHcGRtLERSCfUDne4=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46", + "rev": "623c56286de5a3193aa38891a6991b28f9bab056", "type": "github" }, "original": { @@ -1232,11 +1232,11 @@ ] }, "locked": { - "lastModified": 1749436897, - "narHash": "sha256-OkDtaCGQQVwVFz5HWfbmrMJR99sFIMXHCHEYXzUJEJY=", + "lastModified": 1749955444, + "narHash": "sha256-CllTHvHX8KAdAZ+Lxzd23AmZTxO1Pfy+zC43/5tYkAE=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "e7876c387e35dc834838aff254d8e74cf5bd4f19", + "rev": "539ba15741f0e6691a2448743dbc601d8910edce", "type": "github" }, "original": { diff --git a/hosts/thalassa/aoife/uni.nix b/hosts/thalassa/aoife/uni.nix index 263d79f4..cf5e2b21 100644 --- a/hosts/thalassa/aoife/uni.nix +++ b/hosts/thalassa/aoife/uni.nix @@ -9,6 +9,8 @@ "plugdev" ]; + hardware.saleae-logic.enable = true; + programs.nix-ld = { enable = true; package = pkgs.nix-ld-rs; From 69cb4f9de662f46d53b7a0b83425c8c5d929a6be Mon Sep 17 00:00:00 2001 From: Vivian Date: Thu, 26 Jun 2025 09:42:14 +0200 Subject: [PATCH 80/88] minor updates --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index a0c5fdf9..8de99056 100644 --- a/flake.lock +++ b/flake.lock @@ -608,11 +608,11 @@ ] }, "locked": { - "lastModified": 1750730235, - "narHash": "sha256-rZErlxiV7ssvI8t7sPrKU+fRigNc2KvoKZG3gtUtK50=", + "lastModified": 1750798083, + "narHash": "sha256-DTCCcp6WCFaYXWKFRA6fiI2zlvOLCf5Vwx8+/0R8Wc4=", "owner": "nix-community", "repo": "home-manager", - "rev": "d07e9cceb4994ed64a22b9b36f8b76923e87ac38", + "rev": "ff31a4677c1a8ae506aa7e003a3dba08cb203f82", "type": "github" }, "original": { @@ -906,11 +906,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1750431636, - "narHash": "sha256-vnzzBDbCGvInmfn2ijC4HsIY/3W1CWbwS/YQoFgdgPg=", + "lastModified": 1750837715, + "narHash": "sha256-2m1ceZjbmgrJCZ2PuQZaK4in3gcg3o6rZ7WK6dr5vAA=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "1552a9f4513f3f0ceedcf90320e48d3d47165712", + "rev": "98236410ea0fe204d0447149537a924fb71a6d4f", "type": "github" }, "original": { @@ -1064,11 +1064,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1750506804, - "narHash": "sha256-VLFNc4egNjovYVxDGyBYTrvVCgDYgENp5bVi9fPTDYc=", + "lastModified": 1750741721, + "narHash": "sha256-Z0djmTa1YmnGMfE9jEe05oO4zggjDmxOGKwt844bUhE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4206c4cb56751df534751b058295ea61357bbbaa", + "rev": "4b1164c3215f018c4442463a27689d973cffd750", "type": "github" }, "original": { @@ -1079,11 +1079,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1750605355, - "narHash": "sha256-xT8cPLTxlktxI9vSdoBlAVK7dXgd8IK59j7ZwzkkhnI=", + "lastModified": 1750811787, + "narHash": "sha256-rD/978c35JXz6JLAzciTIOCMenPumF6zrQOj4rVZeHE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3078b9a9e75f1790e6d6ef9955fdc6a2d1740cc6", + "rev": "992f916556fcfaa94451ebc7fc6e396134bbf5b1", "type": "github" }, "original": { @@ -1095,11 +1095,11 @@ }, "nixpkgs_9": { "locked": { - "lastModified": 1750506804, - "narHash": "sha256-VLFNc4egNjovYVxDGyBYTrvVCgDYgENp5bVi9fPTDYc=", + "lastModified": 1750741721, + "narHash": "sha256-Z0djmTa1YmnGMfE9jEe05oO4zggjDmxOGKwt844bUhE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4206c4cb56751df534751b058295ea61357bbbaa", + "rev": "4b1164c3215f018c4442463a27689d973cffd750", "type": "github" }, "original": { @@ -1117,11 +1117,11 @@ "systems": "systems_8" }, "locked": { - "lastModified": 1750751277, - "narHash": "sha256-wdUjRFiiHK8sDmntP1wLYZEqKgju8bGedwulu+myD6E=", + "lastModified": 1750855714, + "narHash": "sha256-vgvO/5WL6n1kIVucgyiMcQfsI+WKt1/YoZDEonZw9fo=", "owner": "pta2002", "repo": "nixvim", - "rev": "3843b6226193bd2c40de0aea1343065b1bf9d3e4", + "rev": "e7e6cfd32b09b7218f8759e349824b7aecd7dec5", "type": "github" }, "original": { @@ -1137,11 +1137,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1750757920, - "narHash": "sha256-cJ3ypFQNU2PCBdK9B0AfFyq8oQgPfg61Dr6SkNzkfwo=", + "lastModified": 1750857849, + "narHash": "sha256-SvmAaLe5jXRy39hjKe61llXwtYIAj2KTpGnz4Y463xw=", "owner": "nix-community", "repo": "NUR", - "rev": "33df6fc789f71aa6e203ee8053260ddc61d09174", + "rev": "a4060e6a07847fa3326e61a5c484a4df4336986f", "type": "github" }, "original": { From bc9bae0c885a3c574b3f199d8c03dc05e480958b Mon Sep 17 00:00:00 2001 From: Vivian Date: Fri, 27 Jun 2025 16:00:04 +0200 Subject: [PATCH 81/88] updates --- common/hm-modules/nvim/keybinds.nix | 4 +- flake.lock | 62 ++++++++++++++--------------- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/common/hm-modules/nvim/keybinds.nix b/common/hm-modules/nvim/keybinds.nix index 12539610..17d96b72 100644 --- a/common/hm-modules/nvim/keybinds.nix +++ b/common/hm-modules/nvim/keybinds.nix @@ -37,7 +37,7 @@ { mode = "n"; key = "fs"; - action = ":Telescope file_browser"; + action = ":Telescope lsp_dynamic_workspace_symbols"; } { mode = "n"; @@ -166,7 +166,7 @@ # oil { mode = "n"; - key = "-"; + key = "_"; action = "Oil"; } # Tiny mist (Typst) diff --git a/flake.lock b/flake.lock index 8de99056..8f8ade3c 100644 --- a/flake.lock +++ b/flake.lock @@ -61,11 +61,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1750153510, - "narHash": "sha256-NYHXXJZ9m4fJpKk9tKn/EExX87SqcBcRINOGF7hKRLI=", + "lastModified": 1751021896, + "narHash": "sha256-L9u68mNPPiuW7+OV5BKbXaj/AENTiiuEx8+QnMBjRlU=", "owner": "catppuccin", "repo": "nix", - "rev": "4e95eaf8a351956d75cc400318579967ca2b6d0f", + "rev": "a6b0e34d083c79f08efabb1fd6ccf12b882daae6", "type": "github" }, "original": { @@ -119,11 +119,11 @@ }, "crane_2": { "locked": { - "lastModified": 1748970125, - "narHash": "sha256-UDyigbDGv8fvs9aS95yzFfOKkEjx1LO3PL3DsKopohA=", + "lastModified": 1750266157, + "narHash": "sha256-tL42YoNg9y30u7zAqtoGDNdTyXTi8EALDeCB13FtbQA=", "owner": "ipetkov", "repo": "crane", - "rev": "323b5746d89e04b22554b061522dfce9e4c49b18", + "rev": "e37c943371b73ed87faf33f7583860f81f1d5a48", "type": "github" }, "original": { @@ -608,11 +608,11 @@ ] }, "locked": { - "lastModified": 1750798083, - "narHash": "sha256-DTCCcp6WCFaYXWKFRA6fiI2zlvOLCf5Vwx8+/0R8Wc4=", + "lastModified": 1750973805, + "narHash": "sha256-BZXgag7I0rnL/HMHAsBz3tQrfKAibpY2vovexl2lS+Y=", "owner": "nix-community", "repo": "home-manager", - "rev": "ff31a4677c1a8ae506aa7e003a3dba08cb203f82", + "rev": "080e8b48b0318b38143d5865de9334f46d51fce3", "type": "github" }, "original": { @@ -769,11 +769,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1750168384, - "narHash": "sha256-PBfJ7dGsR02im/RYN8wXII8yNPFhKxiPdq+JDfbvD2k=", + "lastModified": 1750866260, + "narHash": "sha256-fo5NvfutMEw9OV+5rGYuCKjlNNjcnD3cKMbOfzusO/E=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "38c2addd2e0cedcb03708de6e6c21fb1be86d410", + "rev": "f40a3401f86d117affeeb8ca6f0ce5cd1ca3cc24", "type": "github" }, "original": { @@ -793,11 +793,11 @@ "nixpkgs-25_05": "nixpkgs-25_05" }, "locked": { - "lastModified": 1750643298, - "narHash": "sha256-zotsGV6sQIpEu/UGpoq8Ga2VHWFwKB/yBY6fF43q8JM=", + "lastModified": 1750949569, + "narHash": "sha256-dTWYv7EPfS5fM+61AUGUd7CD/8DGYdVw/KzGY7XgKq0=", "ref": "refs/heads/master", - "rev": "b9e28e23af46f4b5c4ca287ea8ce46e5b39e723c", - "revCount": 755, + "rev": "b10c54606bb5293158c37b1fac3909dc3a26449f", + "revCount": 758, "type": "git", "url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git" }, @@ -1064,11 +1064,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1750741721, - "narHash": "sha256-Z0djmTa1YmnGMfE9jEe05oO4zggjDmxOGKwt844bUhE=", + "lastModified": 1750776420, + "narHash": "sha256-/CG+w0o0oJ5itVklOoLbdn2dGB0wbZVOoDm4np6w09A=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4b1164c3215f018c4442463a27689d973cffd750", + "rev": "30a61f056ac492e3b7cdcb69c1e6abdcf00e39cf", "type": "github" }, "original": { @@ -1095,11 +1095,11 @@ }, "nixpkgs_9": { "locked": { - "lastModified": 1750741721, - "narHash": "sha256-Z0djmTa1YmnGMfE9jEe05oO4zggjDmxOGKwt844bUhE=", + "lastModified": 1750776420, + "narHash": "sha256-/CG+w0o0oJ5itVklOoLbdn2dGB0wbZVOoDm4np6w09A=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4b1164c3215f018c4442463a27689d973cffd750", + "rev": "30a61f056ac492e3b7cdcb69c1e6abdcf00e39cf", "type": "github" }, "original": { @@ -1117,11 +1117,11 @@ "systems": "systems_8" }, "locked": { - "lastModified": 1750855714, - "narHash": "sha256-vgvO/5WL6n1kIVucgyiMcQfsI+WKt1/YoZDEonZw9fo=", + "lastModified": 1751018463, + "narHash": "sha256-WJub9XhzGVkS4Ismz6jFRAl2vQJvSciemfhhkV13eVw=", "owner": "pta2002", "repo": "nixvim", - "rev": "e7e6cfd32b09b7218f8759e349824b7aecd7dec5", + "rev": "a473ef658a8611cfbb48bb9bd7d0f2eed2fe038a", "type": "github" }, "original": { @@ -1137,11 +1137,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1750857849, - "narHash": "sha256-SvmAaLe5jXRy39hjKe61llXwtYIAj2KTpGnz4Y463xw=", + "lastModified": 1751030875, + "narHash": "sha256-x4EqjJUyJ3mHRtFYQP+FSDzT4A+1DEDig1LtwTsIJTc=", "owner": "nix-community", "repo": "NUR", - "rev": "a4060e6a07847fa3326e61a5c484a4df4336986f", + "rev": "48ce5dd4e350f18380810882dd787839c6433dda", "type": "github" }, "original": { @@ -1232,11 +1232,11 @@ ] }, "locked": { - "lastModified": 1749955444, - "narHash": "sha256-CllTHvHX8KAdAZ+Lxzd23AmZTxO1Pfy+zC43/5tYkAE=", + "lastModified": 1750560265, + "narHash": "sha256-jQCojKl1/TzqE6ANOu6rP2qqxOcGK2xs6hpxZ77wrR8=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "539ba15741f0e6691a2448743dbc601d8910edce", + "rev": "076fdb0d45a9de3f379a626f51a62c78afe7efb1", "type": "github" }, "original": { From 1b4f2a21d7a078e8f636360cbd90c0932ca5f0a7 Mon Sep 17 00:00:00 2001 From: Vivian Date: Wed, 9 Jul 2025 10:37:47 +0200 Subject: [PATCH 82/88] update --- common/desktop/home.nix | 4 +- common/hm-modules/rust.nix | 1 + flake.lock | 180 +++++++++++++++-------------------- hosts/thalassa/aoife/uni.nix | 5 +- 4 files changed, 83 insertions(+), 107 deletions(-) diff --git a/common/desktop/home.nix b/common/desktop/home.nix index ede96f20..f727f825 100644 --- a/common/desktop/home.nix +++ b/common/desktop/home.nix @@ -32,7 +32,7 @@ in discord element-desktop foliate # epub reader - fusee-launcher + firefox gcc gimp jellyfin-media-player @@ -66,7 +66,7 @@ in enable = true; }; - firefox.enable = true; + # firefox.enable = true; chromium = { enable = true; diff --git a/common/hm-modules/rust.nix b/common/hm-modules/rust.nix index fb501054..bd258845 100644 --- a/common/hm-modules/rust.nix +++ b/common/hm-modules/rust.nix @@ -21,6 +21,7 @@ in cargo-msrv cargo-dist cargo-cross + cargo-generate ]; file.".cargo/config.toml".text = '' diff --git a/flake.lock b/flake.lock index 8f8ade3c..f79f6bfd 100644 --- a/flake.lock +++ b/flake.lock @@ -12,11 +12,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1748532342, - "narHash": "sha256-CvaKOUq8G10sghKpZhEB2UYjJoWhEkrDFggDgi7piUI=", + "lastModified": 1751826282, + "narHash": "sha256-mBHCJ41IJBF0AAfGYqOyGg4mgJWenGzqg2Vyj7BTQyw=", "owner": "zhaofengli", "repo": "attic", - "rev": "ce9373715fe3fac7a174a65a7e6d6baeba8cb4f9", + "rev": "e11f630ad9379cc1e74401377a6a03a513451fce", "type": "github" }, "original": { @@ -61,11 +61,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1751021896, - "narHash": "sha256-L9u68mNPPiuW7+OV5BKbXaj/AENTiiuEx8+QnMBjRlU=", + "lastModified": 1751880463, + "narHash": "sha256-aSQllMKqsTYAUp4yhpspZn0Hj5yIj7Mh4UD5iyk5iMM=", "owner": "catppuccin", "repo": "nix", - "rev": "a6b0e34d083c79f08efabb1fd6ccf12b882daae6", + "rev": "9474347c69e93e392f194dda7a57c641ba4b998e", "type": "github" }, "original": { @@ -83,11 +83,11 @@ "stable": "stable" }, "locked": { - "lastModified": 1749739748, - "narHash": "sha256-csQQPoCA5iv+Nd9yCOCQNKflP7qUKEe7D27wsz+LPKM=", + "lastModified": 1751144689, + "narHash": "sha256-cgIntaqhcm62V1KU6GmrAGpHpahT4UExEWW2ryS02ZU=", "owner": "zhaofengli", "repo": "colmena", - "rev": "c61641b156dfa3e82fc0671e77fccf7d7ccfaa3b", + "rev": "3ceec72cfb396a8a8de5fe96a9d75a9ce88cc18e", "type": "github" }, "original": { @@ -97,18 +97,12 @@ } }, "crane": { - "inputs": { - "nixpkgs": [ - "attic", - "nixpkgs" - ] - }, "locked": { - "lastModified": 1722960479, - "narHash": "sha256-NhCkJJQhD5GUib8zN9JrmYGMwt4lCRp6ZVNzIiYCl0Y=", + "lastModified": 1742143293, + "narHash": "sha256-8oKPsMlqlOQ7qnTWvhBEcfVFY1WqHIcSilGVtaLAquw=", "owner": "ipetkov", "repo": "crane", - "rev": "4c6c77920b8d44cd6660c1621dea6b3fc4b4c4f4", + "rev": "de3bb0155823298161c1c0a7805f10d4b4074bbb", "type": "github" }, "original": { @@ -319,11 +313,11 @@ ] }, "locked": { - "lastModified": 1749398372, - "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=", + "lastModified": 1751413152, + "narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569", + "rev": "77826244401ea9de6e3bac47c2db46005e1f30b5", "type": "github" }, "original": { @@ -525,11 +519,11 @@ ] }, "locked": { - "lastModified": 1749636823, - "narHash": "sha256-WUaIlOlPLyPgz9be7fqWJA5iG6rHcGRtLERSCfUDne4=", + "lastModified": 1750779888, + "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "623c56286de5a3193aa38891a6991b28f9bab056", + "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d", "type": "github" }, "original": { @@ -608,11 +602,11 @@ ] }, "locked": { - "lastModified": 1750973805, - "narHash": "sha256-BZXgag7I0rnL/HMHAsBz3tQrfKAibpY2vovexl2lS+Y=", + "lastModified": 1751824240, + "narHash": "sha256-aDDC0CHTlL7QDKWWhdbEgVPK6KwWt+ca0QkmHYZxMzI=", "owner": "nix-community", "repo": "home-manager", - "rev": "080e8b48b0318b38143d5865de9334f46d51fce3", + "rev": "fd9e55f5fac45a26f6169310afca64d56b681935", "type": "github" }, "original": { @@ -769,11 +763,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1750866260, - "narHash": "sha256-fo5NvfutMEw9OV+5rGYuCKjlNNjcnD3cKMbOfzusO/E=", + "lastModified": 1751381593, + "narHash": "sha256-js1XwtJpYhvQrrTaVzViybpztkHJVZ63aXOlFAcTENM=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "f40a3401f86d117affeeb8ca6f0ce5cd1ca3cc24", + "rev": "f4eb75540307c2b33521322c04b7fea74e48a66f", "type": "github" }, "original": { @@ -793,11 +787,11 @@ "nixpkgs-25_05": "nixpkgs-25_05" }, "locked": { - "lastModified": 1750949569, - "narHash": "sha256-dTWYv7EPfS5fM+61AUGUd7CD/8DGYdVw/KzGY7XgKq0=", + "lastModified": 1751942376, + "narHash": "sha256-sSrGM/zFfVPuwZi3eFB02XDCnspDDpvCEEKlpcGR4Ac=", "ref": "refs/heads/master", - "rev": "b10c54606bb5293158c37b1fac3909dc3a26449f", - "revCount": 758, + "rev": "0aeb2849ad16024da3ae44310cdcc94432b88184", + "revCount": 768, "type": "git", "url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git" }, @@ -813,11 +807,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1750358184, - "narHash": "sha256-17EYMeY5v8KRk9HW6Z4dExY8Wg4y/zM2eM2wbbx+vMs=", + "lastModified": 1751732733, + "narHash": "sha256-MuaFFGHdShvGdHKrd3PUI2om+njixdG/1dGlglRdK8Q=", "owner": "astro", "repo": "microvm.nix", - "rev": "fd9f5dba1ffee5ad6f29394b2a9e4c66c1ce77dc", + "rev": "9d3d845ccb1a3f81747d027e95b110d4637468d0", "type": "github" }, "original": { @@ -891,11 +885,11 @@ ] }, "locked": { - "lastModified": 1747663185, - "narHash": "sha256-Obh50J+O9jhUM/FgXtI3he/QRNiV9+J53+l+RlKSaAk=", + "lastModified": 1751903740, + "narHash": "sha256-PeSkNMvkpEvts+9DjFiop1iT2JuBpyknmBUs0Un0a4I=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "ee07ba0d36c38e9915c55d2ac5a8fb0f05f2afcc", + "rev": "032decf9db65efed428afd2fa39d80f7089085eb", "type": "github" }, "original": { @@ -906,11 +900,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1750837715, - "narHash": "sha256-2m1ceZjbmgrJCZ2PuQZaK4in3gcg3o6rZ7WK6dr5vAA=", + "lastModified": 1751432711, + "narHash": "sha256-136MeWtckSHTN9Z2WRNRdZ8oRP3vyx3L8UxeBYE+J9w=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "98236410ea0fe204d0447149537a924fb71a6d4f", + "rev": "497ae1357f1ac97f1aea31a4cb74ad0d534ef41f", "type": "github" }, "original": { @@ -921,11 +915,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1744463964, - "narHash": "sha256-LWqduOgLHCFxiTNYi3Uj5Lgz0SR+Xhw3kr/3Xd0GPTM=", + "lastModified": 1750776420, + "narHash": "sha256-/CG+w0o0oJ5itVklOoLbdn2dGB0wbZVOoDm4np6w09A=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2631b0b7abcea6e640ce31cd78ea58910d31e650", + "rev": "30a61f056ac492e3b7cdcb69c1e6abdcf00e39cf", "type": "github" }, "original": { @@ -937,11 +931,11 @@ }, "nixpkgs-25_05": { "locked": { - "lastModified": 1749727998, - "narHash": "sha256-mHv/yeUbmL91/TvV95p+mBVahm9mdQMJoqaTVTALaFw=", + "lastModified": 1751741127, + "narHash": "sha256-t75Shs76NgxjZSgvvZZ9qOmz5zuBE8buUaYD28BMTxg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fd487183437963a59ba763c0cc4f27e3447dd6dd", + "rev": "29e290002bfff26af1db6f64d070698019460302", "type": "github" }, "original": { @@ -985,11 +979,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1746461020, - "narHash": "sha256-7+pG1I9jvxNlmln4YgnlW4o+w0TZX24k688mibiFDUE=", + "lastModified": 1750134718, + "narHash": "sha256-v263g4GbxXv87hMXMCpjkIxd/viIF7p3JpJrwgKdNiI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3730d8a308f94996a9ba7c7138ede69c1b9ac4ae", + "rev": "9e83b64f727c88a7711a2c463a7b16eedb69a84c", "type": "github" }, "original": { @@ -1064,11 +1058,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1750776420, - "narHash": "sha256-/CG+w0o0oJ5itVklOoLbdn2dGB0wbZVOoDm4np6w09A=", + "lastModified": 1751792365, + "narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "30a61f056ac492e3b7cdcb69c1e6abdcf00e39cf", + "rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb", "type": "github" }, "original": { @@ -1079,11 +1073,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1750811787, - "narHash": "sha256-rD/978c35JXz6JLAzciTIOCMenPumF6zrQOj4rVZeHE=", + "lastModified": 1751786137, + "narHash": "sha256-lIlUKVGCGsh0Q2EA7/6xRtKUZjaQ/ur8uUyY+MynHXQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "992f916556fcfaa94451ebc7fc6e396134bbf5b1", + "rev": "ceb24d94c6feaa4e8737a8e2bd3cf71c3a7eaaa0", "type": "github" }, "original": { @@ -1095,11 +1089,11 @@ }, "nixpkgs_9": { "locked": { - "lastModified": 1750776420, - "narHash": "sha256-/CG+w0o0oJ5itVklOoLbdn2dGB0wbZVOoDm4np6w09A=", + "lastModified": 1751792365, + "narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "30a61f056ac492e3b7cdcb69c1e6abdcf00e39cf", + "rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb", "type": "github" }, "original": { @@ -1117,11 +1111,11 @@ "systems": "systems_8" }, "locked": { - "lastModified": 1751018463, - "narHash": "sha256-WJub9XhzGVkS4Ismz6jFRAl2vQJvSciemfhhkV13eVw=", + "lastModified": 1751904655, + "narHash": "sha256-lHAj9Xh/vBf3cXns1wN5HPw/zwGTO/Uv/ttloBok1n4=", "owner": "pta2002", "repo": "nixvim", - "rev": "a473ef658a8611cfbb48bb9bd7d0f2eed2fe038a", + "rev": "bc997a240953bda9fa526e8a3d6f798a6072308a", "type": "github" }, "original": { @@ -1133,15 +1127,14 @@ "nur": { "inputs": { "flake-parts": "flake-parts_4", - "nixpkgs": "nixpkgs_9", - "treefmt-nix": "treefmt-nix" + "nixpkgs": "nixpkgs_9" }, "locked": { - "lastModified": 1751030875, - "narHash": "sha256-x4EqjJUyJ3mHRtFYQP+FSDzT4A+1DEDig1LtwTsIJTc=", + "lastModified": 1751963058, + "narHash": "sha256-YwDLM9KGsBK+mWeWfcs5pRuHAmKyPBy1tq4sHwtN1B4=", "owner": "nix-community", "repo": "NUR", - "rev": "48ce5dd4e350f18380810882dd787839c6433dda", + "rev": "2b9f4883a8e3feb417acaa4431033c1367a0763d", "type": "github" }, "original": { @@ -1186,11 +1179,11 @@ ] }, "locked": { - "lastModified": 1749636823, - "narHash": "sha256-WUaIlOlPLyPgz9be7fqWJA5iG6rHcGRtLERSCfUDne4=", + "lastModified": 1750779888, + "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "623c56286de5a3193aa38891a6991b28f9bab056", + "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d", "type": "github" }, "original": { @@ -1232,11 +1225,11 @@ ] }, "locked": { - "lastModified": 1750560265, - "narHash": "sha256-jQCojKl1/TzqE6ANOu6rP2qqxOcGK2xs6hpxZ77wrR8=", + "lastModified": 1751165203, + "narHash": "sha256-3QhlpAk2yn+ExwvRLtaixWsVW1q3OX3KXXe0l8VMLl4=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "076fdb0d45a9de3f379a626f51a62c78afe7efb1", + "rev": "90f547b90e73d3c6025e66c5b742d6db51c418c3", "type": "github" }, "original": { @@ -1248,11 +1241,11 @@ "spectrum": { "flake": false, "locked": { - "lastModified": 1746869549, - "narHash": "sha256-BKZ/yZO/qeLKh9YqVkKB6wJiDQJAZNN5rk5NsMImsWs=", + "lastModified": 1751265943, + "narHash": "sha256-XoHSo6GEElzRUOYAEg/jlh5c8TDsyDESFIux3nU/NMc=", "ref": "refs/heads/main", - "rev": "d927e78530892ec8ed389e8fae5f38abee00ad87", - "revCount": 862, + "rev": "37c8663fab86fdb202fece339ef7ac7177ffc201", + "revCount": 904, "type": "git", "url": "https://spectrum-os.org/git/spectrum" }, @@ -1263,16 +1256,16 @@ }, "stable": { "locked": { - "lastModified": 1746557022, - "narHash": "sha256-QkNoyEf6TbaTW5UZYX0OkwIJ/ZMeKSSoOMnSDPQuol0=", + "lastModified": 1750133334, + "narHash": "sha256-urV51uWH7fVnhIvsZIELIYalMYsyr2FCalvlRTzqWRw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1d3aeb5a193b9ff13f63f4d9cc169fb88129f860", + "rev": "36ab78dab7da2e4e27911007033713bab534187b", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-24.11", + "ref": "nixos-25.05", "repo": "nixpkgs", "type": "github" } @@ -1448,27 +1441,6 @@ "type": "github" } }, - "treefmt-nix": { - "inputs": { - "nixpkgs": [ - "nur", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1733222881, - "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "49717b5af6f80172275d47a418c9719a31a78b53", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } - }, "utils": { "inputs": { "systems": "systems" diff --git a/hosts/thalassa/aoife/uni.nix b/hosts/thalassa/aoife/uni.nix index cf5e2b21..40049290 100644 --- a/hosts/thalassa/aoife/uni.nix +++ b/hosts/thalassa/aoife/uni.nix @@ -1,7 +1,10 @@ # Config options needed for various university courses { pkgs, lib, ... }: { - environment.systemPackages = with pkgs; [ ]; + environment.systemPackages = with pkgs; [ + esp-generate + espflash + ]; users.extraGroups.plugdev = { }; users.extraUsers.vivian.extraGroups = [ From b32c281fa56f2e55b09363dd25637a0bf4b4bfec Mon Sep 17 00:00:00 2001 From: Vivian Date: Fri, 11 Jul 2025 15:54:24 +0200 Subject: [PATCH 83/88] updates --- common/desktop/home.nix | 2 +- flake.lock | 100 +++++++++++++++--------------- hosts/thalassa/aoife/default.nix | 3 +- hosts/thalassa/aoife/hardware.nix | 2 +- 4 files changed, 53 insertions(+), 54 deletions(-) diff --git a/common/desktop/home.nix b/common/desktop/home.nix index f727f825..19b8aed0 100644 --- a/common/desktop/home.nix +++ b/common/desktop/home.nix @@ -29,6 +29,7 @@ in calibre celluloid # video player comma + cinny-desktop discord element-desktop foliate # epub reader @@ -99,7 +100,6 @@ in element-desktop firefox discord - obsidian ]; }; diff --git a/flake.lock b/flake.lock index f79f6bfd..e16e1945 100644 --- a/flake.lock +++ b/flake.lock @@ -12,11 +12,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1751826282, - "narHash": "sha256-mBHCJ41IJBF0AAfGYqOyGg4mgJWenGzqg2Vyj7BTQyw=", + "lastModified": 1752217044, + "narHash": "sha256-5TomR72rn4q+5poQcN6EnanxeXKqJSqWVAoDAFN0lUc=", "owner": "zhaofengli", "repo": "attic", - "rev": "e11f630ad9379cc1e74401377a6a03a513451fce", + "rev": "24fad0622fc9404c69e83bab7738359c5be4988e", "type": "github" }, "original": { @@ -61,11 +61,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1751880463, - "narHash": "sha256-aSQllMKqsTYAUp4yhpspZn0Hj5yIj7Mh4UD5iyk5iMM=", + "lastModified": 1752227483, + "narHash": "sha256-eetITGJfURryoHY5gfuE9/4sEV9aSgzhPxgsQgofNa8=", "owner": "catppuccin", "repo": "nix", - "rev": "9474347c69e93e392f194dda7a57c641ba4b998e", + "rev": "5f431aac1a4038c385e6de2d2384d943e4802d61", "type": "github" }, "original": { @@ -83,11 +83,11 @@ "stable": "stable" }, "locked": { - "lastModified": 1751144689, - "narHash": "sha256-cgIntaqhcm62V1KU6GmrAGpHpahT4UExEWW2ryS02ZU=", + "lastModified": 1752070778, + "narHash": "sha256-2ArxrGPb39YxeyMgEzFX/YiUwwOgz62qazHhYJnZQss=", "owner": "zhaofengli", "repo": "colmena", - "rev": "3ceec72cfb396a8a8de5fe96a9d75a9ce88cc18e", + "rev": "f560ed613a568aee178576b21c6818ef50819ca5", "type": "github" }, "original": { @@ -98,11 +98,11 @@ }, "crane": { "locked": { - "lastModified": 1742143293, - "narHash": "sha256-8oKPsMlqlOQ7qnTWvhBEcfVFY1WqHIcSilGVtaLAquw=", + "lastModified": 1751562746, + "narHash": "sha256-smpugNIkmDeicNz301Ll1bD7nFOty97T79m4GUMUczA=", "owner": "ipetkov", "repo": "crane", - "rev": "de3bb0155823298161c1c0a7805f10d4b4074bbb", + "rev": "aed2020fd3dc26e1e857d4107a5a67a33ab6c1fd", "type": "github" }, "original": { @@ -170,11 +170,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "lastModified": 1747046372, + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", "owner": "edolstra", "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", "type": "github" }, "original": { @@ -271,11 +271,11 @@ ] }, "locked": { - "lastModified": 1722555600, - "narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=", + "lastModified": 1751413152, + "narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "8471fe90ad337a8074e957b69ca4d0089218391d", + "rev": "77826244401ea9de6e3bac47c2db46005e1f30b5", "type": "github" }, "original": { @@ -602,11 +602,11 @@ ] }, "locked": { - "lastModified": 1751824240, - "narHash": "sha256-aDDC0CHTlL7QDKWWhdbEgVPK6KwWt+ca0QkmHYZxMzI=", + "lastModified": 1752202894, + "narHash": "sha256-knafgng4gCjZIUMyAEWjxxdols6n/swkYnbWr+oF+1w=", "owner": "nix-community", "repo": "home-manager", - "rev": "fd9e55f5fac45a26f6169310afca64d56b681935", + "rev": "fab659b346c0d4252208434c3c4b3983a4b38fec", "type": "github" }, "original": { @@ -787,11 +787,11 @@ "nixpkgs-25_05": "nixpkgs-25_05" }, "locked": { - "lastModified": 1751942376, - "narHash": "sha256-sSrGM/zFfVPuwZi3eFB02XDCnspDDpvCEEKlpcGR4Ac=", + "lastModified": 1752060039, + "narHash": "sha256-MqcbN/PgfXOv8S4q6GcmlORd6kJZ3UlFNhzCvLOEe4I=", "ref": "refs/heads/master", - "rev": "0aeb2849ad16024da3ae44310cdcc94432b88184", - "revCount": 768, + "rev": "80d21ed7a1ab8007597f7cd9adc26ebc98b9611f", + "revCount": 773, "type": "git", "url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git" }, @@ -807,11 +807,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1751732733, - "narHash": "sha256-MuaFFGHdShvGdHKrd3PUI2om+njixdG/1dGlglRdK8Q=", + "lastModified": 1752095991, + "narHash": "sha256-+paXzPg6SN3O+YKtQKiU+kQE1EkfsrI1XEYTxI4DSFk=", "owner": "astro", "repo": "microvm.nix", - "rev": "9d3d845ccb1a3f81747d027e95b110d4637468d0", + "rev": "f30b1412b73df264dc9cac154d340645add350ff", "type": "github" }, "original": { @@ -828,11 +828,11 @@ ] }, "locked": { - "lastModified": 1729742964, - "narHash": "sha256-B4mzTcQ0FZHdpeWcpDYPERtyjJd/NIuaQ9+BV1h+MpA=", + "lastModified": 1737420293, + "narHash": "sha256-F1G5ifvqTpJq7fdkT34e/Jy9VCyzd5XfJ9TO8fHhJWE=", "owner": "nix-community", "repo": "nix-github-actions", - "rev": "e04df33f62cdcf93d73e9a04142464753a16db67", + "rev": "f4158fa080ef4503c8f4c820967d946c2af31ec9", "type": "github" }, "original": { @@ -900,11 +900,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1751432711, - "narHash": "sha256-136MeWtckSHTN9Z2WRNRdZ8oRP3vyx3L8UxeBYE+J9w=", + "lastModified": 1752048960, + "narHash": "sha256-gATnkOe37eeVwKKYCsL+OnS2gU4MmLuZFzzWCtaKLI8=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "497ae1357f1ac97f1aea31a4cb74ad0d534ef41f", + "rev": "7ced9122cff2163c6a0212b8d1ec8c33a1660806", "type": "github" }, "original": { @@ -947,16 +947,16 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1724316499, - "narHash": "sha256-Qb9MhKBUTCfWg/wqqaxt89Xfi6qTD3XpTzQ9eXi3JmE=", + "lastModified": 1751741127, + "narHash": "sha256-t75Shs76NgxjZSgvvZZ9qOmz5zuBE8buUaYD28BMTxg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "797f7dc49e0bc7fab4b57c021cdf68f595e47841", + "rev": "29e290002bfff26af1db6f64d070698019460302", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-24.05", + "ref": "nixos-25.05", "repo": "nixpkgs", "type": "github" } @@ -1058,11 +1058,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1751792365, - "narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=", + "lastModified": 1751984180, + "narHash": "sha256-LwWRsENAZJKUdD3SpLluwDmdXY9F45ZEgCb0X+xgOL0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb", + "rev": "9807714d6944a957c2e036f84b0ff8caf9930bc0", "type": "github" }, "original": { @@ -1089,11 +1089,11 @@ }, "nixpkgs_9": { "locked": { - "lastModified": 1751792365, - "narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=", + "lastModified": 1751984180, + "narHash": "sha256-LwWRsENAZJKUdD3SpLluwDmdXY9F45ZEgCb0X+xgOL0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb", + "rev": "9807714d6944a957c2e036f84b0ff8caf9930bc0", "type": "github" }, "original": { @@ -1111,11 +1111,11 @@ "systems": "systems_8" }, "locked": { - "lastModified": 1751904655, - "narHash": "sha256-lHAj9Xh/vBf3cXns1wN5HPw/zwGTO/Uv/ttloBok1n4=", + "lastModified": 1752158208, + "narHash": "sha256-XbXYLUtaB/wHvZYefvaDPbo4eYj27kbtowHfww9bqLw=", "owner": "pta2002", "repo": "nixvim", - "rev": "bc997a240953bda9fa526e8a3d6f798a6072308a", + "rev": "b728cf43d97814df43f5d9bd9dafac9072ccd9e8", "type": "github" }, "original": { @@ -1130,11 +1130,11 @@ "nixpkgs": "nixpkgs_9" }, "locked": { - "lastModified": 1751963058, - "narHash": "sha256-YwDLM9KGsBK+mWeWfcs5pRuHAmKyPBy1tq4sHwtN1B4=", + "lastModified": 1752238241, + "narHash": "sha256-FAL3YvZOt8lXQY/N7ssugm775BkjWnH1FpgAAaBQrfU=", "owner": "nix-community", "repo": "NUR", - "rev": "2b9f4883a8e3feb417acaa4431033c1367a0763d", + "rev": "9e311ede9a39b9ec3a7e37be8411056a4c4e9711", "type": "github" }, "original": { diff --git a/hosts/thalassa/aoife/default.nix b/hosts/thalassa/aoife/default.nix index 91b5130d..8bb84fca 100644 --- a/hosts/thalassa/aoife/default.nix +++ b/hosts/thalassa/aoife/default.nix @@ -59,7 +59,6 @@ evolution.enable = false; }; - services = { hypridle.enable = true; xserver.displayManager.gdm.enable = true; @@ -69,7 +68,7 @@ gnome.gnome-keyring.enable = true; ollama = { - enable = true; + enable = false; acceleration = "rocm"; rocmOverrideGfx = "10.3.4"; }; diff --git a/hosts/thalassa/aoife/hardware.nix b/hosts/thalassa/aoife/hardware.nix index f498fcc3..52ac5c15 100644 --- a/hosts/thalassa/aoife/hardware.nix +++ b/hosts/thalassa/aoife/hardware.nix @@ -69,7 +69,7 @@ powerManagement = { enable = true; - # powertop.enable = true; + powertop.enable = true; }; security = { From f833c25447ee9592aa9f1fee89257bd350ffb734 Mon Sep 17 00:00:00 2001 From: Vivian Date: Tue, 15 Jul 2025 12:08:08 +0200 Subject: [PATCH 84/88] saleae --- hosts/thalassa/aoife/uni.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/hosts/thalassa/aoife/uni.nix b/hosts/thalassa/aoife/uni.nix index 40049290..1c3b052e 100644 --- a/hosts/thalassa/aoife/uni.nix +++ b/hosts/thalassa/aoife/uni.nix @@ -1,9 +1,15 @@ # Config options needed for various university courses -{ pkgs, lib, ... }: +{ + lib, + pkgs, + config, + ... +}: { environment.systemPackages = with pkgs; [ esp-generate espflash + (lib.mkIf config.hardware.saleae-logic.enable config.hardware.saleae-logic.package) ]; users.extraGroups.plugdev = { }; From 34ef9e32c9c4fe925c519d45782aaea5f5b7e63e Mon Sep 17 00:00:00 2001 From: Vivian Date: Mon, 21 Jul 2025 22:28:43 +0200 Subject: [PATCH 85/88] remove workflows --- .forgejo/workflows/lint.yml | 22 ------------------ .forgejo/workflows/nix.yml | 22 ------------------ .forgejo/workflows/plex_update.yml | 37 ------------------------------ 3 files changed, 81 deletions(-) delete mode 100644 .forgejo/workflows/lint.yml delete mode 100644 .forgejo/workflows/nix.yml delete mode 100644 .forgejo/workflows/plex_update.yml diff --git a/.forgejo/workflows/lint.yml b/.forgejo/workflows/lint.yml deleted file mode 100644 index 85b68639..00000000 --- a/.forgejo/workflows/lint.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: Lint - -on: [push] - -jobs: - lint: - runs-on: docker - env: - container: - image: ghcr.io/catthehacker/ubuntu:js-20.04 - steps: - - uses: actions/checkout@v3 - - uses: https://github.com/cachix/install-nix-action@v22 - env: - with: - nix_path: nixpkgs=channel:nixos-unstable - - run: | - sed -i '/^access-tokens/ d' /etc/nix/nix.conf - nix profile install 'nixpkgs#deadnix' 'nixpkgs#statix' 'nixpkgs#yamllint' - statix check . - deadnix -f - yamllint . diff --git a/.forgejo/workflows/nix.yml b/.forgejo/workflows/nix.yml deleted file mode 100644 index a67c4890..00000000 --- a/.forgejo/workflows/nix.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: Nix - -# on: [push] - -jobs: - lint: - runs-on: docker - env: - container: - image: ghcr.io/catthehacker/ubuntu:js-20.04 - steps: - - uses: actions/checkout@v3 - - name: Check Nix flake inputs - uses: https://github.com/DeterminateSystems/flake-checker-action@v5 - - uses: https://github.com/cachix/install-nix-action@v22 - env: - with: - nix_path: nixpkgs=channel:nixos-unstable - - name: Run `nix flake check` - run: | - sed -i '/^access-tokens/ d' /etc/nix/nix.conf - nix run '.#' -- -V diff --git a/.forgejo/workflows/plex_update.yml b/.forgejo/workflows/plex_update.yml deleted file mode 100644 index edbe071d..00000000 --- a/.forgejo/workflows/plex_update.yml +++ /dev/null @@ -1,37 +0,0 @@ -name: Plex Update - -on: - push: - branches: - - main - - ci - schedule: - - cron: '0 0 * * *' - -jobs: - update: - runs-on: docker - container: - image: ghcr.io/catthehacker/ubuntu:js-20.04 - steps: - - uses: actions/checkout@v3 - - uses: https://github.com/cachix/install-nix-action@v22 - with: - nix_path: nixpkgs=channel:nixos-unstable - - env: - VAULT_ADDR: ${{ secrets.VAULT_ADDR }} - VAULT_TOKEN: ${{ secrets.VAULT_TOKEN }} - run: | - git config user.name "Forgejo Actions Bot" - git config user.email "<>" - - # Run Update script - ./pkgs/plex-pass/update.sh - - git add ./pkgs/plex-pass/ - - # Push if changed - if git status ./nixos/pkgs/plex-pass/ | grep -q "to be committed"; then - git commit -m "Update Plex" - git push origin main - fi From 4255553aabd08e3a6f547863bcf59eef46a65220 Mon Sep 17 00:00:00 2001 From: Vivian Date: Mon, 18 Aug 2025 12:56:39 +0200 Subject: [PATCH 86/88] updates --- common/default.nix | 3 +- common/desktop/home.nix | 7 +- common/hm-modules/catppuccin/default.nix | 8 +- common/hm-modules/nvim/default.nix | 4 +- common/hm-modules/nvim/lsp.nix | 26 ++--- flake.lock | 142 +++++++++++------------ 6 files changed, 94 insertions(+), 96 deletions(-) diff --git a/common/default.nix b/common/default.nix index 01b21371..05d08868 100644 --- a/common/default.nix +++ b/common/default.nix @@ -18,8 +18,7 @@ }; sharedModules = [ ./hm-modules - inputs.nixvim.homeManagerModules.nixvim - inputs.autostart.homeManagerModules.xdg-autostart + inputs.nixvim.homeModules.nixvim inputs.catppuccin.homeModules.catppuccin inputs.autostart.homeManagerModules.xdg-autostart ]; diff --git a/common/desktop/home.nix b/common/desktop/home.nix index 19b8aed0..a432fd42 100644 --- a/common/desktop/home.nix +++ b/common/desktop/home.nix @@ -28,15 +28,15 @@ in btop calibre celluloid # video player - comma cinny-desktop + comma discord element-desktop - foliate # epub reader firefox + foliate # epub reader gcc - gimp jellyfin-media-player + krita neofetch nixpkgs-review qmk @@ -46,7 +46,6 @@ in unzip yt-dlp - obsidian (lib.hiPrio ( pkgs.writeShellScriptBin "obsidian" '' unset WAYLAND_DISPLAY diff --git a/common/hm-modules/catppuccin/default.nix b/common/hm-modules/catppuccin/default.nix index 9a623725..5a240bc6 100644 --- a/common/hm-modules/catppuccin/default.nix +++ b/common/hm-modules/catppuccin/default.nix @@ -42,10 +42,10 @@ in gtk = { enable = true; - iconTheme = { - name = "Papirus-Dark"; - package = pkgs.papirus-icon-theme.override { color = "violet"; }; - }; + # iconTheme = { + # name = "Papirus-Dark"; + # package = pkgs.papirus-icon-theme.override { color = "violet"; }; + # }; # cursorTheme = { # inherit (config.home.pointerCursor) name package size; # }; diff --git a/common/hm-modules/nvim/default.nix b/common/hm-modules/nvim/default.nix index 8b1baebd..bbaf6e72 100644 --- a/common/hm-modules/nvim/default.nix +++ b/common/hm-modules/nvim/default.nix @@ -30,8 +30,8 @@ with lib; luaLoader.enable = true; performance = { - byteCompileLua.enable = true; - combinePlugins.enable = true; + # byteCompileLua.enable = true; + # combinePlugins.enable = true; }; globals.mapleader = " "; diff --git a/common/hm-modules/nvim/lsp.nix b/common/hm-modules/nvim/lsp.nix index 2c01dd47..c060bb2d 100644 --- a/common/hm-modules/nvim/lsp.nix +++ b/common/hm-modules/nvim/lsp.nix @@ -53,19 +53,19 @@ installCargo = false; installRustc = false; }; - pyright.enable = true; - pylsp = { - enable = true; - settings.plugins = { - black = { - enabled = true; - cache_config = true; - }; - pycodestyle = { - maxLineLength = 100; - }; - }; - }; + # pyright.enable = true; + # pylsp = { + # enable = true; + # settings.plugins = { + # black = { + # enabled = true; + # cache_config = true; + # }; + # pycodestyle = { + # maxLineLength = 100; + # }; + # }; + # }; elixirls.enable = true; clangd.enable = true; yamlls.enable = true; diff --git a/flake.lock b/flake.lock index e16e1945..be5136da 100644 --- a/flake.lock +++ b/flake.lock @@ -12,11 +12,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1752217044, - "narHash": "sha256-5TomR72rn4q+5poQcN6EnanxeXKqJSqWVAoDAFN0lUc=", + "lastModified": 1754527469, + "narHash": "sha256-swR4GCqp5LHYJQ7pdePBtsqYyiyy+ASfUvhAgou23KI=", "owner": "zhaofengli", "repo": "attic", - "rev": "24fad0622fc9404c69e83bab7738359c5be4988e", + "rev": "687dd7d607824edf11bf33e3d91038467e7fad43", "type": "github" }, "original": { @@ -61,11 +61,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1752227483, - "narHash": "sha256-eetITGJfURryoHY5gfuE9/4sEV9aSgzhPxgsQgofNa8=", + "lastModified": 1755247639, + "narHash": "sha256-YBjSqGgNAejwIIqUv+NTYpm+peXLro79qNBi0SF1JqM=", "owner": "catppuccin", "repo": "nix", - "rev": "5f431aac1a4038c385e6de2d2384d943e4802d61", + "rev": "bd14b47481c996e2a5d5e5704d55092edf18e892", "type": "github" }, "original": { @@ -83,11 +83,11 @@ "stable": "stable" }, "locked": { - "lastModified": 1752070778, - "narHash": "sha256-2ArxrGPb39YxeyMgEzFX/YiUwwOgz62qazHhYJnZQss=", + "lastModified": 1754254562, + "narHash": "sha256-vwu354kJ2fjK1StYmsi/M2vGQ2s72m+t9pIPHImt1Xw=", "owner": "zhaofengli", "repo": "colmena", - "rev": "f560ed613a568aee178576b21c6818ef50819ca5", + "rev": "5e0fbc4dbc50b3a38ecdbcb8d0a5bbe12e3f9a72", "type": "github" }, "original": { @@ -113,11 +113,11 @@ }, "crane_2": { "locked": { - "lastModified": 1750266157, - "narHash": "sha256-tL42YoNg9y30u7zAqtoGDNdTyXTi8EALDeCB13FtbQA=", + "lastModified": 1754269165, + "narHash": "sha256-0tcS8FHd4QjbCVoxN9jI+PjHgA4vc/IjkUSp+N3zy0U=", "owner": "ipetkov", "repo": "crane", - "rev": "e37c943371b73ed87faf33f7583860f81f1d5a48", + "rev": "444e81206df3f7d92780680e45858e31d2f07a08", "type": "github" }, "original": { @@ -292,11 +292,11 @@ ] }, "locked": { - "lastModified": 1749398372, - "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=", + "lastModified": 1754091436, + "narHash": "sha256-XKqDMN1/Qj1DKivQvscI4vmHfDfvYR2pfuFOJiCeewM=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569", + "rev": "67df8c627c2c39c41dbec76a1f201929929ab0bd", "type": "github" }, "original": { @@ -313,11 +313,11 @@ ] }, "locked": { - "lastModified": 1751413152, - "narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=", + "lastModified": 1754487366, + "narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "77826244401ea9de6e3bac47c2db46005e1f30b5", + "rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18", "type": "github" }, "original": { @@ -602,11 +602,11 @@ ] }, "locked": { - "lastModified": 1752202894, - "narHash": "sha256-knafgng4gCjZIUMyAEWjxxdols6n/swkYnbWr+oF+1w=", + "lastModified": 1755229570, + "narHash": "sha256-soZegto0xXzG2zYlu/zjknDHv0Z7tRS5EQs+Z/VRTBg=", "owner": "nix-community", "repo": "home-manager", - "rev": "fab659b346c0d4252208434c3c4b3983a4b38fec", + "rev": "11626a4383b458f8dc5ea3237eaa04e8ab1912f3", "type": "github" }, "original": { @@ -657,11 +657,11 @@ "systems": "systems_5" }, "locked": { - "lastModified": 1750371812, - "narHash": "sha256-D868K1dVEACw17elVxRgXC6hOxY+54wIEjURztDWLk8=", + "lastModified": 1753819801, + "narHash": "sha256-tHe6XeNeVeKapkNM3tcjW4RuD+tB2iwwoogWJOtsqTI=", "owner": "hyprwm", "repo": "hyprland-qtutils", - "rev": "b13c7481e37856f322177010bdf75fccacd1adc8", + "rev": "b308a818b9dcaa7ab8ccab891c1b84ebde2152bc", "type": "github" }, "original": { @@ -763,11 +763,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1751381593, - "narHash": "sha256-js1XwtJpYhvQrrTaVzViybpztkHJVZ63aXOlFAcTENM=", + "lastModified": 1754297745, + "narHash": "sha256-aD6/scLN3L4ZszmNbhhd3JQ9Pzv1ScYFphz14wHinfs=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "f4eb75540307c2b33521322c04b7fea74e48a66f", + "rev": "892cbdca865d6b42f9c0d222fe309f7720259855", "type": "github" }, "original": { @@ -787,11 +787,11 @@ "nixpkgs-25_05": "nixpkgs-25_05" }, "locked": { - "lastModified": 1752060039, - "narHash": "sha256-MqcbN/PgfXOv8S4q6GcmlORd6kJZ3UlFNhzCvLOEe4I=", + "lastModified": 1754605910, + "narHash": "sha256-kVWxzm44ywJTb4REfwWCYXnROISykG0yE+X5A3Gov24=", "ref": "refs/heads/master", - "rev": "80d21ed7a1ab8007597f7cd9adc26ebc98b9611f", - "revCount": 773, + "rev": "57d9624c71ca65bee69b30d72b11f6c5257e9500", + "revCount": 783, "type": "git", "url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git" }, @@ -807,11 +807,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1752095991, - "narHash": "sha256-+paXzPg6SN3O+YKtQKiU+kQE1EkfsrI1XEYTxI4DSFk=", + "lastModified": 1755102374, + "narHash": "sha256-v6xhTSgnGQoF1a51BB6OQWN8HXiYbZtVL+54TRuk9zk=", "owner": "astro", "repo": "microvm.nix", - "rev": "f30b1412b73df264dc9cac154d340645add350ff", + "rev": "0a5cda80e48191959cf5a9c0552532599ef2cee4", "type": "github" }, "original": { @@ -900,11 +900,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1752048960, - "narHash": "sha256-gATnkOe37eeVwKKYCsL+OnS2gU4MmLuZFzzWCtaKLI8=", + "lastModified": 1754564048, + "narHash": "sha256-dz303vGuzWjzOPOaYkS9xSW+B93PSAJxvBd6CambXVA=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "7ced9122cff2163c6a0212b8d1ec8c33a1660806", + "rev": "26ed7a0d4b8741fe1ef1ee6fa64453ca056ce113", "type": "github" }, "original": { @@ -915,11 +915,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1750776420, - "narHash": "sha256-/CG+w0o0oJ5itVklOoLbdn2dGB0wbZVOoDm4np6w09A=", + "lastModified": 1755027561, + "narHash": "sha256-IVft239Bc8p8Dtvf7UAACMG5P3ZV+3/aO28gXpGtMXI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "30a61f056ac492e3b7cdcb69c1e6abdcf00e39cf", + "rev": "005433b926e16227259a1843015b5b2b7f7d1fc3", "type": "github" }, "original": { @@ -931,11 +931,11 @@ }, "nixpkgs-25_05": { "locked": { - "lastModified": 1751741127, - "narHash": "sha256-t75Shs76NgxjZSgvvZZ9qOmz5zuBE8buUaYD28BMTxg=", + "lastModified": 1753749649, + "narHash": "sha256-+jkEZxs7bfOKfBIk430K+tK9IvXlwzqQQnppC2ZKFj4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "29e290002bfff26af1db6f64d070698019460302", + "rev": "1f08a4df998e21f4e8be8fb6fbf61d11a1a5076a", "type": "github" }, "original": { @@ -1042,11 +1042,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1746904237, - "narHash": "sha256-3e+AVBczosP5dCLQmMoMEogM57gmZ2qrVSrmq9aResQ=", + "lastModified": 1754725699, + "narHash": "sha256-iAcj9T/Y+3DBy2J0N+yF9XQQQ8IEb5swLFzs23CdP88=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d89fc19e405cb2d55ce7cc114356846a0ee5e956", + "rev": "85dbfc7aaf52ecb755f87e577ddbe6dbbdbc1054", "type": "github" }, "original": { @@ -1058,11 +1058,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1751984180, - "narHash": "sha256-LwWRsENAZJKUdD3SpLluwDmdXY9F45ZEgCb0X+xgOL0=", + "lastModified": 1755027561, + "narHash": "sha256-IVft239Bc8p8Dtvf7UAACMG5P3ZV+3/aO28gXpGtMXI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9807714d6944a957c2e036f84b0ff8caf9930bc0", + "rev": "005433b926e16227259a1843015b5b2b7f7d1fc3", "type": "github" }, "original": { @@ -1073,11 +1073,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1751786137, - "narHash": "sha256-lIlUKVGCGsh0Q2EA7/6xRtKUZjaQ/ur8uUyY+MynHXQ=", + "lastModified": 1754393734, + "narHash": "sha256-fbnmAwTQkuXHKBlcL5Nq1sMAzd3GFqCOQgEQw6Hy0Ak=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ceb24d94c6feaa4e8737a8e2bd3cf71c3a7eaaa0", + "rev": "a683adc19ff5228af548c6539dbc3440509bfed3", "type": "github" }, "original": { @@ -1089,11 +1089,11 @@ }, "nixpkgs_9": { "locked": { - "lastModified": 1751984180, - "narHash": "sha256-LwWRsENAZJKUdD3SpLluwDmdXY9F45ZEgCb0X+xgOL0=", + "lastModified": 1755027561, + "narHash": "sha256-IVft239Bc8p8Dtvf7UAACMG5P3ZV+3/aO28gXpGtMXI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9807714d6944a957c2e036f84b0ff8caf9930bc0", + "rev": "005433b926e16227259a1843015b5b2b7f7d1fc3", "type": "github" }, "original": { @@ -1111,11 +1111,11 @@ "systems": "systems_8" }, "locked": { - "lastModified": 1752158208, - "narHash": "sha256-XbXYLUtaB/wHvZYefvaDPbo4eYj27kbtowHfww9bqLw=", + "lastModified": 1755095763, + "narHash": "sha256-cFwtMaONA4uKYk/rBrmFvIAQieZxZytoprzIblTn1HA=", "owner": "pta2002", "repo": "nixvim", - "rev": "b728cf43d97814df43f5d9bd9dafac9072ccd9e8", + "rev": "ecc7880e00a2a735074243d8a664a931d73beace", "type": "github" }, "original": { @@ -1130,11 +1130,11 @@ "nixpkgs": "nixpkgs_9" }, "locked": { - "lastModified": 1752238241, - "narHash": "sha256-FAL3YvZOt8lXQY/N7ssugm775BkjWnH1FpgAAaBQrfU=", + "lastModified": 1755102471, + "narHash": "sha256-ecWsZvrU/v7phSRIulxUYoCZ+i8s+mQ0ecmxxcgHUko=", "owner": "nix-community", "repo": "NUR", - "rev": "9e311ede9a39b9ec3a7e37be8411056a4c4e9711", + "rev": "94c6c5b9798480dc220ee2cc8b1ce93a472a8d8f", "type": "github" }, "original": { @@ -1153,11 +1153,11 @@ ] }, "locked": { - "lastModified": 1749730855, - "narHash": "sha256-L3x2nSlFkXkM6tQPLJP3oCBMIsRifhIDPMQQdHO5xWo=", + "lastModified": 1754301638, + "narHash": "sha256-aRgzcPDd2axHFOuMlPLuzmDptUM2JU8mUL3jfgbBeyc=", "owner": "NuschtOS", "repo": "search", - "rev": "8dfe5879dd009ff4742b668d9c699bc4b9761742", + "rev": "a60091045273484c040a91f5c229ba298f8ecc27", "type": "github" }, "original": { @@ -1225,11 +1225,11 @@ ] }, "locked": { - "lastModified": 1751165203, - "narHash": "sha256-3QhlpAk2yn+ExwvRLtaixWsVW1q3OX3KXXe0l8VMLl4=", + "lastModified": 1754189623, + "narHash": "sha256-fstu5eb30UYwsxow0aQqkzxNxGn80UZjyehQVNVHuBk=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "90f547b90e73d3c6025e66c5b742d6db51c418c3", + "rev": "c582ff7f0d8a7ea689ae836dfb1773f1814f472a", "type": "github" }, "original": { @@ -1241,11 +1241,11 @@ "spectrum": { "flake": false, "locked": { - "lastModified": 1751265943, - "narHash": "sha256-XoHSo6GEElzRUOYAEg/jlh5c8TDsyDESFIux3nU/NMc=", + "lastModified": 1754675037, + "narHash": "sha256-afS08F7lfMUBR4qrBxinN1kuxu+DoHQ5TPNVp9VS/OA=", "ref": "refs/heads/main", - "rev": "37c8663fab86fdb202fece339ef7ac7177ffc201", - "revCount": 904, + "rev": "586577f3015397afacd83bc185454f4cc3c8028f", + "revCount": 955, "type": "git", "url": "https://spectrum-os.org/git/spectrum" }, From d49a173439f897a0d9c4a3c32a4bed299033633c Mon Sep 17 00:00:00 2001 From: Vivian Date: Tue, 19 Aug 2025 13:36:05 +0200 Subject: [PATCH 87/88] updates --- common/desktop/home.nix | 2 +- common/modules/gnome/default.nix | 8 ++--- flake.lock | 54 ++++++++++++++++---------------- hosts/thalassa/aoife/default.nix | 2 +- 4 files changed, 33 insertions(+), 33 deletions(-) diff --git a/common/desktop/home.nix b/common/desktop/home.nix index a432fd42..b3d01d00 100644 --- a/common/desktop/home.nix +++ b/common/desktop/home.nix @@ -28,7 +28,7 @@ in btop calibre celluloid # video player - cinny-desktop + # cinny-desktop comma discord element-desktop diff --git a/common/modules/gnome/default.nix b/common/modules/gnome/default.nix index b3a2ddde..d47159a5 100644 --- a/common/modules/gnome/default.nix +++ b/common/modules/gnome/default.nix @@ -41,11 +41,11 @@ in layout = "us"; variant = "altgr-intl"; }; - - # Enable the GNOME Desktop Environment. - displayManager.gdm.enable = lib.mkDefault true; - desktopManager.gnome.enable = true; }; + + # Enable the GNOME Desktop Environment. + displayManager.gdm.enable = lib.mkDefault true; + desktopManager.gnome.enable = true; udev.packages = with pkgs; [ gnome-settings-daemon ]; dbus.enable = true; udisks2.enable = true; diff --git a/flake.lock b/flake.lock index be5136da..2aa9448b 100644 --- a/flake.lock +++ b/flake.lock @@ -12,11 +12,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1754527469, - "narHash": "sha256-swR4GCqp5LHYJQ7pdePBtsqYyiyy+ASfUvhAgou23KI=", + "lastModified": 1755378195, + "narHash": "sha256-cKw1bfEwW+pQWsvzOAe0GfsSNXTSFS+5MYcZFQB5dFc=", "owner": "zhaofengli", "repo": "attic", - "rev": "687dd7d607824edf11bf33e3d91038467e7fad43", + "rev": "c1cfee9b63e48d9cee18e538ca32f1721078de91", "type": "github" }, "original": { @@ -61,11 +61,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1755247639, - "narHash": "sha256-YBjSqGgNAejwIIqUv+NTYpm+peXLro79qNBi0SF1JqM=", + "lastModified": 1755511413, + "narHash": "sha256-cBBF+nwGrSroN6ZewHPFaSThyCvwBxSZMdYEH8DxDx8=", "owner": "catppuccin", "repo": "nix", - "rev": "bd14b47481c996e2a5d5e5704d55092edf18e892", + "rev": "ca11a19d4e1d2ba5e6162f40cb71288551fd51dd", "type": "github" }, "original": { @@ -83,11 +83,11 @@ "stable": "stable" }, "locked": { - "lastModified": 1754254562, - "narHash": "sha256-vwu354kJ2fjK1StYmsi/M2vGQ2s72m+t9pIPHImt1Xw=", + "lastModified": 1755272288, + "narHash": "sha256-ypTPb2eKcOBbOoyvPV0j4ZOXs4kayo73/2KI456QnE0=", "owner": "zhaofengli", "repo": "colmena", - "rev": "5e0fbc4dbc50b3a38ecdbcb8d0a5bbe12e3f9a72", + "rev": "5bf4ce6a24adba74a5184f4a9bef01d545a09473", "type": "github" }, "original": { @@ -602,11 +602,11 @@ ] }, "locked": { - "lastModified": 1755229570, - "narHash": "sha256-soZegto0xXzG2zYlu/zjknDHv0Z7tRS5EQs+Z/VRTBg=", + "lastModified": 1755601933, + "narHash": "sha256-iXZeeYyfy8NdpvH/OOW9V3C2AfsXE+fzDHfrIOHBPF0=", "owner": "nix-community", "repo": "home-manager", - "rev": "11626a4383b458f8dc5ea3237eaa04e8ab1912f3", + "rev": "8af2e064f93234ee79df8b9858eeefbf84394488", "type": "github" }, "original": { @@ -900,11 +900,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1754564048, - "narHash": "sha256-dz303vGuzWjzOPOaYkS9xSW+B93PSAJxvBd6CambXVA=", + "lastModified": 1755330281, + "narHash": "sha256-aJHFJWP9AuI8jUGzI77LYcSlkA9wJnOIg4ZqftwNGXA=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "26ed7a0d4b8741fe1ef1ee6fa64453ca056ce113", + "rev": "3dac8a872557e0ca8c083cdcfc2f218d18e113b0", "type": "github" }, "original": { @@ -1058,11 +1058,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1755027561, - "narHash": "sha256-IVft239Bc8p8Dtvf7UAACMG5P3ZV+3/aO28gXpGtMXI=", + "lastModified": 1755186698, + "narHash": "sha256-wNO3+Ks2jZJ4nTHMuks+cxAiVBGNuEBXsT29Bz6HASo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "005433b926e16227259a1843015b5b2b7f7d1fc3", + "rev": "fbcf476f790d8a217c3eab4e12033dc4a0f6d23c", "type": "github" }, "original": { @@ -1089,11 +1089,11 @@ }, "nixpkgs_9": { "locked": { - "lastModified": 1755027561, - "narHash": "sha256-IVft239Bc8p8Dtvf7UAACMG5P3ZV+3/aO28gXpGtMXI=", + "lastModified": 1755186698, + "narHash": "sha256-wNO3+Ks2jZJ4nTHMuks+cxAiVBGNuEBXsT29Bz6HASo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "005433b926e16227259a1843015b5b2b7f7d1fc3", + "rev": "fbcf476f790d8a217c3eab4e12033dc4a0f6d23c", "type": "github" }, "original": { @@ -1111,11 +1111,11 @@ "systems": "systems_8" }, "locked": { - "lastModified": 1755095763, - "narHash": "sha256-cFwtMaONA4uKYk/rBrmFvIAQieZxZytoprzIblTn1HA=", + "lastModified": 1755541228, + "narHash": "sha256-3PsCEAfZLk3shQNgEH67P6KvhV6bXziewl3HwJ/iaV4=", "owner": "pta2002", "repo": "nixvim", - "rev": "ecc7880e00a2a735074243d8a664a931d73beace", + "rev": "e1e4bb83f1b1193c99971dfde6928e1f60ed4296", "type": "github" }, "original": { @@ -1130,11 +1130,11 @@ "nixpkgs": "nixpkgs_9" }, "locked": { - "lastModified": 1755102471, - "narHash": "sha256-ecWsZvrU/v7phSRIulxUYoCZ+i8s+mQ0ecmxxcgHUko=", + "lastModified": 1755599037, + "narHash": "sha256-wyQzSgNokEMaC1wrIbiHIqatbikrvimrTV8a47RlJ8k=", "owner": "nix-community", "repo": "NUR", - "rev": "94c6c5b9798480dc220ee2cc8b1ce93a472a8d8f", + "rev": "e92965e6bad1a44445803a8567400e5c6ad9cbe6", "type": "github" }, "original": { diff --git a/hosts/thalassa/aoife/default.nix b/hosts/thalassa/aoife/default.nix index 8bb84fca..e75cf9c4 100644 --- a/hosts/thalassa/aoife/default.nix +++ b/hosts/thalassa/aoife/default.nix @@ -61,7 +61,7 @@ services = { hypridle.enable = true; - xserver.displayManager.gdm.enable = true; + displayManager.gdm.enable = true; flatpak.enable = true; From 2b1a720c8f91b456ad0d753c762e17374516b119 Mon Sep 17 00:00:00 2001 From: Vivian Date: Wed, 20 Aug 2025 20:59:11 +0200 Subject: [PATCH 88/88] add nicotine --- common/desktop/home.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/common/desktop/home.nix b/common/desktop/home.nix index 55d70a27..778735d8 100644 --- a/common/desktop/home.nix +++ b/common/desktop/home.nix @@ -28,16 +28,17 @@ in btop calibre celluloid # video player - comma cinny-desktop + comma discord element-desktop - foliate # epub reader firefox + foliate # epub reader gcc gimp jellyfin-media-player neofetch + nicotine-plus nixpkgs-review qmk signal-desktop