home

My NixOS systems configurations.
Log | Files | Refs | LICENSE

commit 232a19e0590cf1341104e6bd0c40f7dc6779fd1f
parent e50ef16fa6a89aa11533884dcb879a0bcb3e44a7
Author: Vincent Demeester <vincent@sbr.pm>
Date:   Tue, 20 Feb 2024 16:27:54 +0100

systems: cleanup some deprecated profiles.*

… and clean up some hosts

Signed-off-by: Vincent Demeester <vincent@sbr.pm>

Diffstat:
Mflake.nix | 6------
Msystems/hosts/aomi.nix | 2+-
Msystems/hosts/kerkouane.nix | 6+-----
Dsystems/hosts/naruhodo.nix | 177-------------------------------------------------------------------------------
Msystems/hosts/sakhalin.nix | 1-
Msystems/hosts/shikoku.nix | 20+++++++++++++++++---
Msystems/hosts/wakasu.nix | 4+---
Msystems/modules/hardware/yubikey.nix | 4++--
Dsystems/modules/profiles/desktop.nix | 157-------------------------------------------------------------------------------
Dsystems/modules/profiles/dev.nix | 25-------------------------
Dsystems/modules/profiles/git.nix | 69---------------------------------------------------------------------
Dsystems/modules/profiles/gnome.nix | 31-------------------------------
Dsystems/modules/profiles/i3.nix | 37-------------------------------------
Dsystems/modules/profiles/virtualization.nix | 58----------------------------------------------------------
Msystems/modules/virtualisation/libvirt.nix | 2+-
Dusers/modules/profiles/vscode.nix | 197-------------------------------------------------------------------------------
Musers/vincent/default.nix | 18++++--------------
Musers/vincent/desktop/default.nix | 8++++----
18 files changed, 31 insertions(+), 791 deletions(-)

