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:
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