Commit 9506b3afc3bf
Changed files (46)
modules
hardware
profiles
services
virtualisation
overlays
pkgs
buildkit
containerd
crc
oc
operator-sdk
prm
tkn
vscodeliveshare
tmp
hardware/dell-latitude-e6540.nix
@@ -5,13 +5,17 @@
loader.efi.canTouchEfiVariables = true;
kernelParams = [
# Kernel GPU Savings Options (NOTE i915 chipset only)
- "i915.enable_rc6=0" "i915.enable_fbc=1"
+ "i915.enable_rc6=0"
+ "i915.enable_fbc=1"
"i915.lvds_use_ssc=0"
- "drm.debug=0" "drm.vblankoffdelay=1"
+ "drm.debug=0"
+ "drm.vblankoffdelay=1"
];
blacklistedKernelModules = [
# Kernel GPU Savings Options (NOTE i915 chipset only)
- "sierra_net" "cdc_mbim" "cdc_ncm"
+ "sierra_net"
+ "cdc_mbim"
+ "cdc_ncm"
];
};
hardware = {
hardware/lenovo-p50.nix
@@ -1,4 +1,4 @@
-{ config, pkgs, ...}:
+{ config, pkgs, ... }:
{
imports = [ ./thinkpad.nix ];
@@ -16,34 +16,34 @@
services = {
tlp = {
extraConfig = ''
-# CPU optimizations
-CPU_SCALING_GOVERNOR_ON_AC=performance
-CPU_SCALING_GOVERNOR_ON_BAT=powersave
-CPU_MIN_PERF_ON_AC=0
-CPU_MAX_PERF_ON_AC=100
-CPU_MIN_PERF_ON_BAT=0
-CPU_MAX_PERF_ON_BAT=50
-# DEVICES (wifi, ..)
-DEVICES_TO_DISABLE_ON_STARTUP=""
-DEVICES_TO_ENABLE_ON_AC="bluetooth wifi wwan"
-DEVICES_TO_DISABLE_ON_BAT=""
-# Network management
-DEVICES_TO_DISABLE_ON_LAN_CONNECT=""
-DEVICES_TO_DISABLE_ON_WIFI_CONNECT=""
-DEVICES_TO_DISABLE_ON_WWAN_CONNECT=""
-DEVICES_TO_ENABLE_ON_LAN_DISCONNECT=""
-DEVICES_TO_ENABLE_ON_WIFI_DISCONNECT=""
-DEVICES_TO_ENABLE_ON_WWAN_DISCONNECT=""
-# Docking
-DEVICES_TO_DISABLE_ON_DOCK="wifi"
-DEVICES_TO_ENABLE_ON_UNDOCK="wifi"
-# Make sure it uses the right hard drive
-DISK_DEVICES="nvme0n1p2"
+ # CPU optimizations
+ CPU_SCALING_GOVERNOR_ON_AC=performance
+ CPU_SCALING_GOVERNOR_ON_BAT=powersave
+ CPU_MIN_PERF_ON_AC=0
+ CPU_MAX_PERF_ON_AC=100
+ CPU_MIN_PERF_ON_BAT=0
+ CPU_MAX_PERF_ON_BAT=50
+ # DEVICES (wifi, ..)
+ DEVICES_TO_DISABLE_ON_STARTUP=""
+ DEVICES_TO_ENABLE_ON_AC="bluetooth wifi wwan"
+ DEVICES_TO_DISABLE_ON_BAT=""
+ # Network management
+ DEVICES_TO_DISABLE_ON_LAN_CONNECT=""
+ DEVICES_TO_DISABLE_ON_WIFI_CONNECT=""
+ DEVICES_TO_DISABLE_ON_WWAN_CONNECT=""
+ DEVICES_TO_ENABLE_ON_LAN_DISCONNECT=""
+ DEVICES_TO_ENABLE_ON_WIFI_DISCONNECT=""
+ DEVICES_TO_ENABLE_ON_WWAN_DISCONNECT=""
+ # Docking
+ DEVICES_TO_DISABLE_ON_DOCK="wifi"
+ DEVICES_TO_ENABLE_ON_UNDOCK="wifi"
+ # Make sure it uses the right hard drive
+ DISK_DEVICES="nvme0n1p2"
'';
};
udev.extraRules = ''
- # Rules for Lenovo Thinkpad WS Dock
- SUBSYSTEM=="usb", ACTION=="add|remove", ENV{ID_VENDOR}=="17ef", ENV{ID_MODEL}=="305a", RUN+="${pkgs.vde-thinkpad}/bin/dock"
+ # Rules for Lenovo Thinkpad WS Dock
+ SUBSYSTEM=="usb", ACTION=="add|remove", ENV{ID_VENDOR}=="17ef", ENV{ID_MODEL}=="305a", RUN+="${pkgs.vde-thinkpad}/bin/dock"
'';
};
}
hardware/thinkpad-t460s.nix
@@ -5,29 +5,29 @@
services = {
tlp = {
extraConfig = ''
-# CPU optimizations
-CPU_SCALING_GOVERNOR_ON_AC=performance
-CPU_SCALING_GOVERNOR_ON_BAT=powersave
-CPU_MIN_PERF_ON_AC=0
-CPU_MAX_PERF_ON_AC=100
-CPU_MIN_PERF_ON_BAT=0
-CPU_MAX_PERF_ON_BAT=50
-# DEVICES (wifi, ..)
-DEVICES_TO_DISABLE_ON_STARTUP=""
-DEVICES_TO_ENABLE_ON_AC="bluetooth wifi wwan"
-DEVICES_TO_DISABLE_ON_BAT=""
-# Network management
-DEVICES_TO_DISABLE_ON_LAN_CONNECT=""
-DEVICES_TO_DISABLE_ON_WIFI_CONNECT=""
-DEVICES_TO_DISABLE_ON_WWAN_CONNECT=""
-DEVICES_TO_ENABLE_ON_LAN_DISCONNECT=""
-DEVICES_TO_ENABLE_ON_WIFI_DISCONNECT=""
-DEVICES_TO_ENABLE_ON_WWAN_DISCONNECT=""
-# Docking
-DEVICES_TO_DISABLE_ON_DOCK="wifi"
-DEVICES_TO_ENABLE_ON_UNDOCK="wifi"
-# Make sure it uses the right hard drive
-DISK_DEVICES="nvme0n1p3"
+ # CPU optimizations
+ CPU_SCALING_GOVERNOR_ON_AC=performance
+ CPU_SCALING_GOVERNOR_ON_BAT=powersave
+ CPU_MIN_PERF_ON_AC=0
+ CPU_MAX_PERF_ON_AC=100
+ CPU_MIN_PERF_ON_BAT=0
+ CPU_MAX_PERF_ON_BAT=50
+ # DEVICES (wifi, ..)
+ DEVICES_TO_DISABLE_ON_STARTUP=""
+ DEVICES_TO_ENABLE_ON_AC="bluetooth wifi wwan"
+ DEVICES_TO_DISABLE_ON_BAT=""
+ # Network management
+ DEVICES_TO_DISABLE_ON_LAN_CONNECT=""
+ DEVICES_TO_DISABLE_ON_WIFI_CONNECT=""
+ DEVICES_TO_DISABLE_ON_WWAN_CONNECT=""
+ DEVICES_TO_ENABLE_ON_LAN_DISCONNECT=""
+ DEVICES_TO_ENABLE_ON_WIFI_DISCONNECT=""
+ DEVICES_TO_ENABLE_ON_WWAN_DISCONNECT=""
+ # Docking
+ DEVICES_TO_DISABLE_ON_DOCK="wifi"
+ DEVICES_TO_ENABLE_ON_UNDOCK="wifi"
+ # Make sure it uses the right hard drive
+ DISK_DEVICES="nvme0n1p3"
'';
};
xserver = {
hardware/thinkpad-x220.nix
@@ -5,7 +5,7 @@
boot = {
kernelParams = [ "i915.enable_psr=1" ];
extraModprobeConfig = ''
- options iwlwifi 11n_disable=1
+ options iwlwifi 11n_disable=1
'';
};
security = {
@@ -20,35 +20,35 @@
fprintd.enable = true;
tlp = {
extraConfig = ''
-# CPU optimizations
-CPU_SCALING_GOVERNOR_ON_AC=performance
-CPU_SCALING_GOVERNOR_ON_BAT=powersave
-CPU_MIN_PERF_ON_AC=0
-CPU_MAX_PERF_ON_AC=100
-CPU_MIN_PERF_ON_BAT=0
-CPU_MAX_PERF_ON_BAT=50
-CPU_BOOST_ON_AC=1
-CPU_BOOST_ON_BAT=0
-# DEVICES (wifi, ..)
-DEVICES_TO_DISABLE_ON_STARTUP="bluetooth"
-DEVICES_TO_ENABLE_ON_AC="bluetooth wifi wwan"
-DEVICES_TO_DISABLE_ON_BAT="bluetooth"
-# Network management
-DEVICES_TO_DISABLE_ON_LAN_CONNECT=""
-DEVICES_TO_DISABLE_ON_WIFI_CONNECT=""
-DEVICES_TO_DISABLE_ON_WWAN_CONNECT=""
-DEVICES_TO_ENABLE_ON_LAN_DISCONNECT=""
-DEVICES_TO_ENABLE_ON_WIFI_DISCONNECT=""
-DEVICES_TO_ENABLE_ON_WWAN_DISCONNECT=""
-DISK_IDLE_SECS_ON_AC=0
-DISK_IDLE_SECS_ON_BAT=2
-MAX_LOST_WORK_SECS_ON_AC=15
-MAX_LOST_WORK_SECS_ON_BAT=60
-DISK_DEVICES="ata-Corsair_Force_LX_SSD_15256501000102160059"
-SOUND_POWER_SAVE_ON_AC=0
-SOUND_POWER_SAVE_ON_BAT=1
-USB_AUTOSUSPEND=1
-USB_BLACKLIST_BTUSB=1
+ # CPU optimizations
+ CPU_SCALING_GOVERNOR_ON_AC=performance
+ CPU_SCALING_GOVERNOR_ON_BAT=powersave
+ CPU_MIN_PERF_ON_AC=0
+ CPU_MAX_PERF_ON_AC=100
+ CPU_MIN_PERF_ON_BAT=0
+ CPU_MAX_PERF_ON_BAT=50
+ CPU_BOOST_ON_AC=1
+ CPU_BOOST_ON_BAT=0
+ # DEVICES (wifi, ..)
+ DEVICES_TO_DISABLE_ON_STARTUP="bluetooth"
+ DEVICES_TO_ENABLE_ON_AC="bluetooth wifi wwan"
+ DEVICES_TO_DISABLE_ON_BAT="bluetooth"
+ # Network management
+ DEVICES_TO_DISABLE_ON_LAN_CONNECT=""
+ DEVICES_TO_DISABLE_ON_WIFI_CONNECT=""
+ DEVICES_TO_DISABLE_ON_WWAN_CONNECT=""
+ DEVICES_TO_ENABLE_ON_LAN_DISCONNECT=""
+ DEVICES_TO_ENABLE_ON_WIFI_DISCONNECT=""
+ DEVICES_TO_ENABLE_ON_WWAN_DISCONNECT=""
+ DISK_IDLE_SECS_ON_AC=0
+ DISK_IDLE_SECS_ON_BAT=2
+ MAX_LOST_WORK_SECS_ON_AC=15
+ MAX_LOST_WORK_SECS_ON_BAT=60
+ DISK_DEVICES="ata-Corsair_Force_LX_SSD_15256501000102160059"
+ SOUND_POWER_SAVE_ON_AC=0
+ SOUND_POWER_SAVE_ON_BAT=1
+ USB_AUTOSUSPEND=1
+ USB_BLACKLIST_BTUSB=1
'';
};
};
hardware/thinkpad.nix
@@ -4,10 +4,12 @@
boot = {
blacklistedKernelModules = [
# Kernel GPU Savings Options (NOTE i915 chipset only)
- "sierra_net" "cdc_mbim" "cdc_ncm"
+ "sierra_net"
+ "cdc_mbim"
+ "cdc_ncm"
];
extraModprobeConfig = ''
- options snd_hda_intel power_save=1
+ options snd_hda_intel power_save=1
'';
initrd = {
availableKernelModules = [ "aesni-intel" "aes_x86_64" "cryptd" ];
@@ -15,9 +17,11 @@
kernelModules = [ "kvm_intel" ];
kernelParams = [
# Kernel GPU Savings Options (NOTE i915 chipset only)
- "i915.enable_rc6=1" "i915.enable_fbc=1"
+ "i915.enable_rc6=1"
+ "i915.enable_fbc=1"
"i915.lvds_use_ssc=0"
- "drm.debug=0" "drm.vblankoffdelay=1"
+ "drm.debug=0"
+ "drm.vblankoffdelay=1"
"kvm_intel.nested=1"
"intel_iommu=on"
];
@@ -39,10 +43,10 @@
acpid = {
enable = true;
lidEventCommands = ''
-if grep -q closed /proc/acpi/button/lid/LID/state; then
- date >> /tmp/i3lock.log
- DISPLAY=":0.0" XAUTHORITY=/home/fadenb/.Xauthority ${pkgs.i3lock}/bin/i3lock &>> /tmp/i3lock.log
-fi
+ if grep -q closed /proc/acpi/button/lid/LID/state; then
+ date >> /tmp/i3lock.log
+ DISPLAY=":0.0" XAUTHORITY=/home/fadenb/.Xauthority ${pkgs.i3lock}/bin/i3lock &>> /tmp/i3lock.log
+ fi
'';
};
tlp = {
@@ -51,22 +55,22 @@ fi
xserver = {
synaptics.enable = false;
config =
- ''
- Section "InputClass"
- Identifier "Enable libinput for TrackPoint"
- MatchIsPointer "on"
- Driver "libinput"
- Option "ScrollMethod" "button"
- Option "ScrollButton" "8"
- EndSection
- '';
+ ''
+ Section "InputClass"
+ Identifier "Enable libinput for TrackPoint"
+ MatchIsPointer "on"
+ Driver "libinput"
+ Option "ScrollMethod" "button"
+ Option "ScrollButton" "8"
+ EndSection
+ '';
inputClassSections = [
''
- Identifier "evdev touchpad off"
- MatchIsTouchpad "on"
- MatchDevicePath "/dev/input/event*"
- Driver "evdev"
- Option "Ignore" "true"
+ Identifier "evdev touchpad off"
+ MatchIsTouchpad "on"
+ MatchDevicePath "/dev/input/event*"
+ Driver "evdev"
+ Option "Ignore" "true"
''
];
};
machines/kerkouane.nixos.nix
@@ -9,7 +9,7 @@ with import ../assets/machines.nix; {
};
profiles = {
git.enable = true;
- nix-config.localCaches = [];
+ nix-config.localCaches = [ ];
nix-config.buildCores = 1;
ssh.enable = true;
syncthing.enable = true;
machines/okinawa.nixos.nix
@@ -34,25 +34,25 @@ with import ../assets/machines.nix; {
{
# home
name = "home";
- slaves = [];
+ slaves = [ ];
file = ../assets/db.home;
}
{
# home.reverse
name = "192.168.1.in-addr.arpa";
- slaves = [];
+ slaves = [ ];
file = ../assets/db.192.168.1;
}
{
# vpn
name = "vpn";
- slaves = [];
+ slaves = [ ];
file = ../assets/db.vpn;
}
{
# vpn.reverse
name = "10.100.0.in-addr.arpa";
- slaves = [];
+ slaves = [ ];
file = ../assets/db.10.100.0;
}
];
machines/sakhalin.nixos.nix
@@ -44,25 +44,25 @@ with import ../assets/machines.nix; {
{
# home
name = "home";
- slaves = [];
+ slaves = [ ];
file = ../assets/db.home;
}
{
# home.reverse
name = "192.168.1.in-addr.arpa";
- slaves = [];
+ slaves = [ ];
file = ../assets/db.192.168.1;
}
{
# vpn
name = "vpn";
- slaves = [];
+ slaves = [ ];
file = ../assets/db.vpn;
}
{
# vpn.reverse
name = "10.100.0.in-addr.arpa";
- slaves = [];
+ slaves = [ ];
file = ../assets/db.10.100.0;
}
];
machines/wakasu.nixos.nix
@@ -69,7 +69,7 @@ with import ../assets/machines.nix; {
syncthing.guiAddress = "0.0.0.0:8384";
smartd = {
enable = true;
- devices = [ { device = "/dev/nvme0n1"; } ];
+ devices = [{ device = "/dev/nvme0n1"; }];
};
wireguard = {
enable = true;
modules/hardware/sane-extra-config.nixos.nix
@@ -3,26 +3,24 @@
with lib;
let
cfg = config.hardware.sane;
-
- pkg = if cfg.snapshot
- then pkgs.sane-backends-git
- else pkgs.sane-backends;
-
+ pkg =
+ if cfg.snapshot
+ then pkgs.sane-backends-git
+ else pkgs.sane-backends;
backends = [ pkg ] ++ cfg.extraBackends;
-
saneConfig = pkgs.mkSaneConfig { paths = backends; };
-
- saneExtraConfig = pkgs.runCommand "sane-extra-config" {} ''
+ saneExtraConfig = pkgs.runCommand "sane-extra-config" { } ''
cp -Lr '${pkgs.mkSaneConfig { paths = [ pkgs.sane-backends ]; }}'/etc/sane.d $out
chmod +w $out
- ${concatMapStrings (
- c: ''
- f="$out/${c.name}.conf"
- [ ! -e "$f" ] || chmod +w "$f"
- cat ${builtins.toFile "" (c.value + "\n")} >>"$f"
- chmod -w "$f"
- ''
- ) (mapAttrsToList nameValuePair cfg.extraConfig)}
+ ${concatMapStrings
+ (
+ c: ''
+ f="$out/${c.name}.conf"
+ [ ! -e "$f" ] || chmod +w "$f"
+ cat ${builtins.toFile "" (c.value + "\n")} >>"$f"
+ chmod -w "$f"
+ ''
+ ) (mapAttrsToList nameValuePair cfg.extraConfig)}
chmod -w $out
'';
in
@@ -30,12 +28,12 @@ in
options = {
hardware.sane.extraConfig = mkOption {
type = types.attrsOf types.lines;
- default = {};
+ default = { };
example = { "some-backend" = "# some lines to add to its .conf"; };
};
};
- config = mkIf (cfg.enable && cfg.extraConfig != {}) {
+ config = mkIf (cfg.enable && cfg.extraConfig != { }) {
hardware.sane.configDir = saneExtraConfig.outPath;
};
}
modules/profiles/audio.nix
@@ -18,41 +18,42 @@ in
};
};
};
- config = mkIf cfg.enable (
- mkMerge [
- {
- services.shairport-sync.enable = cfg.shairport-sync;
- }
- (
- mkIf cfg.mpd.enable {
- services.mpd = {
- enable = true;
- musicDirectory = cfg.mpd.musicDir;
- network.listenAddress = "any";
- extraConfig = ''
- audio_output {
- type "pulse"
- name "Local MPD"
- }
- '';
- };
- services.mpdris2 = {
- enable = true;
- mpd.host = "127.0.0.1";
- };
- home.packages = with pkgs; [
- mpc_cli
- ncmpcpp
- ];
+ config = mkIf cfg.enable
+ (
+ mkMerge [
+ {
+ services.shairport-sync.enable = cfg.shairport-sync;
}
- )
- (
- mkIf (cfg.mpd.enable && config.profiles.desktop.enable) {
- home.packages = with pkgs; [
- ario
- ];
- }
- )
- ]
- );
+ (
+ mkIf cfg.mpd.enable {
+ services.mpd = {
+ enable = true;
+ musicDirectory = cfg.mpd.musicDir;
+ network.listenAddress = "any";
+ extraConfig = ''
+ audio_output {
+ type "pulse"
+ name "Local MPD"
+ }
+ '';
+ };
+ services.mpdris2 = {
+ enable = true;
+ mpd.host = "127.0.0.1";
+ };
+ home.packages = with pkgs; [
+ mpc_cli
+ ncmpcpp
+ ];
+ }
+ )
+ (
+ mkIf (cfg.mpd.enable && config.profiles.desktop.enable) {
+ home.packages = with pkgs; [
+ ario
+ ];
+ }
+ )
+ ]
+ );
}
modules/profiles/desktop.nix
@@ -3,7 +3,6 @@
with lib;
let
cfg = config.profiles.desktop;
-
dim-screen = pkgs.writeScript "dim-sreen.sh" ''
#!${pkgs.stdenv.shell}
export PATH=${lib.getBin pkgs.xlibs.xbacklight}/bin:$PATH
modules/profiles/dev.java.nix
@@ -16,20 +16,21 @@ in
idea = mkEnableOption "Install intellij idea";
};
};
- config = mkIf cfg.enable (
- mkMerge [
- {
- profiles.dev.enable = true;
- home.packages = with pkgs; [
- cfg.javaPackage
- gradle
- ];
- }
- (
- mkIf cfg.idea {
- home.packages = with pkgs; [ jetbrains.idea-ultimate ];
+ config = mkIf cfg.enable
+ (
+ mkMerge [
+ {
+ profiles.dev.enable = true;
+ home.packages = with pkgs; [
+ cfg.javaPackage
+ gradle
+ ];
}
- )
- ]
- );
+ (
+ mkIf cfg.idea {
+ home.packages = with pkgs; [ jetbrains.idea-ultimate ];
+ }
+ )
+ ]
+ );
}
modules/profiles/dev.js.nix
@@ -10,24 +10,25 @@ in
enable = mkEnableOption "Enable js development profile";
};
};
- config = mkIf cfg.enable (
- mkMerge [
- {
- home.file.".npmrc".text = ''
- prefix = ${config.home.homeDirectory}/.local/npm
- '';
- home.packages = with pkgs; [
- nodejs-10_x
- yarn
- ];
- }
- (
- mkIf config.profiles.fish.enable {
- xdg.configFile."fish/conf.d/js.fish".text = ''
- set -gx PATH ${config.home.homeDirectory}/.local/npm/bin $PATH
+ config = mkIf cfg.enable
+ (
+ mkMerge [
+ {
+ home.file.".npmrc".text = ''
+ prefix = ${config.home.homeDirectory}/.local/npm
'';
+ home.packages = with pkgs; [
+ nodejs-10_x
+ yarn
+ ];
}
- )
- ]
- );
+ (
+ mkIf config.profiles.fish.enable {
+ xdg.configFile."fish/conf.d/js.fish".text = ''
+ set -gx PATH ${config.home.homeDirectory}/.local/npm/bin $PATH
+ '';
+ }
+ )
+ ]
+ );
}
modules/profiles/dev.nix
@@ -10,50 +10,51 @@ in
enable = mkEnableOption "Enable development profile";
};
};
- config = mkIf cfg.enable (
- mkMerge [
- {
- profiles.git.enable = true;
- profiles.emacs.enable = true;
- home.file.".ignore".text = ''
- *.swp
- *~
- **/VENDOR-LICENSE
- '';
- xdg.configFile."mr".source = ./assets/lib.mr;
- home.file."src/.mrconfig".source = ./assets/src.mr;
- home.file."src/knative.dev/.mrconfig".source = ./assets/src.knative.dev.mr;
- home.file."src/github.com/.mrconfig".source = ./assets/src.github.mr;
- home.file."src/github.com/openshift/.mrconfig".source = ./assets/src.github.openshift.mr;
- home.file."src/pkgs.devel.redhat.com/.mrconfig".source = ./assets/src.pkgs.devel.redhat.mr;
- home.packages = with pkgs;
- [
- binutils
- cmake
- fswatch
- gnumake
- jq
- mercurial
- niv
- ripgrep
- shfmt
- ];
- xdg.configFile."nr/dev" = {
- text = builtins.toJSON [
- { cmd = "yq"; }
- { cmd = "lnav"; }
- { cmd = "miniserve"; }
- { cmd = "licensor"; }
- { cmd = "nix-review"; }
- { cmd = "yamllint"; pkg = "python37Packages.yamllint"; }
- { cmd = "nix-prefetch-git"; pkg = "nix-prefetch-scripts"; }
- { cmd = "nix-prefetch-hg"; pkg = "nix-prefetch-scripts"; }
- { cmd = "http"; pkg = "httpie"; }
- ];
- onChange = "${pkgs.my.nr}/bin/nr dev";
- };
- services.lorri.enable = true;
- }
- ]
- );
+ config = mkIf cfg.enable
+ (
+ mkMerge [
+ {
+ profiles.git.enable = true;
+ profiles.emacs.enable = true;
+ home.file.".ignore".text = ''
+ *.swp
+ *~
+ **/VENDOR-LICENSE
+ '';
+ xdg.configFile."mr".source = ./assets/lib.mr;
+ home.file."src/.mrconfig".source = ./assets/src.mr;
+ home.file."src/knative.dev/.mrconfig".source = ./assets/src.knative.dev.mr;
+ home.file."src/github.com/.mrconfig".source = ./assets/src.github.mr;
+ home.file."src/github.com/openshift/.mrconfig".source = ./assets/src.github.openshift.mr;
+ home.file."src/pkgs.devel.redhat.com/.mrconfig".source = ./assets/src.pkgs.devel.redhat.mr;
+ home.packages = with pkgs;
+ [
+ binutils
+ cmake
+ fswatch
+ gnumake
+ jq
+ mercurial
+ niv
+ ripgrep
+ shfmt
+ ];
+ xdg.configFile."nr/dev" = {
+ text = builtins.toJSON [
+ { cmd = "yq"; }
+ { cmd = "lnav"; }
+ { cmd = "miniserve"; }
+ { cmd = "licensor"; }
+ { cmd = "nix-review"; }
+ { cmd = "yamllint"; pkg = "python37Packages.yamllint"; }
+ { cmd = "nix-prefetch-git"; pkg = "nix-prefetch-scripts"; }
+ { cmd = "nix-prefetch-hg"; pkg = "nix-prefetch-scripts"; }
+ { cmd = "http"; pkg = "httpie"; }
+ ];
+ onChange = "${pkgs.my.nr}/bin/nr dev";
+ };
+ services.lorri.enable = true;
+ }
+ ]
+ );
}
modules/profiles/dev.rust.nix
@@ -10,22 +10,23 @@ in
enable = mkEnableOption "Enable rust development profile";
};
};
- config = mkIf cfg.enable (
- mkMerge [
- {
- profiles.dev.enable = true;
- home.packages = with pkgs; [
- gcc
- rustup
- ];
- }
- (
- mkIf config.profiles.emacs.enable {
+ config = mkIf cfg.enable
+ (
+ mkMerge [
+ {
+ profiles.dev.enable = true;
home.packages = with pkgs; [
- rustracer
+ gcc
+ rustup
];
}
- )
- ]
- );
+ (
+ mkIf config.profiles.emacs.enable {
+ home.packages = with pkgs; [
+ rustracer
+ ];
+ }
+ )
+ ]
+ );
}
modules/profiles/direnv.nix
@@ -14,38 +14,39 @@ in
};
};
};
- config = mkIf cfg.enable (
- mkMerge [
- {
- programs.direnv = {
- enable = true;
- config = {
- whitelist = {
- prefix = [
- "${config.home.homeDirectory}/src/github.com/knative"
- "${config.home.homeDirectory}/src/github.com/openshift"
- "${config.home.homeDirectory}/src/github.com/tektoncd"
- "${config.home.homeDirectory}/src/github.com/vdemeester"
- ];
+ config = mkIf cfg.enable
+ (
+ mkMerge [
+ {
+ programs.direnv = {
+ enable = true;
+ config = {
+ whitelist = {
+ prefix = [
+ "${config.home.homeDirectory}/src/github.com/knative"
+ "${config.home.homeDirectory}/src/github.com/openshift"
+ "${config.home.homeDirectory}/src/github.com/tektoncd"
+ "${config.home.homeDirectory}/src/github.com/vdemeester"
+ ];
+ };
};
};
- };
- }
- (
- mkIf config.profiles.fish.enable {
- programs.direnv.enableFishIntegration = true;
}
- )
- (
- mkIf config.profiles.zsh.enable {
- programs.direnv.enableZshIntegration = true;
- }
- )
- (
- mkIf config.profiles.bash.enable {
- programs.direnv.enableBashIntegration = true;
- }
- )
- ]
- );
+ (
+ mkIf config.profiles.fish.enable {
+ programs.direnv.enableFishIntegration = true;
+ }
+ )
+ (
+ mkIf config.profiles.zsh.enable {
+ programs.direnv.enableZshIntegration = true;
+ }
+ )
+ (
+ mkIf config.profiles.bash.enable {
+ programs.direnv.enableBashIntegration = true;
+ }
+ )
+ ]
+ );
}
modules/profiles/docker.nix
@@ -10,24 +10,25 @@ in
enable = mkEnableOption "Enable docker profile";
};
};
- config = mkIf cfg.enable (
- mkMerge [
- {
- home.packages = with pkgs; [
- docker
- docker-machine
- docker-machine-kvm
- docker-machine-kvm2
- docker-compose
- ];
- }
- (
- mkIf config.profiles.fish.enable {
- xdg.configFile."fish/conf.d/docker.fish".text = ''
- # set -gx DOCKER_BUILDKIT 1
- '';
+ config = mkIf cfg.enable
+ (
+ mkMerge [
+ {
+ home.packages = with pkgs; [
+ docker
+ docker-machine
+ docker-machine-kvm
+ docker-machine-kvm2
+ docker-compose
+ ];
}
- )
- ]
- );
+ (
+ mkIf config.profiles.fish.enable {
+ xdg.configFile."fish/conf.d/docker.fish".text = ''
+ # set -gx DOCKER_BUILDKIT 1
+ '';
+ }
+ )
+ ]
+ );
}
modules/profiles/emacs.nix
@@ -3,7 +3,6 @@
with lib;
let
cfg = config.profiles.emacs;
-
capture = pkgs.writeScriptBin "capture" ''
#!${pkgs.stdenv.shell}
emacsclient -s /run/user/1000/emacs/org -n -F '((name . "capture") (width . 150) (height . 90))' -e '(org-capture)'
@@ -27,172 +26,173 @@ in
};
};
};
- config = mkIf cfg.enable (
- mkMerge [
- {
- home.file.".local/share/applications/org-protocol.desktop".source = ./assets/xorg/org-protocol.desktop;
- home.file.".local/share/applications/ec.desktop".source = ./assets/xorg/ec.desktop;
- home.file.".local/share/applications/capture.desktop".source = ./assets/xorg/capture.desktop;
- home.packages = with pkgs; [
- ditaa
- graphviz
- pandoc
- zip
- hunspell
- hunspellDicts.en_US-large
- hunspellDicts.en_GB-ize
- hunspellDicts.fr-any
- nixpkgs-fmt
- ];
- home.sessionVariables = {
- EDITOR = "et";
- ALTERNATE_EDITOR = "et";
- };
- programs.emacs = {
- enable = true;
- package = pkgs.emacs27.override { inherit (pkgs) imagemagick; withXwidgets = cfg.withXwidgets; };
- extraPackages = epkgs: with epkgs; [
- ace-window
- aggressive-indent
- async
- avy
- bbdb
- beginend
- pkgs.bookmark-plus
- company
- company-emoji
- company-go
- dash
- delight
- dired-collapse
- dired-git-info
- dired-quick-sort
- dired-narrow
- dired-rsync
- pkgs.dired-plus
- direnv
- dockerfile-mode
- easy-kill
- esup
- expand-region
- flycheck
- flycheck-golangci-lint
- git-annex
- git-commit
- gitattributes-mode
- gitconfig-mode
- gitignore-mode
- github-review
- goto-last-change
- hardhat
- helpful
- highlight
- highlight-indentation
- highlight-numbers
- ibuffer-vc
- iedit
- json-mode
- markdown-mode
- #modus-operandi-theme
- #modus-vivendi-theme
- mpdel
- multiple-cursors
+ config = mkIf cfg.enable
+ (
+ mkMerge [
+ {
+ home.file.".local/share/applications/org-protocol.desktop".source = ./assets/xorg/org-protocol.desktop;
+ home.file.".local/share/applications/ec.desktop".source = ./assets/xorg/ec.desktop;
+ home.file.".local/share/applications/capture.desktop".source = ./assets/xorg/capture.desktop;
+ home.packages = with pkgs; [
+ ditaa
+ graphviz
+ pandoc
+ zip
+ hunspell
+ hunspellDicts.en_US-large
+ hunspellDicts.en_GB-ize
+ hunspellDicts.fr-any
nixpkgs-fmt
- no-littering
- ob-async
- ob-go
- ob-http
- orgit
- org-plus-contrib
- org-capture-pop-frame
- org-gcal
- org-ref
- org-super-agenda
- org-web-tools
- ox-pandoc
- pandoc-mode
- projectile
- projectile-ripgrep
- pdf-tools
- python-mode
- rainbow-delimiters
- rainbow-mode
- region-bindings-mode
- ripgrep
- rg
- try
- visual-fill-column
- visual-regexp
- web-mode
- wgrep
- with-editor
- xterm-color
- yaml-mode
- darkroom
- eshell-prompt-extras
- esh-autosuggest
- forge
- go-mode
- magit
- magit-annex
- magit-popup
- minions
- moody
- mwim
- nix-buffer
- nix-mode
- org-super-agenda
- org-tree-slide
- shr-tag-pre-highlight
- ssh-config-mode
- smartparens
- symbol-overlay
- undo-tree
- use-package
- # Highly experimental
- vterm
- gotest
];
- };
- }
- (
- mkIf config.profiles.emacs.capture {
- home.packages = with pkgs; [ wmctrl capture ];
- }
- )
- (
- mkIf config.services.gpg-agent.enable {
- #services.gpg-agent.extraConfig = ''
- # allow-emacs-pinentry
- #'';
- }
- )
- (
- mkIf cfg.texlive {
- home.packages = with pkgs; [ texlive.combined.scheme-full ];
- }
- )
- (
- mkIf cfg.daemonService {
- systemd.user.services.emacs = {
- Unit = {
- Description = "Emacs: the extensible, self-documenting text editor";
- };
- Service = {
- Environment = ''
- PATH=${config.home.homeDirectory}/.nix-profile/bin:${config.home.homeDirectory}/.local/npm/bin:/run/wrappers/bin:/etc/profiles/per-user/vincent/bin:${config.home.profileDirectory}/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:/usr/share/Modules/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:${config.home.homeDirectory}/bin GOPATH=${config.home.homeDirectory} NIX_PATH=${config.home.homeDirectory}/.nix-defexpr/channels:nixpkgs=/home/vincent/.nix-defexpr/channels/nixpkgs ASPELL_CONF=dict-dir=${config.home.homeDirectory}/.nix-profile/lib/aspell SSH_AUTH_SOCK=/run/user/1000/gnupg/S.gpg-agent.ssh NIX_SSL_CERT_FILE=/etc/ssl/certs/ca-bundle.crt
- '';
- Type = "forking";
- ExecStart = "${pkgs.bash}/bin/bash -c 'source /etc/profile; exec ${config.home.homeDirectory}/.nix-profile/bin/emacs --dump-file=${config.home.homeDirectory}/.config/emacs/emacs.pdmp --daemon=org'";
- ExecStop = "${config.home.homeDirectory}/.nix-profile/bin/emacsclient --eval (kill-emacs)";
- Restart = "always";
- };
- Install = {
- WantedBy = [ "default.target" ];
- };
+ home.sessionVariables = {
+ EDITOR = "et";
+ ALTERNATE_EDITOR = "et";
+ };
+ programs.emacs = {
+ enable = true;
+ package = pkgs.emacs27.override { inherit (pkgs) imagemagick; withXwidgets = cfg.withXwidgets; };
+ extraPackages = epkgs: with epkgs; [
+ ace-window
+ aggressive-indent
+ async
+ avy
+ bbdb
+ beginend
+ pkgs.bookmark-plus
+ company
+ company-emoji
+ company-go
+ dash
+ delight
+ dired-collapse
+ dired-git-info
+ dired-quick-sort
+ dired-narrow
+ dired-rsync
+ pkgs.dired-plus
+ direnv
+ dockerfile-mode
+ easy-kill
+ esup
+ expand-region
+ flycheck
+ flycheck-golangci-lint
+ git-annex
+ git-commit
+ gitattributes-mode
+ gitconfig-mode
+ gitignore-mode
+ github-review
+ goto-last-change
+ hardhat
+ helpful
+ highlight
+ highlight-indentation
+ highlight-numbers
+ ibuffer-vc
+ iedit
+ json-mode
+ markdown-mode
+ #modus-operandi-theme
+ #modus-vivendi-theme
+ mpdel
+ multiple-cursors
+ nixpkgs-fmt
+ no-littering
+ ob-async
+ ob-go
+ ob-http
+ orgit
+ org-plus-contrib
+ org-capture-pop-frame
+ org-gcal
+ org-ref
+ org-super-agenda
+ org-web-tools
+ ox-pandoc
+ pandoc-mode
+ projectile
+ projectile-ripgrep
+ pdf-tools
+ python-mode
+ rainbow-delimiters
+ rainbow-mode
+ region-bindings-mode
+ ripgrep
+ rg
+ try
+ visual-fill-column
+ visual-regexp
+ web-mode
+ wgrep
+ with-editor
+ xterm-color
+ yaml-mode
+ darkroom
+ eshell-prompt-extras
+ esh-autosuggest
+ forge
+ go-mode
+ magit
+ magit-annex
+ magit-popup
+ minions
+ moody
+ mwim
+ nix-buffer
+ nix-mode
+ org-super-agenda
+ org-tree-slide
+ shr-tag-pre-highlight
+ ssh-config-mode
+ smartparens
+ symbol-overlay
+ undo-tree
+ use-package
+ # Highly experimental
+ vterm
+ gotest
+ ];
};
}
- )
- ]
- );
+ (
+ mkIf config.profiles.emacs.capture {
+ home.packages = with pkgs; [ wmctrl capture ];
+ }
+ )
+ (
+ mkIf config.services.gpg-agent.enable {
+ #services.gpg-agent.extraConfig = ''
+ # allow-emacs-pinentry
+ #'';
+ }
+ )
+ (
+ mkIf cfg.texlive {
+ home.packages = with pkgs; [ texlive.combined.scheme-full ];
+ }
+ )
+ (
+ mkIf cfg.daemonService {
+ systemd.user.services.emacs = {
+ Unit = {
+ Description = "Emacs: the extensible, self-documenting text editor";
+ };
+ Service = {
+ Environment = ''
+ PATH=${config.home.homeDirectory}/.nix-profile/bin:${config.home.homeDirectory}/.local/npm/bin:/run/wrappers/bin:/etc/profiles/per-user/vincent/bin:${config.home.profileDirectory}/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:/usr/share/Modules/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:${config.home.homeDirectory}/bin GOPATH=${config.home.homeDirectory} NIX_PATH=${config.home.homeDirectory}/.nix-defexpr/channels:nixpkgs=/home/vincent/.nix-defexpr/channels/nixpkgs ASPELL_CONF=dict-dir=${config.home.homeDirectory}/.nix-profile/lib/aspell SSH_AUTH_SOCK=/run/user/1000/gnupg/S.gpg-agent.ssh NIX_SSL_CERT_FILE=/etc/ssl/certs/ca-bundle.crt
+ '';
+ Type = "forking";
+ ExecStart = "${pkgs.bash}/bin/bash -c 'source /etc/profile; exec ${config.home.homeDirectory}/.nix-profile/bin/emacs --dump-file=${config.home.homeDirectory}/.config/emacs/emacs.pdmp --daemon=org'";
+ ExecStop = "${config.home.homeDirectory}/.nix-profile/bin/emacsclient --eval (kill-emacs)";
+ Restart = "always";
+ };
+ Install = {
+ WantedBy = [ "default.target" ];
+ };
+ };
+ }
+ )
+ ]
+ );
}
modules/profiles/git.nix
@@ -11,212 +11,213 @@ in
enable = mkEnableOption "Enable git profile";
};
};
- config = mkIf cfg.enable (
- mkMerge [
- {
- home.packages = with pkgs; [
- gist
- git-lfs
- gitAndTools.git-annex
- gitAndTools.hub
- mr
- my.prm
- my.ape
- ];
- programs.git = {
- enable = true;
- package = pkgs.gitAndTools.gitFull;
+ config = mkIf cfg.enable
+ (
+ mkMerge [
+ {
+ home.packages = with pkgs; [
+ gist
+ git-lfs
+ gitAndTools.git-annex
+ gitAndTools.hub
+ mr
+ my.prm
+ my.ape
+ ];
+ programs.git = {
+ enable = true;
+ package = pkgs.gitAndTools.gitFull;
- userName = "Vincent Demeester";
- userEmail = "vincent@sbr.pm";
+ userName = "Vincent Demeester";
+ userEmail = "vincent@sbr.pm";
- signing = {
- key = "6EB699A3";
- signByDefault = false;
+ signing = {
+ key = "6EB699A3";
+ signByDefault = false;
+ };
+
+ aliases = {
+ b = "branch --color -v";
+ br = "branch";
+ ci = "commit --signoff";
+ co = "checkout";
+ conflicts = "!git ls-files --unmerged | cut -c51- | sort -u | xargs $EDITOR";
+ ca = "commit --amend";
+ wdiff = "diff --color-words";
+ 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";
+ ls-ignored = "ls-files --exclude-standard --ignored --others";
+ resolve = "!git ls-files --unmerged | cut -c51- | sort -u | xargs git add";
+ su = "submodule update --init --recursive";
+ st = "status";
+ w = "status -sb";
+ };
+ attributes = [
+ "*.org diff=org"
+ ];
+ extraConfig = {
+ core = {
+ editor = "${pkgs.emacs}/bin/emacsclient -t";
+ };
+ color = {
+ status = "auto";
+ diff = "auto";
+ branch = "auto";
+ interactive = "auto";
+ ui = "auto";
+ sh = "auto";
+ };
+ "color.branch" = {
+ current = "cyan reverse";
+ local = "cyan";
+ remote = "green";
+ };
+ "color.diff" = {
+ current = "white reverse";
+ frag = "magenta reverse";
+ old = "red";
+ new = "green";
+ };
+ "color.status" = {
+ added = "green";
+ changed = "yellow";
+ untracked = "red";
+ };
+ "diff.org" = {
+ xfuncname = "\"^\\\\*+.*\"";
+ };
+ forge = {
+ remote = "upstream";
+ };
+ hub = {
+ protocol = true;
+ };
+ pull = {
+ rebase = true;
+ };
+ push = {
+ default = "upstream";
+ recurseSubmodules = "check";
+ };
+ rebase = {
+ autosquash = true;
+ };
+ advice = {
+ statusHints = false;
+ pushNonFastForward = false;
+ };
+ http = {
+ sslCAinfo = "${ca-bundle_crt}";
+ sslverify = true;
+ };
+ github.user = "vdemeester";
+ "filter \"lfs\"" = {
+ clean = "${pkgs.git-lfs}/bin/git-lfs clean -- %f";
+ smudge = "${pkgs.git-lfs}/bin/git-lfs smudge --skip -- %f";
+ required = true;
+ };
+ "url \"git@github.com:\"".insteadOf = "git://github.com/";
+ };
+
+ includes = [
+ {
+ path = "${config.xdg.configHome}/git/config.d/redhat.gitconfig";
+ condition = "gitdir:${config.home.homeDirectory}/src/github.com/kubernetes/";
+ }
+ {
+ path = "${config.xdg.configHome}/git/config.d/redhat.gitconfig";
+ condition = "gitdir:${config.home.homeDirectory}/src/k8s.io/";
+ }
+ {
+ path = "${config.xdg.configHome}/git/config.d/redhat.gitconfig";
+ condition = "gitdir:${config.home.homeDirectory}/src/github.com/knative/";
+ }
+ {
+ path = "${config.xdg.configHome}/git/config.d/redhat.gitconfig";
+ condition = "gitdir:${config.home.homeDirectory}/src/github.com/tektoncd/";
+ }
+ {
+ path = "${config.xdg.configHome}/git/config.d/redhat.gitconfig";
+ condition = "gitdir/i:${config.home.homeDirectory}/src/github.com/google**";
+ }
+ {
+ path = "${config.xdg.configHome}/git/config.d/redhat.gitconfig";
+ condition = "gitdir:${config.home.homeDirectory}/src/k8s.io/";
+ }
+ {
+ path = "${config.xdg.configHome}/git/config.d/redhat.gitconfig";
+ condition = "gitdir:${config.home.homeDirectory}/src/github.com/minishift/";
+ }
+ {
+ path = "${config.xdg.configHome}/git/config.d/redhat.gitconfig";
+ condition = "gitdir:${config.home.homeDirectory}/src/github.com/operator-framework/";
+ }
+ {
+ path = "${config.xdg.configHome}/git/config.d/redhat.gitconfig";
+ condition = "gitdir:${config.home.homeDirectory}/src/github.com/openshift**";
+ }
+ {
+ path = "${config.xdg.configHome}/git/config.d/redhat.gitconfig";
+ condition = "gitdir:${config.home.homeDirectory}/src/github.com/redhat**";
+ }
+ {
+ path = "${config.xdg.configHome}/git/config.d/redhat.gitconfig";
+ condition = "gitdir:${config.home.homeDirectory}/src/github.com/containers/";
+ }
+ {
+ path = "${config.xdg.configHome}/git/config.d/redhat.gitconfig";
+ condition = "gitdir:${config.home.homeDirectory}/src/gitlab.cee.redhat.com/";
+ }
+ {
+ path = "${config.xdg.configHome}/git/config.d/redhat.gitconfig";
+ condition = "gitdir:${config.home.homeDirectory}/src/gitlab.corp.redhat.com/";
+ }
+ {
+ path = "${config.xdg.configHome}/git/config.d/redhat.gitconfig";
+ condition = "gitdir:${config.home.homeDirectory}/src/pkg.devel.redhat.com/";
+ }
+ ];
+ ignores = [
+ "*.elc"
+ "*.vo"
+ "*.aux"
+ "*.v.d"
+ "*.o"
+ "*.a"
+ "*.la"
+ "*.so"
+ "*.dylib"
+ "*.pyc"
+ "*.pyo"
+ ".idea"
+ "*.iml"
+ "*~"
+ "#*#"
+ ".makefile"
+ ".clean"
+ ];
};
-
- aliases = {
- b = "branch --color -v";
- br = "branch";
- ci = "commit --signoff";
- co = "checkout";
- conflicts = "!git ls-files --unmerged | cut -c51- | sort -u | xargs $EDITOR";
- ca = "commit --amend";
- wdiff = "diff --color-words";
- 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";
- ls-ignored = "ls-files --exclude-standard --ignored --others";
- resolve = "!git ls-files --unmerged | cut -c51- | sort -u | xargs git add";
- su = "submodule update --init --recursive";
- st = "status";
- w = "status -sb";
- };
- attributes = [
- "*.org diff=org"
- ];
- extraConfig = {
- core = {
- editor = "${pkgs.emacs}/bin/emacsclient -t";
- };
- color = {
- status = "auto";
- diff = "auto";
- branch = "auto";
- interactive = "auto";
- ui = "auto";
- sh = "auto";
- };
- "color.branch" = {
- current = "cyan reverse";
- local = "cyan";
- remote = "green";
- };
- "color.diff" = {
- current = "white reverse";
- frag = "magenta reverse";
- old = "red";
- new = "green";
- };
- "color.status" = {
- added = "green";
- changed = "yellow";
- untracked = "red";
- };
- "diff.org" = {
- xfuncname = "\"^\\\\*+.*\"";
- };
- forge = {
- remote = "upstream";
- };
- hub = {
- protocol = true;
- };
- pull = {
- rebase = true;
- };
- push = {
- default = "upstream";
- recurseSubmodules = "check";
- };
- rebase = {
- autosquash = true;
- };
- advice = {
- statusHints = false;
- pushNonFastForward = false;
- };
- http = {
- sslCAinfo = "${ca-bundle_crt}";
- sslverify = true;
- };
- github.user = "vdemeester";
- "filter \"lfs\"" = {
- clean = "${pkgs.git-lfs}/bin/git-lfs clean -- %f";
- smudge = "${pkgs.git-lfs}/bin/git-lfs smudge --skip -- %f";
- required = true;
- };
- "url \"git@github.com:\"".insteadOf = "git://github.com/";
- };
-
- includes = [
- {
- path = "${config.xdg.configHome}/git/config.d/redhat.gitconfig";
- condition = "gitdir:${config.home.homeDirectory}/src/github.com/kubernetes/";
- }
- {
- path = "${config.xdg.configHome}/git/config.d/redhat.gitconfig";
- condition = "gitdir:${config.home.homeDirectory}/src/k8s.io/";
- }
- {
- path = "${config.xdg.configHome}/git/config.d/redhat.gitconfig";
- condition = "gitdir:${config.home.homeDirectory}/src/github.com/knative/";
- }
- {
- path = "${config.xdg.configHome}/git/config.d/redhat.gitconfig";
- condition = "gitdir:${config.home.homeDirectory}/src/github.com/tektoncd/";
- }
- {
- path = "${config.xdg.configHome}/git/config.d/redhat.gitconfig";
- condition = "gitdir/i:${config.home.homeDirectory}/src/github.com/google**";
- }
- {
- path = "${config.xdg.configHome}/git/config.d/redhat.gitconfig";
- condition = "gitdir:${config.home.homeDirectory}/src/k8s.io/";
- }
- {
- path = "${config.xdg.configHome}/git/config.d/redhat.gitconfig";
- condition = "gitdir:${config.home.homeDirectory}/src/github.com/minishift/";
- }
- {
- path = "${config.xdg.configHome}/git/config.d/redhat.gitconfig";
- condition = "gitdir:${config.home.homeDirectory}/src/github.com/operator-framework/";
- }
- {
- path = "${config.xdg.configHome}/git/config.d/redhat.gitconfig";
- condition = "gitdir:${config.home.homeDirectory}/src/github.com/openshift**";
- }
- {
- path = "${config.xdg.configHome}/git/config.d/redhat.gitconfig";
- condition = "gitdir:${config.home.homeDirectory}/src/github.com/redhat**";
- }
- {
- path = "${config.xdg.configHome}/git/config.d/redhat.gitconfig";
- condition = "gitdir:${config.home.homeDirectory}/src/github.com/containers/";
- }
- {
- path = "${config.xdg.configHome}/git/config.d/redhat.gitconfig";
- condition = "gitdir:${config.home.homeDirectory}/src/gitlab.cee.redhat.com/";
- }
- {
- path = "${config.xdg.configHome}/git/config.d/redhat.gitconfig";
- condition = "gitdir:${config.home.homeDirectory}/src/gitlab.corp.redhat.com/";
- }
- {
- path = "${config.xdg.configHome}/git/config.d/redhat.gitconfig";
- condition = "gitdir:${config.home.homeDirectory}/src/pkg.devel.redhat.com/";
- }
- ];
- ignores = [
- "*.elc"
- "*.vo"
- "*.aux"
- "*.v.d"
- "*.o"
- "*.a"
- "*.la"
- "*.so"
- "*.dylib"
- "*.pyc"
- "*.pyo"
- ".idea"
- "*.iml"
- "*~"
- "#*#"
- ".makefile"
- ".clean"
- ];
- };
- xdg.configFile."git/config.d/redhat.gitconfig".source = ./assets/git/redhat.gitconfig;
- xdg.configFile."nr/git" = {
- text = builtins.toJSON [
- { cmd = "tig"; }
- { cmd = "grv"; pkg = "gitAndTools.grv"; }
- { cmd = "git-appraise"; pkg = "gitAndTools.git-appraise"; chan = "unstable"; }
- ];
- onChange = "${pkgs.my.nr}/bin/nr git";
- };
- }
- (
- mkIf config.profiles.fish.enable {
- programs.fish.shellAbbrs = {
- gs = "git status";
- gb = "git b";
- gfr = "git fetch -p --all;and git rebase -S --autostash";
+ xdg.configFile."git/config.d/redhat.gitconfig".source = ./assets/git/redhat.gitconfig;
+ xdg.configFile."nr/git" = {
+ text = builtins.toJSON [
+ { cmd = "tig"; }
+ { cmd = "grv"; pkg = "gitAndTools.grv"; }
+ { cmd = "git-appraise"; pkg = "gitAndTools.git-appraise"; chan = "unstable"; }
+ ];
+ onChange = "${pkgs.my.nr}/bin/nr git";
};
}
- )
- ]
- );
+ (
+ mkIf config.profiles.fish.enable {
+ programs.fish.shellAbbrs = {
+ gs = "git status";
+ gb = "git b";
+ gfr = "git fetch -p --all;and git rebase -S --autostash";
+ };
+ }
+ )
+ ]
+ );
}
modules/profiles/i3.nix
@@ -141,7 +141,7 @@ in
"Mod4+Shift+39" = "exec ~/.screenlayout/home-work.sh && systemctl --user start random-background.service";
"Mod4+24" = "border toggle";
};
- modes = {};
+ modes = { };
bars = [
{
mode = "hide";
modules/profiles/kubernetes.nix
@@ -26,65 +26,66 @@ in
};
};
};
- config = mkIf cfg.enable (
- mkMerge [
- {
- home.file.".local/share/applications/chos4.desktop".source = ../../assets/chos4.desktop;
- profiles.containers.enable = cfg.containers;
- home.packages = with pkgs; [
- #cri-tools
- kail
- kustomize
- kube-prompt
- kubectx
- my.oc
- #my.openshift-install
- my.operator-sdk
- my.ko
- my.kss
- my.kubernix
- ];
- }
- (
- mkIf cfg.nr {
- xdg.configFile."nr/kubernetes" = {
- text = builtins.toJSON [
- { cmd = "kubectl"; }
+ config = mkIf cfg.enable
+ (
+ mkMerge [
+ {
+ home.file.".local/share/applications/chos4.desktop".source = ../../assets/chos4.desktop;
+ profiles.containers.enable = cfg.containers;
+ home.packages = with pkgs; [
+ #cri-tools
+ kail
+ kustomize
+ kube-prompt
+ kubectx
+ my.oc
+ #my.openshift-install
+ my.operator-sdk
+ my.ko
+ my.kss
+ my.kubernix
+ ];
+ }
+ (
+ mkIf cfg.nr {
+ xdg.configFile."nr/kubernetes" = {
+ text = builtins.toJSON [
+ { cmd = "kubectl"; }
+ ];
+ onChange = "${pkgs.my.nr}/bin/nr -force kubernetes";
+ };
+ }
+ )
+ (
+ mkIf cfg.krew {
+ home.packages = with pkgs; [ my.krew ];
+ }
+ )
+ (
+ mkIf config.profiles.zsh.enable {
+ home.file."${config.programs.zsh.dotDir}/functions/_kubectl".source = ./assets/zsh/_kubectl;
+ }
+ )
+ (
+ mkIf cfg.minikube.enable {
+ home.packages = with pkgs; [
+ cfg.minikube.package
+ docker-machine-kvm2
];
- onChange = "${pkgs.my.nr}/bin/nr -force kubernetes";
- };
- }
- )
- (
- mkIf cfg.krew {
- home.packages = with pkgs; [ my.krew ];
- }
- )
- (
- mkIf config.profiles.zsh.enable {
- home.file."${config.programs.zsh.dotDir}/functions/_kubectl".source = ./assets/zsh/_kubectl;
- }
- )
- (
- mkIf cfg.minikube.enable {
- home.packages = with pkgs; [
- cfg.minikube.package
- docker-machine-kvm2
- ];
- }
- )
- (
- mkIf cfg.kind {
- home.packages = with pkgs; [
- kind
- ];
- }
- )
- (
- mkIf (!config.profiles.containers.openshift.enable) {
- home.packages = with pkgs; [ kubectl ];
- }
- )
- ]
- );
+ }
+ )
+ (
+ mkIf cfg.kind {
+ home.packages = with pkgs; [
+ kind
+ ];
+ }
+ )
+ (
+ mkIf (!config.profiles.containers.openshift.enable) {
+ home.packages = with pkgs; [ kubectl ];
+ }
+ )
+ ]
+ );
}
modules/profiles/mails.nix
@@ -20,193 +20,194 @@ in
};
};
- config = mkIf cfg.enable (
- mkMerge [
- {
+ config = mkIf cfg.enable
+ (
+ mkMerge [
+ {
- accounts.email = {
- maildirBasePath = "desktop/mails";
- accounts = {
- "redhat" = {
- address = "vdemeest@redhat.com";
- userName = "vdemeest@redhat.com";
- realName = "Vincent Demeester";
- passwordCommand = "${pkgs.gnupg}/bin/gpg -q --for-your-eyes-only --no-tty --exit-on-status-write-error --batch --passphrase-file ${config.home.homeDirectory}/sync/rh.pass -d ${config.home.homeDirectory}/desktop/documents/rh.pass.gpg";
- imap.host = "imap.gmail.com";
- smtp.host = "smtp.gmail.com";
- mbsync = {
- enable = true;
- create = "both";
- expunge = "both";
- patterns = [ "*" "![Gmail]*" "[Gmail]/Sent Mail" "[Gmail]/Starred" "[Gmail]/All Mail" ];
- extraConfig = {
- channel = {
- Sync = "All";
- };
- account = {
- Timeout = 120;
- PipelineDepth = 1;
+ accounts.email = {
+ maildirBasePath = "desktop/mails";
+ accounts = {
+ "redhat" = {
+ address = "vdemeest@redhat.com";
+ userName = "vdemeest@redhat.com";
+ realName = "Vincent Demeester";
+ passwordCommand = "${pkgs.gnupg}/bin/gpg -q --for-your-eyes-only --no-tty --exit-on-status-write-error --batch --passphrase-file ${config.home.homeDirectory}/sync/rh.pass -d ${config.home.homeDirectory}/desktop/documents/rh.pass.gpg";
+ imap.host = "imap.gmail.com";
+ smtp.host = "smtp.gmail.com";
+ mbsync = {
+ enable = true;
+ create = "both";
+ expunge = "both";
+ patterns = [ "*" "![Gmail]*" "[Gmail]/Sent Mail" "[Gmail]/Starred" "[Gmail]/All Mail" ];
+ extraConfig = {
+ channel = {
+ Sync = "All";
+ };
+ account = {
+ Timeout = 120;
+ PipelineDepth = 1;
+ };
};
};
+ notmuch.enable = cfg.sync;
+ astroid.enable = cfg.sync;
+ msmtp.enable = true;
};
- notmuch.enable = cfg.sync;
- astroid.enable = cfg.sync;
- msmtp.enable = true;
- };
- "perso" = {
- address = "vinc.demeester@gmail.com";
- userName = "vinc.demeester@gmail.com";
- realName = "Vincent Demeester";
- passwordCommand = "${pkgs.gnupg}/bin/gpg -q --for-your-eyes-only --no-tty --exit-on-status-write-error --batch --passphrase-file ${config.home.homeDirectory}/sync/perso.pass -d ${config.home.homeDirectory}/desktop/documents/perso.pass.gpg";
- imap.host = "imap.gmail.com";
- smtp.host = "smtp.gmail.com";
- mbsync = {
- enable = true;
- create = "both";
- expunge = "both";
- patterns = [ "*" "![Gmail]*" "[Gmail]/Sent Mail" "[Gmail]/Starred" "[Gmail]/All Mail" ];
- extraConfig = {
- channel = {
- Sync = "All";
- };
- account = {
- Timeout = 120;
- PipelineDepth = 1;
+ "perso" = {
+ address = "vinc.demeester@gmail.com";
+ userName = "vinc.demeester@gmail.com";
+ realName = "Vincent Demeester";
+ passwordCommand = "${pkgs.gnupg}/bin/gpg -q --for-your-eyes-only --no-tty --exit-on-status-write-error --batch --passphrase-file ${config.home.homeDirectory}/sync/perso.pass -d ${config.home.homeDirectory}/desktop/documents/perso.pass.gpg";
+ imap.host = "imap.gmail.com";
+ smtp.host = "smtp.gmail.com";
+ mbsync = {
+ enable = true;
+ create = "both";
+ expunge = "both";
+ patterns = [ "*" "![Gmail]*" "[Gmail]/Sent Mail" "[Gmail]/Starred" "[Gmail]/All Mail" ];
+ extraConfig = {
+ channel = {
+ Sync = "All";
+ };
+ account = {
+ Timeout = 120;
+ PipelineDepth = 1;
+ };
};
};
+ notmuch.enable = cfg.sync;
+ astroid.enable = cfg.sync;
+ msmtp.enable = true;
};
- notmuch.enable = cfg.sync;
- astroid.enable = cfg.sync;
- msmtp.enable = true;
- };
- "prv" = {
- primary = true;
- address = "vincent@demeester.fr";
- userName = "vincent@demeester.fr";
- realName = "Vincent Demeester";
- passwordCommand = "${pkgs.gnupg}/bin/gpg -q --for-your-eyes-only --no-tty --exit-on-status-write-error --batch --passphrase-file ${config.home.homeDirectory}/sync/prv.pass -d ${config.home.homeDirectory}/desktop/documents/prv.pass.gpg";
- imap.host = "mail.gandi.net";
- smtp.host = "mail.gandi.net";
- mbsync = {
- enable = true;
- create = "both";
- expunge = "both";
- patterns = [ "*" ];
- extraConfig = {
- channel = {
- Sync = "All";
- };
- account = {
- Timeout = 120;
- PipelineDepth = 1;
+ "prv" = {
+ primary = true;
+ address = "vincent@demeester.fr";
+ userName = "vincent@demeester.fr";
+ realName = "Vincent Demeester";
+ passwordCommand = "${pkgs.gnupg}/bin/gpg -q --for-your-eyes-only --no-tty --exit-on-status-write-error --batch --passphrase-file ${config.home.homeDirectory}/sync/prv.pass -d ${config.home.homeDirectory}/desktop/documents/prv.pass.gpg";
+ imap.host = "mail.gandi.net";
+ smtp.host = "mail.gandi.net";
+ mbsync = {
+ enable = true;
+ create = "both";
+ expunge = "both";
+ patterns = [ "*" ];
+ extraConfig = {
+ channel = {
+ Sync = "All";
+ };
+ account = {
+ Timeout = 120;
+ PipelineDepth = 1;
+ };
};
};
+ notmuch.enable = cfg.sync;
+ astroid.enable = cfg.sync;
+ msmtp.enable = true;
};
- notmuch.enable = cfg.sync;
- astroid.enable = cfg.sync;
- msmtp.enable = true;
};
};
- };
- home.file."bin/msmtp" = {
- text = ''
- #!${pkgs.stdenv.shell}
- ${pkgs.libnotify}/bin/notify-send "Sending mail ✉️"
- ${pkgs.msmtp}/bin/msmtp --read-envelope-from $@
- '';
- executable = true;
- };
-
- programs.msmtp.enable = true;
-
- }
-
- (
- mkIf cfg.sync {
-
- services.mbsync = {
- enable = true;
- preExec = "${config.xdg.configHome}/mbsync/preExec";
- postExec = "${config.xdg.configHome}/mbsync/postExec";
- frequency = cfg.frequency;
- };
-
- xdg.configFile."mbsync/preExec" = {
+ home.file."bin/msmtp" = {
text = ''
#!${pkgs.stdenv.shell}
-
- export NOTMUCH_CONFIG=${config.xdg.configHome}/notmuch/notmuchrc
- export NMBGIT=${config.xdg.dataHome}/notmuch/nmbug
-
- ${pkgs.coreutils}/bin/mkdir -p ${config.home.homeDirectory}/desktop/mails/redhat ${config.home.homeDirectory}/desktop/mails/perso
- ${pkgs.afew}/bin/afew -C ${config.xdg.configHome}/notmuch/notmuchrc -m -v
+ ${pkgs.libnotify}/bin/notify-send "Sending mail ✉️"
+ ${pkgs.msmtp}/bin/msmtp --read-envelope-from $@
'';
executable = true;
};
- xdg.configFile."mbsync/postExec" = {
- text = ''
- #!${pkgs.stdenv.shell}
-
- export NOTMUCH_CONFIG=${config.xdg.configHome}/notmuch/notmuchrc
- export NMBGIT=${config.xdg.dataHome}/notmuch/nmbug
-
- ${pkgs.notmuch}/bin/notmuch new
- ${pkgs.afew}/bin/afew -C ${config.xdg.configHome}/notmuch/notmuchrc --tag --new -v
- # Remove inbox (lower-case)
- ${pkgs.notmuch}/bin/notmuch tag -inbox -- tag:inbox
- # Remove Inbox tagged message that are not in an Inbox
- ${pkgs.notmuch}/bin/notmuch tag -Inbox -- not folder:redhat/Inbox and not folder:perso/Inbox and tag:Inbox
- ${pkgs.libnotify}/bin/notify-send "Mails synced 📬"
- '';
- executable = true;
- };
-
- home.file."bin/msync" = {
- text = ''
- #!${pkgs.stdenv.shell}
- ${pkgs.libnotify}/bin/notify-send "Syncing mails 📫️"
- systemctl --user start mbsync
- '';
- executable = true;
- };
-
- programs.mbsync.enable = true;
- programs.notmuch.enable = true;
-
- programs.afew = {
- enable = true;
- extraConfig = ''
- [SpamFilter]
- [KillThreadsFilter]
- [ListMailsFilter]
- [ArchiveSentMailsFilter]
- [FolderNameFilter]
- maildir_separator = /
-
- [MailMover]
- folders = perso/Inbox redhat/Inbox
- rename = true
-
- perso/Inbox = 'NOT tag:Inbox':"perso/[Gmail]/All Mail"
- redhat/Inbox = 'NOT tag:Inbox':"redhat/[Gmail]/All Mail"
- '';
- };
-
- programs.astroid = {
- enable = true;
- externalEditor = "emacsclient -c";
- extraConfig = {
- startup.queries.inbox = "tag:Inbox";
- startup.queries.inbox_perso = "folder:perso/Inbox";
- startup.queries.inbox_redhat = "folder:redhat/Inbox";
- };
- };
+ programs.msmtp.enable = true;
}
- )
- ]
- );
+ (
+ mkIf cfg.sync {
+
+ services.mbsync = {
+ enable = true;
+ preExec = "${config.xdg.configHome}/mbsync/preExec";
+ postExec = "${config.xdg.configHome}/mbsync/postExec";
+ frequency = cfg.frequency;
+ };
+
+ xdg.configFile."mbsync/preExec" = {
+ text = ''
+ #!${pkgs.stdenv.shell}
+
+ export NOTMUCH_CONFIG=${config.xdg.configHome}/notmuch/notmuchrc
+ export NMBGIT=${config.xdg.dataHome}/notmuch/nmbug
+
+ ${pkgs.coreutils}/bin/mkdir -p ${config.home.homeDirectory}/desktop/mails/redhat ${config.home.homeDirectory}/desktop/mails/perso
+ ${pkgs.afew}/bin/afew -C ${config.xdg.configHome}/notmuch/notmuchrc -m -v
+ '';
+ executable = true;
+ };
+
+ xdg.configFile."mbsync/postExec" = {
+ text = ''
+ #!${pkgs.stdenv.shell}
+
+ export NOTMUCH_CONFIG=${config.xdg.configHome}/notmuch/notmuchrc
+ export NMBGIT=${config.xdg.dataHome}/notmuch/nmbug
+
+ ${pkgs.notmuch}/bin/notmuch new
+ ${pkgs.afew}/bin/afew -C ${config.xdg.configHome}/notmuch/notmuchrc --tag --new -v
+ # Remove inbox (lower-case)
+ ${pkgs.notmuch}/bin/notmuch tag -inbox -- tag:inbox
+ # Remove Inbox tagged message that are not in an Inbox
+ ${pkgs.notmuch}/bin/notmuch tag -Inbox -- not folder:redhat/Inbox and not folder:perso/Inbox and tag:Inbox
+ ${pkgs.libnotify}/bin/notify-send "Mails synced 📬"
+ '';
+ executable = true;
+ };
+
+ home.file."bin/msync" = {
+ text = ''
+ #!${pkgs.stdenv.shell}
+ ${pkgs.libnotify}/bin/notify-send "Syncing mails 📫️"
+ systemctl --user start mbsync
+ '';
+ executable = true;
+ };
+
+ programs.mbsync.enable = true;
+ programs.notmuch.enable = true;
+
+ programs.afew = {
+ enable = true;
+ extraConfig = ''
+ [SpamFilter]
+ [KillThreadsFilter]
+ [ListMailsFilter]
+ [ArchiveSentMailsFilter]
+ [FolderNameFilter]
+ maildir_separator = /
+
+ [MailMover]
+ folders = perso/Inbox redhat/Inbox
+ rename = true
+
+ perso/Inbox = 'NOT tag:Inbox':"perso/[Gmail]/All Mail"
+ redhat/Inbox = 'NOT tag:Inbox':"redhat/[Gmail]/All Mail"
+ '';
+ };
+
+ programs.astroid = {
+ enable = true;
+ externalEditor = "emacsclient -c";
+ extraConfig = {
+ startup.queries.inbox = "tag:Inbox";
+ startup.queries.inbox_perso = "folder:perso/Inbox";
+ startup.queries.inbox_redhat = "folder:redhat/Inbox";
+ };
+ };
+
+ }
+ )
+
+ ]
+ );
}
modules/profiles/media.nix
@@ -10,16 +10,17 @@ in
enable = mkEnableOption "Enable media configuration";
};
};
- config = mkIf cfg.enable (
- mkMerge [
- {
- home.packages = with pkgs; [ youtube-dl ];
- }
- (
- mkIf config.profiles.desktop.enable {
- home.packages = with pkgs; [ spotify ];
+ config = mkIf cfg.enable
+ (
+ mkMerge [
+ {
+ home.packages = with pkgs; [ youtube-dl ];
}
- )
- ]
- );
+ (
+ mkIf config.profiles.desktop.enable {
+ home.packages = with pkgs; [ spotify ];
+ }
+ )
+ ]
+ );
}
modules/profiles/nix-auto-update.nixos.nix
@@ -29,37 +29,38 @@ in
};
};
};
- config = mkIf cfg.enable (
- mkMerge [
- {
- system = {
- stateVersion = cfg.version;
- };
- }
- (
- mkIf cfg.autoUpgrade {
- systemd.services.nixos-update = {
- description = "NixOS Upgrade";
- unitConfig.X-StopOnRemoval = false;
- restartIfChanged = false;
- serviceConfig.Type = "oneshot";
- environment = config.nix.envVars
- // {
- inherit (config.environment.sessionVariables) NIX_PATH;
- HOME = "/root";
- };
- path = [ pkgs.gnutar pkgs.xz pkgs.git pkgs.gnumake config.nix.package.out pkgs.commonsCompress ];
- script = ''
- export PATH=/run/current-system/sw/bin
- cd /etc/nixos/
- runuser -l vincent -c 'git pull --autostash --rebase'
- make update switch
- '';
- startAt = cfg.dates;
- onFailure = [ "status-email-root@%n.service" ];
+ config = mkIf cfg.enable
+ (
+ mkMerge [
+ {
+ system = {
+ stateVersion = cfg.version;
};
}
- )
- ]
- );
+ (
+ mkIf cfg.autoUpgrade {
+ systemd.services.nixos-update = {
+ description = "NixOS Upgrade";
+ unitConfig.X-StopOnRemoval = false;
+ restartIfChanged = false;
+ serviceConfig.Type = "oneshot";
+ environment = config.nix.envVars
+ // {
+ inherit (config.environment.sessionVariables) NIX_PATH;
+ HOME = "/root";
+ };
+ path = [ pkgs.gnutar pkgs.xz pkgs.git pkgs.gnumake config.nix.package.out pkgs.commonsCompress ];
+ script = ''
+ export PATH=/run/current-system/sw/bin
+ cd /etc/nixos/
+ runuser -l vincent -c 'git pull --autostash --rebase'
+ make update switch
+ '';
+ startAt = cfg.dates;
+ onFailure = [ "status-email-root@%n.service" ];
+ };
+ }
+ )
+ ]
+ );
}
modules/profiles/openshift.nix
@@ -23,24 +23,25 @@ in
};
};
};
- config = mkIf cfg.enable (
- mkMerge [
- {
- profiles.containers.kubernetes.enable = true;
- home.packages = with pkgs; [
- my.s2i
- cfg.package
- ];
- }
- (
- mkIf cfg.minishift.enable {
+ config = mkIf cfg.enable
+ (
+ mkMerge [
+ {
+ profiles.containers.kubernetes.enable = true;
home.packages = with pkgs; [
- cfg.minishift.package
- docker-machine-kvm
- docker-machine-kvm2
+ my.s2i
+ cfg.package
];
}
- )
- ]
- );
+ (
+ mkIf cfg.minishift.enable {
+ home.packages = with pkgs; [
+ cfg.minishift.package
+ docker-machine-kvm
+ docker-machine-kvm2
+ ];
+ }
+ )
+ ]
+ );
}
modules/profiles/qemu.nixos.nix
@@ -29,7 +29,7 @@ in
nix.supportedPlatforms = mkOption {
type = types.listOf types.str;
description = "extra platforms that nix will run binaries for";
- default = [];
+ default = [ ];
};
};
config = mkIf (cfg.arm || cfg.aarch64) {
@@ -41,7 +41,7 @@ in
// optionalAttrs cfg.aarch64 { inherit aarch64; }
// optionalAttrs cfg.riscv64 { inherit riscv64; };
nix.supportedPlatforms = (optionals cfg.arm [ "armv6l-linux" "armv7l-linux" ])
- ++ (optional cfg.aarch64 "aarch64-linux");
+ ++ (optional cfg.aarch64 "aarch64-linux");
nix.extraOptions = ''
extra-platforms = ${toString config.nix.supportedPlatforms} i686-linux
'';
modules/profiles/ssh.nix
@@ -13,7 +13,7 @@ in
type = types.bool;
};
machines = mkOption {
- default = {};
+ default = { };
type = types.attrs;
};
};
modules/profiles/users.nixos.nix
@@ -28,15 +28,15 @@ in
uid = 1000;
createHome = true;
extraGroups = [ "wheel" "input" ] ++ optionals config.profiles.desktop.enable [ "audio" "video" "lp" "scanner" "networkmanager" ]
- ++ optionals config.profiles.docker.enable [ "docker" ]
- ++ optionals config.profiles.buildkit.enable [ "buildkit" ]
- ++ optionals config.profiles.virtualization.enable [ "libvirtd" "vboxusers" ];
+ ++ optionals config.profiles.docker.enable [ "docker" ]
+ ++ optionals config.profiles.buildkit.enable [ "buildkit" ]
+ ++ optionals config.profiles.virtualization.enable [ "libvirtd" "vboxusers" ];
shell = if config.programs.fish.enable then pkgs.fish else pkgs.zsh;
initialPassword = "changeMe";
openssh.authorizedKeys.keys =
with import ../../assets/machines.nix; [ ssh.yubikey.key ssh.yubikey5.key ssh.wakasu.key ssh.vincent.key ssh.houbeb.key ssh.hokkaido.key ssh.okinawa.key ];
- subUidRanges = [ { startUid = 100000; count = 65536; } ];
- subGidRanges = [ { startGid = 100000; count = 65536; } ];
+ subUidRanges = [{ startUid = 100000; count = 65536; }];
+ subGidRanges = [{ startGid = 100000; count = 65536; }];
};
};
};
modules/profiles/virtualization.nixos.nix
@@ -24,46 +24,47 @@ in
};
};
};
- config = mkIf cfg.enable (
- mkMerge [
- {
- virtualisation.libvirtd = {
- enable = true;
- };
- environment.systemPackages = with pkgs; [
- qemu
- vde2
- libosinfo
- ];
- }
- (
- mkIf cfg.nested {
- 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; };
+ config = mkIf cfg.enable
+ (
+ mkMerge [
+ {
virtualisation.libvirtd = {
- allowedBridges = [ "br1" ];
- extraConfig = ''
- listen_tls = 0
- listen_tcp = 1
- auth_tcp="none"
- tcp_port = "16509"
- '';
- # extraOptions = [ "--listen" ];
+ enable = true;
};
- networking.firewall.allowedTCPPorts = [ 16509 ];
+ environment.systemPackages = with pkgs; [
+ qemu
+ vde2
+ libosinfo
+ ];
}
- )
- ]
- );
+ (
+ mkIf cfg.nested {
+ 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 ];
+ }
+ )
+ ]
+ );
}
modules/profiles/zsh.nix
@@ -14,163 +14,164 @@ in
};
};
};
- config = mkIf cfg.enable (
- mkMerge [
- {
- home.packages = with pkgs; [
- zsh-syntax-highlighting
- nix-zsh-completions
- ];
- home.file."${config.programs.zsh.dotDir}/completion.zsh".source = ./assets/zsh/completion.zsh;
- home.file."${config.programs.zsh.dotDir}/prompt.zsh".source = ./assets/zsh/prompt.zsh;
- home.file."${config.programs.zsh.dotDir}/functions/j".source = ./assets/zsh/j;
- programs.zsh = {
- enable = true;
- dotDir = ".config/zsh";
- autocd = true;
- defaultKeymap = "emacs";
- enableAutosuggestions = true;
- history = {
- size = 100000;
- expireDuplicatesFirst = true;
- ignoreDups = true;
- };
- localVariables = {
- EMOJI_CLI_KEYBIND = "^n";
- EMOJI_CLI_USE_EMOJI = "yes";
- ZSH_HIGHLIGHT_HIGHLIGHTERS = [ "main" "brackets" "pattern" ];
- };
- shellAliases = import ./aliases.shell.nix;
- plugins = [
- {
- name = "emoji-cli";
- src = pkgs.fetchFromGitHub {
- owner = "b4b4r07";
- repo = "emoji-cli";
- rev = "26e2d67d566bfcc741891c8e063a00e0674abc92";
- sha256 = "0n88w4k5vaz1iyikpmlzdrrkxmfn91x5s4q405k1fxargr1w6bmx";
- };
- }
- {
- name = "zsh-z";
- src = pkgs.fetchFromGitHub {
- owner = "agkozak";
- repo = "zsh-z";
- rev = "5b903f8f5489783ee2a4af668a941b7d9a02efc9";
- sha256 = "07h6ksiqgqyf5m84hv5xf4jcqrl8q1cj8wd4z52cjmy82kk10fkn";
- };
- }
- {
- name = "async";
- src = pkgs.fetchFromGitHub {
- owner = "mafredri";
- repo = "zsh-async";
- rev = "v1.7.0";
- sha256 = "1jbbypgn0r4pilhv2s2p11vbkkvlnf75wrhxfcvr7bfjpzyp9wbc";
- };
- }
- {
- name = "zsh-completions";
- src = pkgs.fetchFromGitHub {
- owner = "zsh-users";
- repo = "zsh-completions";
- rev = "922eee0706acb111e9678ac62ee77801941d6df2";
- sha256 = "04skzxv8j06f1snsx62qnca5f2183w0wfs5kz78rs8hkcyd6g89w";
- };
- }
- {
- name = "powerlevel10k";
- src = pkgs.fetchFromGitHub {
- owner = "romkatv";
- repo = "powerlevel10k";
- rev = "700910cd0421a7d25d2800cefa76eb6d80dc62a8";
- sha256 = "011ja4r3a8vbcs42js9nri4p8pi8z4ccqxl2qyf52pn3pfnidigj";
- };
- }
- {
- name = "zsh-nix-shell";
- src = pkgs.fetchFromGitHub {
- owner = "chisui";
- repo = "zsh-nix-shell";
- rev = "v0.1.0";
- sha256 = "0snhch9hfy83d4amkyxx33izvkhbwmindy0zjjk28hih1a9l2jmx";
- };
- }
+ config = mkIf cfg.enable
+ (
+ mkMerge [
+ {
+ home.packages = with pkgs; [
+ zsh-syntax-highlighting
+ nix-zsh-completions
];
- envExtra = ''
- export GOPATH=${config.home.homeDirectory}
- export WEBKIT_DISABLE_COMPOSITING_MODE=1;
- export PATH=$HOME/bin:$PATH
- if [ -d $HOME/.krew/bin ]; then
- export PATH=$HOME/.krew/bin:$PATH
- fi
- '';
- loginExtra = ''
- export GOPATH=${config.home.homeDirectory}
- '';
- initExtra = ''
- path+="$HOME/${config.programs.zsh.dotDir}/functions"
- fpath+="$HOME/.nix-profile/share/zsh/site-functions"
- fpath+="$HOME/${config.programs.zsh.dotDir}/functions"
- for func ($HOME/${config.programs.zsh.dotDir}/functions) autoload -U $func/*(x:t)
- autoload -Uz select-word-style; select-word-style bash
- if [ -e /home/vincent/.nix-profile/etc/profile.d/nix.sh ]; then . /home/vincent/.nix-profile/etc/profile.d/nix.sh; fi
- #if [ -n "$INSIDE_EMACS" ]; then
- # chpwd() { print -P "\033AnSiTc %d" }
- # print -P "\033AnSiTu %n"
- # print -P "\033AnSiTc %d"
- #fi
- if [[ "$TERM" == "dumb" || "$TERM" == "emacs" ]]
- then
- TERM=eterm-color
- unsetopt zle
- unsetopt prompt_cr
- unsetopt prompt_subst
- unfunction precmd
- unfunction preexec
- PS1='$ '
- return
- fi
- # make sure navigation using emacs keybindings works on all non-alphanumerics
- # syntax highlighting
- source $HOME/${config.programs.zsh.dotDir}/plugins/zsh-nix-shell/nix-shell.plugin.zsh
- source ${pkgs.zsh-syntax-highlighting}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
- ZSH_HIGHLIGHT_PATTERNS+=('rm -rf *' 'fg=white,bold,bg=red')
- ZSH_HIGHLIGHT_PATTERNS+=('rm -fR *' 'fg=white,bold,bg=red')
- ZSH_HIGHLIGHT_PATTERNS+=('rm -fr *' 'fg=white,bold,bg=red')
- source $HOME/${config.programs.zsh.dotDir}/completion.zsh
- source $HOME/${config.programs.zsh.dotDir}/plugins/powerlevel10k/powerlevel10k.zsh-theme
- source $HOME/${config.programs.zsh.dotDir}/prompt.zsh
- setopt hist_ignore_space
- alias -g L="|less"
- alias -g EEL=' 2>&1 | less'
- alias -g GB='`git rev-parse --abbrev-ref HEAD`'
- alias -g GR='`git rev-parse --show-toplevel`'
- (( $+commands[jq] )) && alias -g MJ="| jq -C '.'" || alias -g MJ="| ${pkgs.python3}/bin/python -mjson.tool"
- '';
- profileExtra = ''
- if [ -e /home/vincent/.nix-profile/etc/profile.d/nix.sh ]; then . /home/vincent/.nix-profile/etc/profile.d/nix.sh; fi
- export NIX_PATH=$HOME/.nix-defexpr/channels:$NIX_PATH
- '';
- };
- programs.fzf = {
- enable = true;
- enableZshIntegration = true;
- defaultOptions = [ "--bind=ctrl-j:accept" ];
- };
- }
- (
- mkIf config.profiles.emacs.enable {
- /*programs.zsh.initExtra = ''
- export EDITOR=et
- '';*/
+ home.file."${config.programs.zsh.dotDir}/completion.zsh".source = ./assets/zsh/completion.zsh;
+ home.file."${config.programs.zsh.dotDir}/prompt.zsh".source = ./assets/zsh/prompt.zsh;
+ home.file."${config.programs.zsh.dotDir}/functions/j".source = ./assets/zsh/j;
+ programs.zsh = {
+ enable = true;
+ dotDir = ".config/zsh";
+ autocd = true;
+ defaultKeymap = "emacs";
+ enableAutosuggestions = true;
+ history = {
+ size = 100000;
+ expireDuplicatesFirst = true;
+ ignoreDups = true;
+ };
+ localVariables = {
+ EMOJI_CLI_KEYBIND = "^n";
+ EMOJI_CLI_USE_EMOJI = "yes";
+ ZSH_HIGHLIGHT_HIGHLIGHTERS = [ "main" "brackets" "pattern" ];
+ };
+ shellAliases = import ./aliases.shell.nix;
+ plugins = [
+ {
+ name = "emoji-cli";
+ src = pkgs.fetchFromGitHub {
+ owner = "b4b4r07";
+ repo = "emoji-cli";
+ rev = "26e2d67d566bfcc741891c8e063a00e0674abc92";
+ sha256 = "0n88w4k5vaz1iyikpmlzdrrkxmfn91x5s4q405k1fxargr1w6bmx";
+ };
+ }
+ {
+ name = "zsh-z";
+ src = pkgs.fetchFromGitHub {
+ owner = "agkozak";
+ repo = "zsh-z";
+ rev = "5b903f8f5489783ee2a4af668a941b7d9a02efc9";
+ sha256 = "07h6ksiqgqyf5m84hv5xf4jcqrl8q1cj8wd4z52cjmy82kk10fkn";
+ };
+ }
+ {
+ name = "async";
+ src = pkgs.fetchFromGitHub {
+ owner = "mafredri";
+ repo = "zsh-async";
+ rev = "v1.7.0";
+ sha256 = "1jbbypgn0r4pilhv2s2p11vbkkvlnf75wrhxfcvr7bfjpzyp9wbc";
+ };
+ }
+ {
+ name = "zsh-completions";
+ src = pkgs.fetchFromGitHub {
+ owner = "zsh-users";
+ repo = "zsh-completions";
+ rev = "922eee0706acb111e9678ac62ee77801941d6df2";
+ sha256 = "04skzxv8j06f1snsx62qnca5f2183w0wfs5kz78rs8hkcyd6g89w";
+ };
+ }
+ {
+ name = "powerlevel10k";
+ src = pkgs.fetchFromGitHub {
+ owner = "romkatv";
+ repo = "powerlevel10k";
+ rev = "700910cd0421a7d25d2800cefa76eb6d80dc62a8";
+ sha256 = "011ja4r3a8vbcs42js9nri4p8pi8z4ccqxl2qyf52pn3pfnidigj";
+ };
+ }
+ {
+ name = "zsh-nix-shell";
+ src = pkgs.fetchFromGitHub {
+ owner = "chisui";
+ repo = "zsh-nix-shell";
+ rev = "v0.1.0";
+ sha256 = "0snhch9hfy83d4amkyxx33izvkhbwmindy0zjjk28hih1a9l2jmx";
+ };
+ }
+ ];
+ envExtra = ''
+ export GOPATH=${config.home.homeDirectory}
+ export WEBKIT_DISABLE_COMPOSITING_MODE=1;
+ export PATH=$HOME/bin:$PATH
+ if [ -d $HOME/.krew/bin ]; then
+ export PATH=$HOME/.krew/bin:$PATH
+ fi
+ '';
+ loginExtra = ''
+ export GOPATH=${config.home.homeDirectory}
+ '';
+ initExtra = ''
+ path+="$HOME/${config.programs.zsh.dotDir}/functions"
+ fpath+="$HOME/.nix-profile/share/zsh/site-functions"
+ fpath+="$HOME/${config.programs.zsh.dotDir}/functions"
+ for func ($HOME/${config.programs.zsh.dotDir}/functions) autoload -U $func/*(x:t)
+ autoload -Uz select-word-style; select-word-style bash
+ if [ -e /home/vincent/.nix-profile/etc/profile.d/nix.sh ]; then . /home/vincent/.nix-profile/etc/profile.d/nix.sh; fi
+ #if [ -n "$INSIDE_EMACS" ]; then
+ # chpwd() { print -P "\033AnSiTc %d" }
+ # print -P "\033AnSiTu %n"
+ # print -P "\033AnSiTc %d"
+ #fi
+ if [[ "$TERM" == "dumb" || "$TERM" == "emacs" ]]
+ then
+ TERM=eterm-color
+ unsetopt zle
+ unsetopt prompt_cr
+ unsetopt prompt_subst
+ unfunction precmd
+ unfunction preexec
+ PS1='$ '
+ return
+ fi
+ # make sure navigation using emacs keybindings works on all non-alphanumerics
+ # syntax highlighting
+ source $HOME/${config.programs.zsh.dotDir}/plugins/zsh-nix-shell/nix-shell.plugin.zsh
+ source ${pkgs.zsh-syntax-highlighting}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
+ ZSH_HIGHLIGHT_PATTERNS+=('rm -rf *' 'fg=white,bold,bg=red')
+ ZSH_HIGHLIGHT_PATTERNS+=('rm -fR *' 'fg=white,bold,bg=red')
+ ZSH_HIGHLIGHT_PATTERNS+=('rm -fr *' 'fg=white,bold,bg=red')
+ source $HOME/${config.programs.zsh.dotDir}/completion.zsh
+ source $HOME/${config.programs.zsh.dotDir}/plugins/powerlevel10k/powerlevel10k.zsh-theme
+ source $HOME/${config.programs.zsh.dotDir}/prompt.zsh
+ setopt hist_ignore_space
+ alias -g L="|less"
+ alias -g EEL=' 2>&1 | less'
+ alias -g GB='`git rev-parse --abbrev-ref HEAD`'
+ alias -g GR='`git rev-parse --show-toplevel`'
+ (( $+commands[jq] )) && alias -g MJ="| jq -C '.'" || alias -g MJ="| ${pkgs.python3}/bin/python -mjson.tool"
+ '';
+ profileExtra = ''
+ if [ -e /home/vincent/.nix-profile/etc/profile.d/nix.sh ]; then . /home/vincent/.nix-profile/etc/profile.d/nix.sh; fi
+ export NIX_PATH=$HOME/.nix-defexpr/channels:$NIX_PATH
+ '';
+ };
+ programs.fzf = {
+ enable = true;
+ enableZshIntegration = true;
+ defaultOptions = [ "--bind=ctrl-j:accept" ];
+ };
}
- )
- (
- mkIf config.machine.home-manager {
- home.packages = with pkgs; [ hello ];
- }
- )
- ]
- );
+ (
+ mkIf config.profiles.emacs.enable {
+ /*programs.zsh.initExtra = ''
+ export EDITOR=et
+ '';*/
+ }
+ )
+ (
+ mkIf config.machine.home-manager {
+ home.packages = with pkgs; [ hello ];
+ }
+ )
+ ]
+ );
}
modules/services/nix-binary-cache.nixos.nix
@@ -17,7 +17,7 @@ in
type = types.str;
};
aliases = mkOption {
- default = [];
+ default = [ ];
description = "server aliases to serve";
type = types.listOf types.str;
};
modules/virtualisation/containerd.nixos.nix
@@ -3,38 +3,36 @@
{ config, lib, pkgs, ... }:
with lib;
-
let
cfg = config.virtualisation.containerd;
in
-
{
###### interface
options.virtualisation.containerd = {
enable =
mkOption {
- type = types.bool;
- default = false;
- description =
- ''
- This option enables containerd, a daemon that manages
- linux containers.
- '';
- };
+ type = types.bool;
+ default = false;
+ description =
+ ''
+ This option enables containerd, a daemon that manages
+ linux containers.
+ '';
+ };
listenOptions =
mkOption {
- type = types.listOf types.str;
- default = ["/run/containerd/containerd.sock"];
- description =
- ''
- A list of unix and tcp containerd should listen to. The format follows
- ListenStream as described in systemd.socket(5).
- '';
- };
+ type = types.listOf types.str;
+ default = [ "/run/containerd/containerd.sock" ];
+ description =
+ ''
+ A list of unix and tcp containerd should listen to. The format follows
+ ListenStream as described in systemd.socket(5).
+ '';
+ };
package = mkOption {
default = pkgs.containerd;
@@ -53,33 +51,34 @@ in
extraOptions =
mkOption {
- type = types.separatedString " ";
- default = "";
- description =
- ''
- The extra command-line options to pass to
- <command>containerd</command> daemon.
- '';
- };
+ type = types.separatedString " ";
+ default = "";
+ description =
+ ''
+ The extra command-line options to pass to
+ <command>containerd</command> daemon.
+ '';
+ };
};
###### implementation
config = mkIf cfg.enable {
- environment.systemPackages = [ cfg.package];
- systemd.packages = [ cfg.package];
+ environment.systemPackages = [ cfg.package ];
+ systemd.packages = [ cfg.package ];
systemd.services.containerd = {
wantedBy = [ "multi-user.target" ];
serviceConfig = {
ExecStart = [
""
- ''
- ${cfg.package}/bin/containerd \
- ${cfg.extraOptions}
- ''];
+ ''
+ ${cfg.package}/bin/containerd \
+ ${cfg.extraOptions}
+ ''
+ ];
};
- path = [cfg.package] ++ cfg.packages;
+ path = [ cfg.package ] ++ cfg.packages;
};
overlays/emacs/builder.nix
@@ -2,8 +2,8 @@
, emacs
, name
, src
-, buildInputs ? []
-, patches ? []
+, buildInputs ? [ ]
+, patches ? [ ]
, preBuild ? ""
}:
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
buildPhase = ''
${preBuild}
ARGS=$(find ${stdenv.lib.concatStrings
- (builtins.map (arg: arg + "/share/emacs/site-lisp ") buildInputs)} \
+ (builtins.map (arg: arg + "/share/emacs/site-lisp ") buildInputs)} \
-type d -exec echo -L {} \;)
mkdir $out
export HOME=$out
overlays/sbr.nix
@@ -19,24 +19,25 @@ rec {
inherit (self) stdenv lib;
};
- my = import ../pkgs {};
+ my = import ../pkgs { };
- emacs27 = (self.emacs.override { srcRepo = true; }).overrideAttrs (
- old: {
- name = "emacs-dev";
- version = "27.0.91";
- src = super.fetchFromGitHub {
- owner = "emacs-mirror";
- repo = "emacs";
- rev = "emacs-27.0.91";
- sha256 = "0mlrg2npy1r79laahkgzhxd1qassfcdz8qk1cpw7mqgf6y5x505h";
- };
- buildInputs = old.buildInputs ++ [ super.jansson ];
- patches = [
- ./patches/clean-env.patch
- ];
- }
- );
+ emacs27 = (self.emacs.override { srcRepo = true; }).overrideAttrs
+ (
+ old: {
+ name = "emacs-dev";
+ version = "27.0.91";
+ src = super.fetchFromGitHub {
+ owner = "emacs-mirror";
+ repo = "emacs";
+ rev = "emacs-27.0.91";
+ sha256 = "0mlrg2npy1r79laahkgzhxd1qassfcdz8qk1cpw7mqgf6y5x505h";
+ };
+ buildInputs = old.buildInputs ++ [ super.jansson ];
+ patches = [
+ ./patches/clean-env.patch
+ ];
+ }
+ );
bookmark-plus = compileEmacsFiles {
name = "bookmark-plus";
overlays/unstable.nix
@@ -1,7 +1,7 @@
_: _:
let
unstableTarball = fetchTarball https://github.com/NixOS/nixpkgs-channels/archive/nixos-unstable.tar.gz;
- unstable = import unstableTarball { overlays = []; };
+ unstable = import unstableTarball { overlays = [ ]; };
in
{
inherit (unstable)
pkgs/buildkit/default.nix
@@ -7,10 +7,11 @@ buildGoPackage rec {
goPackagePath = "github.com/moby/buildkit";
subPackages = [ "cmd/buildctl" "cmd/buildkitd" ];
- buildFlagsArray = let t = "${goPackagePath}/version"; in ''
- -ldflags=
- -X ${t}.Version=${version}
- '';
+ buildFlagsArray = let t = "${goPackagePath}/version"; in
+ ''
+ -ldflags=
+ -X ${t}.Version=${version}
+ '';
src = fetchFromGitHub {
inherit rev;
pkgs/containerd/default.nix
@@ -23,8 +23,8 @@ rec {
buildFlags = [ "VERSION=v${version}" ];
- BUILDTAGS = []
- ++ optional (btrfs-progs == null) "no_btrfs";
+ BUILDTAGS = [ ]
+ ++ optional (btrfs-progs == null) "no_btrfs";
buildPhase = ''
cd go/src/${goPackagePath}
pkgs/crc/default.nix
@@ -8,32 +8,33 @@ rec {
, bundle
}:
- buildGoPackage rec {
- pname = "crc";
- name = "${pname}-${version}";
+ buildGoPackage rec {
+ pname = "crc";
+ name = "${pname}-${version}";
- src = fetchFromGitHub {
- owner = "code-ready";
- repo = "crc";
- rev = "${version}";
- sha256 = "${sha256}";
- };
+ src = fetchFromGitHub {
+ owner = "code-ready";
+ repo = "crc";
+ rev = "${version}";
+ sha256 = "${sha256}";
+ };
- goPackagePath = "github.com/code-ready/crc";
- subPackages = [ "cmd/crc" ];
- buildFlagsArray = let t = "${goPackagePath}/pkg/crc/version"; in ''
+ goPackagePath = "github.com/code-ready/crc";
+ subPackages = [ "cmd/crc" ];
+ buildFlagsArray = let t = "${goPackagePath}/pkg/crc/version"; in
+ ''
-ldflags=
-X ${t}.crcVersion=${version}
-X ${t}.bundleVersion=${bundle}
'';
- meta = with stdenv.lib; {
- homepage = https://github.com/code-ready/crc;
- description = "OpenShift 4.x cluster for testing and development purposes";
- license = licenses.asl20;
- maintainers = with maintainers; [ vdemeester ];
- };
+ meta = with stdenv.lib; {
+ homepage = https://github.com/code-ready/crc;
+ description = "OpenShift 4.x cluster for testing and development purposes";
+ license = licenses.asl20;
+ maintainers = with maintainers; [ vdemeester ];
};
+ };
# bundle is https://storage.googleapis.com/crc-bundle-github-ci/crc_libvirt_4.4.3.zip
crc_1_9 = makeOverridable crcGen {
pkgs/oc/default.nix
@@ -7,37 +7,37 @@ rec {
, sha256
}:
- stdenv.mkDerivation rec {
- pname = "oc";
- name = "${pname}-${version}";
+ stdenv.mkDerivation rec {
+ pname = "oc";
+ name = "${pname}-${version}";
- src = fetchurl {
- url = "https://mirror.openshift.com/pub/openshift-v4/clients/ocp/${version}/openshift-client-linux-${version}.tar.gz";
- sha256 = "${sha256}";
- };
-
- phases = " unpackPhase installPhase fixupPhase ";
-
- unpackPhase = ''
- runHook preUnpack
- mkdir ${name}
- tar -C ${name} -xzf $src
- '';
-
- installPhase = ''
- runHook preInstall
- install -D ${name}/oc $out/bin/oc
- patchelf \
- --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
- $out/bin/oc
- # completions
- mkdir -p $out/share/bash-completion/completions/
- $out/bin/oc completion bash > $out/share/bash-completion/completions/oc
- mkdir -p $out/share/zsh/site-functions
- $out/bin/oc completion zsh > $out/share/zsh/site-functions/_oc
- '';
+ src = fetchurl {
+ url = "https://mirror.openshift.com/pub/openshift-v4/clients/ocp/${version}/openshift-client-linux-${version}.tar.gz";
+ sha256 = "${sha256}";
};
+ phases = " unpackPhase installPhase fixupPhase ";
+
+ unpackPhase = ''
+ runHook preUnpack
+ mkdir ${name}
+ tar -C ${name} -xzf $src
+ '';
+
+ installPhase = ''
+ runHook preInstall
+ install -D ${name}/oc $out/bin/oc
+ patchelf \
+ --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
+ $out/bin/oc
+ # completions
+ mkdir -p $out/share/bash-completion/completions/
+ $out/bin/oc completion bash > $out/share/bash-completion/completions/oc
+ mkdir -p $out/share/zsh/site-functions
+ $out/bin/oc completion zsh > $out/share/zsh/site-functions/_oc
+ '';
+ };
+
oc_4_4 = makeOverridable ocGen {
version = "4.4.1";
sha256 = "1p0i1kzqxn3ggy4xhjb0qh401knb686ab0ivnxlb6plbl7g071x2";
pkgs/operator-sdk/default.nix
@@ -8,44 +8,45 @@ rec {
, modSha256
}:
- buildGoModule rec {
- inherit modSha256;
- pname = "operator-sdk";
- name = "${pname}-${version}";
- rev = "v${version}";
+ buildGoModule rec {
+ inherit modSha256;
+ pname = "operator-sdk";
+ name = "${pname}-${version}";
+ rev = "v${version}";
- builtInputs = [ "git" ];
+ builtInputs = [ "git" ];
- goPackagePath = "github.com/operator-framework/operator-sdk";
- subPackages = [ "cmd/operator-sdk" ];
- buildFlagsArray = let t = "${goPackagePath}/version"; in ''
+ goPackagePath = "github.com/operator-framework/operator-sdk";
+ subPackages = [ "cmd/operator-sdk" ];
+ buildFlagsArray = let t = "${goPackagePath}/version"; in
+ ''
-ldflags=
-X ${t}.GitVersion=${version}
-X ${t}.KubernetesVersion=v1.17.2
'';
- src = fetchFromGitHub {
- inherit rev;
- owner = "operator-framework";
- repo = "operator-sdk";
- sha256 = "${sha256}";
- };
-
- postInstall = ''
- # completions
- mkdir -p $out/share/bash-completion/completions/
- $out/bin/operator-sdk completion bash > $out/share/bash-completion/completions/operator-sdk
- mkdir -p $out/share/zsh/site-functions/
- $out/bin/operator-sdk completion zsh > $out/share/zsh/site-functions/_operator-sdk
- '';
-
- meta = {
- description = "SDK for building Kubernetes applications. Provides high level APIs, useful abstractions, and project scaffolding";
- homepage = https://github.com/operator-framework/operator-sdk;
- license = lib.licenses.asl20;
- };
+ src = fetchFromGitHub {
+ inherit rev;
+ owner = "operator-framework";
+ repo = "operator-sdk";
+ sha256 = "${sha256}";
};
+ postInstall = ''
+ # completions
+ mkdir -p $out/share/bash-completion/completions/
+ $out/bin/operator-sdk completion bash > $out/share/bash-completion/completions/operator-sdk
+ mkdir -p $out/share/zsh/site-functions/
+ $out/bin/operator-sdk completion zsh > $out/share/zsh/site-functions/_operator-sdk
+ '';
+
+ meta = {
+ description = "SDK for building Kubernetes applications. Provides high level APIs, useful abstractions, and project scaffolding";
+ homepage = https://github.com/operator-framework/operator-sdk;
+ license = lib.licenses.asl20;
+ };
+ };
+
operator-sdk_0_16 = makeOverridable operatorSdkGen {
version = "0.16.0";
sha256 = "1qdvnfxz81ij1y7qdk5xjq0nd3dqgbdjq0gmramxmkkz892cdaf3";
pkgs/prm/default.nix
@@ -7,11 +7,12 @@ buildGoModule rec {
goPackagePath = "github.com/ldez/prm";
- buildFlagsArray = let t = "${goPackagePath}/meta"; in ''
- -ldflags=
- -X ${t}.Version=${version}
- -X ${t}.BuildDate=unknown
- '';
+ buildFlagsArray = let t = "${goPackagePath}/meta"; in
+ ''
+ -ldflags=
+ -X ${t}.Version=${version}
+ -X ${t}.BuildDate=unknown
+ '';
src = fetchFromGitHub {
inherit rev;
pkgs/tkn/default.nix
@@ -9,10 +9,11 @@ rec {
goPackagePath = "github.com/tektoncd/cli";
subPackages = [ "cmd/tkn" ];
- buildFlagsArray = let t = "${goPackagePath}/pkg/cmd/version"; in ''
- -ldflags=
- -X ${t}.clientVersion=${version}
- '';
+ buildFlagsArray = let t = "${goPackagePath}/pkg/cmd/version"; in
+ ''
+ -ldflags=
+ -X ${t}.clientVersion=${version}
+ '';
src = fetchFromGitHub {
owner = "tektoncd";
repo = "cli";
tmp/channels.nix
@@ -1,28 +1,35 @@
-let mapAttrs = f: set: builtins.listToAttrs (
-map (attr: { name = attr; value = f set.${attr}; })
-(builtins.attrNames set));
-channels = {
- aardvark = "13.10";
- baboon = "14.04";
- caterpillar = "14.12";
- dingo = "15.09";
- emu = "16.03";
- flounder = "16.09";
- gorilla = "17.03";
- v17_03 = "17.03";
- hummingbird = "17.09";
- v17_09 = "17.09";
- impala = "18.03";
- v18_03 = "18.03";
- jellyfish = "18.09";
- v18_09 = "18.09";
- koi = "19.03";
- v19_03 = "19.03";
- loris = "19.09";
- v19_09 = "19.09";
- unstable = "unstable";
-};
-in mapAttrs (v:
- import (builtins.fetchTarball
- "https://nixos.org/channels/nixos-${v}/nixexprs.tar.xz") {})
- channels
+let
+ mapAttrs = f: set: builtins.listToAttrs
+ (
+ map (attr: { name = attr; value = f set.${attr}; })
+ (builtins.attrNames set)
+ );
+ channels = {
+ aardvark = "13.10";
+ baboon = "14.04";
+ caterpillar = "14.12";
+ dingo = "15.09";
+ emu = "16.03";
+ flounder = "16.09";
+ gorilla = "17.03";
+ v17_03 = "17.03";
+ hummingbird = "17.09";
+ v17_09 = "17.09";
+ impala = "18.03";
+ v18_03 = "18.03";
+ jellyfish = "18.09";
+ v18_09 = "18.09";
+ koi = "19.03";
+ v19_03 = "19.03";
+ loris = "19.09";
+ v19_09 = "19.09";
+ unstable = "unstable";
+ };
+in
+mapAttrs
+ (v:
+ import
+ (builtins.fetchTarball
+ "https://nixos.org/channels/nixos-${v}/nixexprs.tar.xz") { }
+ )
+ channels
ci.nix
@@ -9,7 +9,7 @@
# then your CI will be able to build and cache only those packages for
# which this is possible.
-{ pkgs ? import <nixpkgs> {} }:
+{ pkgs ? import <nixpkgs> { } }:
with builtins;
let
@@ -18,24 +18,18 @@ let
isBuildable = p: !(p.meta.broken or false) && p.meta.license.free or true;
isCacheable = p: !(p.preferLocalBuild or false);
shouldRecurseForDerivations = p: isAttrs p && p.recurseForDerivations or false;
-
nameValuePair = n: v: { name = n; value = v; };
-
concatMap = builtins.concatMap or (f: xs: concatLists (map f xs));
-
flattenPkgs = s:
let
f = p:
if shouldRecurseForDerivations p then flattenPkgs p
else if isDerivation p then [ p ]
- else [];
+ else [ ];
in
- concatMap f (attrValues s);
-
+ concatMap f (attrValues s);
outputsOf = p: map (o: p.${o}) p.outputs;
-
nurAttrs = import ./pkgs/default.nix { inherit pkgs; };
-
nurPkgs =
flattenPkgs
(