diff --git a/flake.nix b/flake.nix @@ -60,15 +60,10 @@ # Profiles probably need to go away ./systems/modules/profiles/base.nix ./systems/modules/profiles/builder.nix - ./systems/modules/profiles/desktop.nix - ./systems/modules/profiles/dev.nix ./systems/modules/profiles/dns.nix ./systems/modules/profiles/docker.nix - ./systems/modules/profiles/git.nix - ./systems/modules/profiles/gnome.nix ./systems/modules/profiles/home.nix ./systems/modules/profiles/i18n.nix - ./systems/modules/profiles/i3.nix ./systems/modules/profiles/ipfs.nix ./systems/modules/profiles/kubernetes.nix ./systems/modules/profiles/laptop.nix @@ -77,7 +72,6 @@ ./systems/modules/profiles/qemu.nix ./systems/modules/profiles/redhat.nix ./systems/modules/profiles/scanning.nix - ./systems/modules/profiles/virtualization.nix ./systems/modules/profiles/wireguard.server.nix ./systems/modules/profiles/zsh.nix inputs.sops-nix.nixosModules.sops diff --git a/systems/hosts/aomi.nix b/systems/hosts/aomi.nix @@ -130,12 +130,12 @@ in guiAddress = "${metadata.hosts.aomi.wireguard.addrs.v4}:8384"; }; }; + virtualisation.libvirt = { enable = true; nested = true; }; }; profiles = { externalbuilder.enable = true; home = true; - virtualization = { enable = true; nested = true; }; }; diff --git a/systems/hosts/kerkouane.nix b/systems/hosts/kerkouane.nix @@ -64,9 +64,6 @@ let in { imports = [ - # (sources.nixos + "/nixos/modules/profiles/qemu-guest.nix") - # (import ../../nix).home-manager-stable - # ../modules/default.stable.nix (import ../../users/vincent) (import ../../users/root) ]; @@ -129,9 +126,8 @@ in buildCores = 1; }; + # FIXME: deprecated, move to modules profiles = { - git.enable = true; - # ssh.enable = true; wireguard.server.enable = true; }; diff --git a/systems/hosts/naruhodo.nix b/systems/hosts/naruhodo.nix @@ -1,177 +0,0 @@ -# { sources ? import ../../nix -# , lib ? sources.lib -# , pkgs ? sources.pkgs { } -# , ... -# }: -{ config, lib, pkgs, ... }: - -with lib; -let - hostname = "naruhodo"; - secretPath = ../../secrets/machines.nix; - secretCondition = (builtins.pathExists secretPath); - - endpointIP = strings.optionalString secretCondition (import secretPath).wg.endpointIP; - endpointPort = if secretCondition then (import secretPath).wg.listenPort else 0; - endpointPublicKey = strings.optionalString secretCondition (import secretPath).wireguard.kerkouane.publicKey; - - getEmulator = system: (lib.systems.elaborate { inherit system; }).emulator pkgs; - metadata = importTOML ../../ops/hosts.toml; -in -{ - imports = [ - ../hardware/thinkpad-t480s.nix - # (import ../../nix).home-manager - # ../modules - import ../../users/vincent - import ../../users/root - ]; - - fileSystems."/" = { - device = "/dev/mapper/root"; - fsType = "ext4"; - options = [ "noatime" "discard" ]; - }; - - boot.initrd.luks.devices = { - root = { - device = "/dev/disk/by-uuid/50d7faba-8923-4b30-88f7-40df26e02def"; - preLVM = true; - allowDiscards = true; - keyFile = "/dev/disk/by-id/usb-_USB_DISK_2.0_070D375D84327E87-0:0"; - keyFileOffset = 30992883712; - keyFileSize = 4096; - fallbackToPassword = true; - }; - }; - - fileSystems."/boot" = { - device = "/dev/disk/by-uuid/2294-77F4"; - fsType = "vfat"; - }; - - swapDevices = [{ device = "/dev/disk/by-uuid/c00da13a-39ee-4640-9783-baf0a3d13e73"; }]; - - networking = { - hostName = hostname; - }; - - boot = { - loader.systemd-boot.netbootxyz.enable = true; - kernelPackages = pkgs.linuxPackages_latest; - tmpOnTmpfs = true; - plymouth = { - enable = true; - themePackages = [ pkgs.my.adi1090x-plymouth ]; - theme = "cuts"; - # hexagon, green_loader, deus_ex, cuts, sphere, spinner_alt - }; - extraModulePackages = with pkgs.linuxPackages_latest; [ - v4l2loopback - ]; - kernelModules = [ "v4l2loopback" ]; - kernelParams = [ "cgroup_no_v1=all" "systemd.unified_cgroup_hierarchy=1" ]; - extraModprobeConfig = '' - options v4l2loopback exclusive_caps=1 - ''; - binfmt.registrations = { - s390x-linux = { - # interpreter = getEmulator "s390x-linux"; - interpreter = "${pkgs.qemu}/bin/qemu-s390x"; - magicOrExtension = ''\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x16''; - mask = ''\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff''; - }; - }; - binfmt.emulatedSystems = [ - "armv6l-linux" - "armv7l-linux" - "aarch64-linux" - # "s390x-linux" - "powerpc64le-linux" - ]; - }; - - # FIXME Fix tmpOnTmpfs - systemd.additionalUpstreamSystemUnits = [ "tmp.mount" ]; - - - services.udev.extraRules = '' - # Teensy rules for the Ergodox EZ - ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", ENV{ID_MM_DEVICE_IGNORE}="1" - ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789A]?", ENV{MTP_NO_PROBE}="1" - SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789ABCD]?", MODE:="0666" - KERNEL=="ttyACM*", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", MODE:="0666" - - # STM32 rules for the Moonlander and Planck EZ - SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", \ - MODE:="0666", \ - SYMLINK+="stm32_dfu" - - # Suspend the system when battery level drops to 5% or lower - SUBSYSTEM=="power_supply", ATTR{status}=="Discharging", ATTR{capacity}=="[0-5]", RUN+="${pkgs.systemd}/bin/systemctl hibernate" - ''; - services.hardware.bolt.enable = true; - core.nix = { - # temporary or not - localCaches = [ ]; - }; - - modules = { - hardware = { - yubikey.enable = true; - }; - }; - profiles = { - externalbuilder.enable = true; - desktop.i3.enable = true; - laptop.enable = true; - home = true; - dev.enable = true; - virtualization = { enable = true; nested = true; }; - redhat.enable = true; - scanning.enable = true; - ssh.enable = true; - docker.enable = true; - }; - environment.systemPackages = with pkgs; [ - virtmanager - # force xbacklight to work - acpilight - docker-client - ]; - - services = { - logind.extraConfig = '' - HandleLidSwitchExternalPower=ignore - HandleLidSwitchDocked=ignore - ''; - wireguard = { - enable = true; - ips = [ "${metadata.hosts.naruhodo.wireguard.addrs.v4}/24" ]; - endpoint = endpointIP; - endpointPort = endpointPort; - endpointPublicKey = endpointPublicKey; - }; - syncthing.guiAddress = "${metadata.hosts.naruhodo.wireguard.addrs.v4}:8384"; - barrier.enable = true; - }; - - virtualisation = { - podman.enable = true; - containers = { - enable = true; - registries = { - search = [ "registry.fedoraproject.org" "registry.access.redhat.com" "registry.centos.org" "docker.io" "quay.io" ]; - }; - policy = { - default = [{ type = "insecureAcceptAnything"; }]; - transports = { - docker-daemon = { - "" = [{ type = "insecureAcceptAnything"; }]; - }; - }; - }; - }; - }; - -} diff --git a/systems/hosts/sakhalin.nix b/systems/hosts/sakhalin.nix @@ -74,7 +74,6 @@ in profiles = { bind.enable = true; home = true; - git.enable = true; }; fileSystems."/export/gaia" = { device = "/mnt/gaia"; options = [ "bind" ]; }; diff --git a/systems/hosts/shikoku.nix b/systems/hosts/shikoku.nix @@ -88,6 +88,23 @@ in modules = { core.binfmt.enable = true; + dev = { + enable = false; + docker = { + enable = true; + package = pkgs.docker_24; + }; + podman.enable = true; + buildkit = { + enable = true; + grpcAddress = [ + "unix:///run/buildkit/buildkitd.sock" + "tcp://aomi.home:1234" + "tcp://${metadata.hosts.shikoku.addrs.v4}:1234" + "tcp://${metadata.hosts.shikoku.wireguard.addrs.v4}:1234" + ]; + }; + }; services = { syncthing = { enable = true; @@ -105,9 +122,6 @@ in profiles = { bind.enable = true; home = true; - dev.enable = lib.mkForce false; - desktop.enable = lib.mkForce false; - docker.enable = true; }; services = { aria2 = { diff --git a/systems/hosts/wakasu.nix b/systems/hosts/wakasu.nix @@ -117,13 +117,11 @@ in }; ssh.enable = true; }; + virtualisation.libvirt = { enable = true; nested = true; }; }; # TODO Migrate to modules profiles.home = true; - # Temporarly disable external builders, home network is down. - # profiles.externalbuilder.enable = true; - profiles.virtualization = { enable = true; nested = true; }; virtualisation.podman.dockerSocket.enable = true; virtualisation.podman.autoPrune.enable = true; environment.systemPackages = with pkgs; [ diff --git a/systems/modules/hardware/yubikey.nix b/systems/modules/hardware/yubikey.nix @@ -35,9 +35,9 @@ in }; }; } - (mkIf config.profiles.desktop.enable { + (mkIf config.modules.desktop.enable { environment.systemPackages = with pkgs; [ - yubioath-desktop + yubioath-flutter ]; }) (mkIf cfg.u2f { diff --git a/systems/modules/profiles/desktop.nix b/systems/modules/profiles/desktop.nix @@ -1,157 +0,0 @@ -{ config, lib, pkgs, ... }: - -with lib; -let - cfg = config.profiles.desktop; -in -{ - options = { - profiles.desktop = { - enable = mkEnableOption "Enable desktop profile"; - avahi = mkOption { - default = true; - description = "Enable avahi with the desktop profile"; - type = types.bool; - }; - audio = mkOption { - default = true; - description = "Enable audio with the desktop profile"; - type = types.bool; - }; - syncthing = mkOption { - default = true; - description = "Enable syncthing with the desktop profile"; - type = types.bool; - }; - scanning = mkOption { - default = true; - description = "Enable scanning with the desktop profile"; - type = types.bool; - }; - printing = mkOption { - default = true; - description = "Enable printing with the desktop profile"; - type = types.bool; - }; - networkmanager = mkOption { - default = true; - description = "Enable networkmanager with the desktop profile"; - type = types.bool; - }; - }; - }; - config = mkIf cfg.enable { - profiles.printing.enable = cfg.printing; - profiles.scanning.enable = cfg.scanning; - - modules = { - hardware = { - bluetooth.enable = true; - audio.enable = cfg.audio; - }; - services = { - avahi.enable = cfg.avahi; - syncthing.enable = cfg.syncthing; - }; - }; - - networking.networkmanager = { - enable = cfg.networkmanager; - unmanaged = [ - "interface-name:br-*" - "interface-name:ve-*" - "interface-name:veth*" - ] - # Do not manager wireguard - ++ lib.optionals config.networking.wireguard.enable [ "interface-name:wg0" ] - # Do not manage docker interfaces - ++ lib.optionals config.virtualisation.docker.enable [ "interface-name:docker0" ] - # Do not manager libvirt interfaces - ++ lib.optionals config.virtualisation.libvirtd.enable [ "interface-name:virbr*" ]; - packages = with pkgs; [ networkmanager-openvpn ]; - dispatcherScripts = [{ - # https://askubuntu.com/questions/1271491/disable-wifi-if-lan-is-connected - source = pkgs.writeText "wifi-wired-exclusive" '' - #!${pkgs.bash}/bin/bash - export LC_ALL=C - - enable_disable_wifi () - { - result=$(${pkgs.networkmanager}/bin/nmcli dev | ${pkgs.gnugrep}/bin/grep "ethernet" | ${pkgs.gnugrep}/bin/grep -w "connected") - if [ -n "$result" ]; then - ${pkgs.networkmanager}/bin/nmcli radio wifi off - else - ${pkgs.networkmanager}/bin/nmcli radio wifi on - fi - } - - if [ "$2" = "up" ]; then - enable_disable_wifi - fi - - if [ "$2" = "down" ]; then - enable_disable_wifi - fi - ''; - type = "basic"; - }]; - }; - - services = { - xserver = { - enable = true; - enableTCP = false; - libinput.enable = true; - synaptics.enable = false; - layout = "fr"; - xkbVariant = "bepo"; - xkbOptions = "grp:menu_toggle,grp_led:caps,compose:caps"; - }; - }; - fonts = { - fontDir.enable = true; - enableGhostscriptFonts = true; - fonts = with pkgs; [ - liberation_ttf - corefonts - dejavu_fonts - emojione - feh - fira - fira-code - fira-code-symbols - fira-mono - hasklig - inconsolata - input - ia-fonts - iosevka - noto-fonts - noto-fonts-cjk - noto-fonts-emoji - noto-fonts-extra - overpass - symbola - source-code-pro - twemoji-color-font - ubuntu_font_family - unifont - ]; - }; - - environment.systemPackages = with pkgs; [ - cryptsetup - xorg.xmodmap - # xorg.xbacklight - xorg.xdpyinfo - xorg.xhost - xorg.xinit - xss-lock - xorg.xmessage - unzip - gnupg - pinentry - inxi - ]; - }; -} diff --git a/systems/modules/profiles/dev.nix b/systems/modules/profiles/dev.nix @@ -1,25 +0,0 @@ -{ config, lib, pkgs, ... }: - -with lib; -let - cfg = config.profiles.dev; -in -{ - options = { - profiles.dev = { - enable = mkEnableOption "Enable dev profile"; - }; - }; - config = mkIf cfg.enable { - profiles.git.enable = true; - # services.lorri.enable = true; - environment.systemPackages = with pkgs; [ - git - tig - grc - ripgrep - gnumake - sops - ]; - }; -} diff --git a/systems/modules/profiles/git.nix b/systems/modules/profiles/git.nix @@ -1,69 +0,0 @@ -{ config, lib, pkgs, ... }: - -with lib; -let - cfg = config.profiles.git; -in -{ - options = { - profiles.git = { - enable = mkEnableOption "Enable git profile"; - }; - }; - config = mkIf cfg.enable { - environment.systemPackages = with pkgs; [ - git - # gitAndTools.git-extras - ]; - environment.etc."gitconfig" = rec { - text = '' - [alias] - co = checkout - st = status - ci = commit --signoff - ca = commit --amend - b = branc --color -v - br = branch - unstage = reset HEAD - lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset' --abbrev-commit --date=relative - lga = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset' --abbrev-commit --date=relative --branches --remotes - lol = log --pretty=oneline --abbrev-commit --graph --decorate - conflicts = !git ls-files --unmerged | cut -c51- | sort -u | xargs $EDITOR - resolve = !git ls-files --unmerged | cut -c51- | sort -u | xargs git add - [color] - branch = auto - diff = auto - status = auto - [color "branch"] - current = cyan reverse - local = cyan - remote = green - [color "diff"] - meta = white reverse - frag = magenta reverse - old = red - new = green - [color "status"] - added = green - changed = yellow - untracked = red - [core] - #excludesfile = ~/.gitignore.global - [push] - default = matching - [merge] - tool = vimdiff - - [user] - name = Vincent Demeester - email = vincent@sbr.pm - - [http] - cookiefile = /home/vincent/.gitcookies - - [url "git@github.com:"] - pushInsteadOf = git://github.com/ - ''; - }; - }; -} diff --git a/systems/modules/profiles/gnome.nix b/systems/modules/profiles/gnome.nix @@ -1,31 +0,0 @@ -{ config, lib, pkgs, ... }: - -with lib; -let - cfg = config.profiles.desktop.gnome; -in -{ - options = { - profiles.desktop.gnome = { - enable = mkEnableOption "Enable Gnome desktop profile"; - }; - }; - config = mkIf cfg.enable { - modules.services.avahi.enable = true; - profiles = { - desktop.enable = true; - }; - services = { - gnome = { - chrome-gnome-shell.enable = true; - core-shell.enable = true; - core-os-services.enable = true; - core-utilities.enable = true; - }; - xserver = { - displayManager.gdm.enable = true; - desktopManager.gnome3.enable = true; - }; - }; - }; -} diff --git a/systems/modules/profiles/i3.nix b/systems/modules/profiles/i3.nix @@ -1,37 +0,0 @@ -{ config, lib, pkgs, ... }: - -with lib; -let - cfg = config.profiles.desktop.i3; -in -{ - options = { - profiles.desktop.i3 = { - enable = mkEnableOption "Enable i3 desktop profile"; - }; - }; - - config = mkIf cfg.enable { - profiles = { - desktop.enable = true; - }; - services = { - blueman.enable = true; - autorandr.enable = true; - xserver = { - displayManager = { - defaultSession = "none+i3"; - lightdm.enable = true; - lightdm.greeters.pantheon.enable = true; - }; - windowManager.i3.enable = true; - }; - dbus = { - enable = true; - # socketActivated = true; - packages = [ pkgs.dconf ]; - }; - }; - programs.dconf.enable = true; - }; -} diff --git a/systems/modules/profiles/virtualization.nix b/systems/modules/profiles/virtualization.nix @@ -1,58 +0,0 @@ -{ config, lib, pkgs, ... }: - -with lib; -let - cfg = config.profiles.virtualization; -in -{ - options = { - profiles.virtualization = { - enable = mkEnableOption "Enable virtualization profile"; - nested = mkOption { - default = false; - description = "Enable nested virtualization"; - type = types.bool; - }; - listenTCP = mkOption { - default = false; - description = "Make libvirt listen to TCP"; - type = types.bool; - }; - }; - }; - config = mkIf cfg.enable (mkMerge [ - { - virtualisation.libvirtd = { - enable = true; - }; - environment.systemPackages = with pkgs; [ - qemu - vde2 - libosinfo - ]; - } - (mkIf cfg.nested { - boot.kernelParams = [ "kvm_intel.nested=1" ]; - environment.etc."modprobe.d/kvm.conf".text = '' - options kvm_intel nested=1 - ''; - }) - (mkIf config.profiles.desktop.enable { - environment.systemPackages = with pkgs; [ virtmanager ]; - }) - (mkIf cfg.listenTCP { - boot.kernel.sysctl = { "net.ipv4.ip_forward" = 1; }; - virtualisation.libvirtd = { - allowedBridges = [ "br1" ]; - extraConfig = '' - listen_tls = 0 - listen_tcp = 1 - auth_tcp="none" - tcp_port = "16509" - ''; - # extraOptions = [ "--listen" ]; - }; - networking.firewall.allowedTCPPorts = [ 16509 ]; - }) - ]); -} diff --git a/systems/modules/virtualisation/libvirt.nix b/systems/modules/virtualisation/libvirt.nix @@ -21,7 +21,7 @@ in environment.systemPackages = with pkgs; [ qemu vde2 libosinfo ]; } (mkIf config.modules.desktop.enable { - environment.systemPackages = with pkgs; [ virtmanager ]; + environment.systemPackages = with pkgs; [ virt-manager ]; }) (mkIf cfg.nested { boot.kernelParams = [ "kvm_intel.nested=1" ]; diff --git a/users/modules/profiles/vscode.nix b/users/modules/profiles/vscode.nix @@ -1,197 +0,0 @@ -{ config, lib, pkgs, ... }: - -with lib; -let - cfg = config.profiles.dev.vscode; -in -{ - options = { - profiles.dev.vscode = { - enable = mkEnableOption "Enable VS Code profile"; - }; - }; - config = mkIf cfg.enable { - programs.vscode = { - enable = true; - userSettings = { - "workbench.iconTheme" = "material-icon-theme"; - "workbench.colorTheme" = "plain"; - "editor.fontFamily" = "'Fira Code','Droid Sans Mono', 'monospace', monospace, 'Droid Sans Fallback'"; - "[nix]"."editor.tabSize" = 2; - "editor.minimap.enabled" = false; - "window.titleBarStyle" = "custom"; - "breadcrumbs.enabled" = true; - "go.useLanguageServer" = true; - }; - extensions = pkgs.vscode-utils.extensionsFromVscodeMarketplace [ - { - name = "remote-ssh"; - publisher = "ms-vscode-remote"; - version = "0.42.2"; - sha256 = "0aqjlbndiq1q8gh4dkj68sbr56ya458c8xh7f8bkhw5rnmz31pj5"; - } - { - name = "remote-ssh-edit"; - publisher = "ms-vscode-remote"; - version = "0.42.2"; - sha256 = "0qkdz1ng5mk35x8awa9wavb138hd454da8gsf7m66xyfifsmcn6h"; - } - { - name = "remote-ssh-explorer"; - publisher = "ms-vscode-remote"; - version = "0.42.2"; - sha256 = "02wg1bvl9923ldxlkj0qdlpf0njrd2r805561dkw5yp8siiim768"; - } - { - name = "EditorConfig"; - publisher = "EditorConfig"; - version = "0.12.4"; - sha256 = "067mxkzjmgz9lv5443ig7jc4dpgml4pz0dac0xmqrdmiwml6j4k4"; - } - { - name = "vsc-material-theme"; - publisher = "Equinusocio"; - version = "2.6.3"; - sha256 = "1ghqp0yfcpcnjcwgvxw7aix9fj5q8kr0i97lmzlw2jqslmyvxg5x"; - } - { - name = "material-icon-theme"; - publisher = "PKief"; - version = "3.6.0"; - sha256 = "0jphqqs41pkyv11mq1a3wzx14sl6pifcfyz3lw5wany003fv5s9s"; - } - { - name = "fish-vscode"; - publisher = "skyapps"; - version = "0.2.0"; - sha256 = "148r186y3h7n84fcyh6wa2qwl2q3pfi8aykwkc9dhfj3kwfcm5rb"; - } - { - name = "code-runner"; - publisher = "formulahendry"; - version = "0.9.4"; - sha256 = "08qq21gaa7igklv9si35qxhs79na893vyp96hf7rvyv7c4fn1pvw"; - } - { - name = "gitlens"; - publisher = "eamodio"; - version = "8.5.6"; - sha256 = "1vn6fvxn4g3759pg9rp8hqdc58pgyvcdma1ylfwmdnipga37xfd3"; - } - { - name = "vscode-direnv"; - publisher = "Rubymaniac"; - version = "0.0.2"; - sha256 = "1gml41bc77qlydnvk1rkaiv95rwprzqgj895kxllqy4ps8ly6nsd"; - } - { - name = "vscode-proto3"; - publisher = "zxh404"; - version = "0.2.1"; - sha256 = "12yf66a9ws5hlyj38nmn91y8a1jrq8696fnmgk60w9anyfalbn4q"; - } - { - name = "project-manager"; - publisher = "alefragnani"; - version = "9.0.1"; - sha256 = "0aqyavgpaqvv62q15h4dkxcgj4khsgr1rlzr3wi9aflyncg7addb"; - } - { - name = "tslint"; - publisher = "eg2"; - version = "1.0.39"; - sha256 = "1al61xzz7p6rqgk7rplg3njj4hyiipx7w89pqfn8634skw7r32rl"; - } - { - name = "vscode-npm-script"; - publisher = "eg2"; - version = "0.3.5"; - sha256 = "1v4081siab0fm0zfn6vlvqlc4vx131q8y6f3h3l46mvpndsa2rck"; - } - { - name = "vscode-pull-request-github"; - publisher = "GitHub"; - version = "0.1.6"; - sha256 = "08r0i265q4gk6kmz3ynxglhssdk5020bifagl9jr8spfs5sacnsx"; - } - { - name = "vscode-kubernetes-tools"; - publisher = "ms-kubernetes-tools"; - version = "0.1.14"; - sha256 = "0ixs1cydbz6qizf9cs0jdqpxwfg7gs74jdy9hp2v9h8q7vq6503l"; - } - # languages - { - name = "Go"; - publisher = "ms-vscode"; - version = "0.6.89"; - sha256 = "05mzw4bwsa9wxldnkdgk0b4n4xm8gzhmrbqy6j8lbk3p360wdg8z"; - } - { - name = "rust"; - publisher = "rust-lang"; - version = "0.4.10"; - sha256 = "1y7sb3585knv2pbq7vf2cjf3xy1fgzrqzn2h3fx2d2bj6ns6vpy3"; - } - { - name = "crates"; - publisher = "serayuzgur"; - version = "0.3.2"; - sha256 = "0xn24vghmcf8fi8cdgaa3f0npmkdr4fdn9y1g56l2fzrx2z4rw3q"; - } - { - name = "Kotlin"; - publisher = "mathiasfrohlich"; - version = "1.7.0"; - sha256 = "1d81rgfh1c1wkz4la0mmjj6k28if237f835diyk3z6n63cazapli"; - } - { - name = "java"; - publisher = "redhat"; - version = "0.31.0"; - sha256 = "1hzqiqkja4931k7rb4pmva6k80ss53nvyksiqvq6kxj25rg3kd1b"; - } - { - name = "vscode-java-debug"; - publisher = "vscjava"; - version = "0.13.0"; - sha256 = "11xvd1b0qsvrbm4yb0c7fm537p1gs6wz45xzl6v1a7k08dapi20i"; - } - { - name = "vscode-java-test"; - publisher = "vscjava"; - version = "0.9.0"; - sha256 = "0000v5qh100n3n529r1nzx79cawx83kvprrmhw6pb4j0m5b3p3p2"; - } - { - name = "gradle-language"; - publisher = "naco-siren"; - version = "0.2.3"; - sha256 = "15lzxvym0mkljjn57av1p4z6hqqwbsbn5idw2fn7nccgrl93aywf"; - } - { - name = "vscode-yaml"; - publisher = "redhat"; - version = "0.0.16"; - sha256 = "0v21qj65nrp850r0jmivmsm9y5i99ymxxm8ganzdia4vbv5hzx9r"; - } - { - name = "better-toml"; - publisher = "bungcip"; - version = "0.3.2"; - sha256 = "08lhzhrn6p0xwi0hcyp6lj9bvpfj87vr99klzsiy8ji7621dzql3"; - } - { - name = "plain"; - publisher = "konstantin"; - version = "0.0.7"; - sha256 = "0qbn8bdcbvz8qfjb42n4j9asmsd6zf33w9ypyinb7x37ylw482nx"; - } - ] ++ [ - pkgs.vscode-extensions.bbenoist.Nix - pkgs.vscode-extensions.ms-python.python - # pkgs.vscodeliveshare - ]; - }; - }; -} diff --git a/users/vincent/default.nix b/users/vincent/default.nix @@ -24,13 +24,11 @@ in extraGroups = [ "wheel" "input" ] ++ optionals config.networking.networkmanager.enable [ "networkmanager" ] ++ optionals config.modules.desktop.enable [ "audio" "video" ] - ++ optionals config.profiles.desktop.enable [ "audio" "video" ] # FIXME deprecated ++ optionals config.profiles.scanning.enable [ "lp" "scanner" ] ++ optionals config.networking.networkmanager.enable [ "networkmanager" ] ++ optionals config.virtualisation.docker.enable [ "docker" ] ++ optionals config.virtualisation.buildkitd.enable [ "buildkit" ] ++ optionals config.modules.virtualisation.libvirt.enable [ "libvirtd" ] - ++ optionals config.profiles.virtualization.enable [ "libvirtd" ] # FIXME deprecated ++ optionals config.services.nginx.enable [ "nginx" ]; shell = mkIf config.programs.zsh.enable pkgs.zsh; isNormalUser = true; @@ -82,23 +80,15 @@ in (import ./containers/kubernetes.nix) (import ./containers/openshift.nix) (import ./containers/tekton.nix) - ] - ++ optionals config.modules.dev.containers.enable [ - (import ./containers) - ] - ++ optionals config.modules.desktop.enable [ (import ./desktop) ] - ++ optionals config.profiles.dev.enable [ - (import ./dev) - (import ./containers) - (import ./containers/kubernetes.nix) - (import ./containers/openshift.nix) - (import ./containers/tekton.nix) { # Enable only on dev, could do something better than this longterm 😀 services.keybase.enable = true; } ] - ++ optionals config.profiles.desktop.enable [ (import ./desktop) ] + ++ optionals config.modules.dev.containers.enable [ + (import ./containers) + ] + ++ optionals config.modules.desktop.enable [ (import ./desktop) ] ++ optionals (config.networking.hostName == "wakasu" || config.networking.hostName == "aomi") [ { home.packages = with pkgs; [ diff --git a/users/vincent/desktop/default.nix b/users/vincent/desktop/default.nix @@ -16,13 +16,13 @@ in ./audio.nix ] ++ optionals nixosConfig.modules.desktop.xorg.enable [ ./xorg.nix ] - ++ optionals nixosConfig.profiles.desktop.i3.enable [ ./i3.nix ./xorg.nix ] ++ optionals nixosConfig.modules.desktop.wayland.enable [ ./wayland.nix ] ++ optionals nixosConfig.modules.desktop.wayland.sway.enable [ ./sway.nix ] - ++ optionals nixosConfig.modules.desktop.wayland.hyprland.enable [ ./hyprland.nix ] - ++ optionals nixosConfig.profiles.desktop.gnome.enable [ (import ./gnome.nix) ]; + ++ optionals nixosConfig.modules.desktop.wayland.hyprland.enable [ ./hyprland.nix ]; - home.sessionVariables = { WEBKIT_DISABLE_COMPOSITING_MODE = 1; }; + home.sessionVariables = { + WEBKIT_DISABLE_COMPOSITING_MODE = 1; + }; home.packages = with pkgs; [ aspell aspellDicts.en