Compare commits

..

No commits in common. "2e10a00830aae3a91c6656485beb29f16aba1e2a" and "beb7d2def1054af84cb3b33edd438211121a74b6" have entirely different histories.

34 changed files with 2174 additions and 2970 deletions

View file

@ -5,23 +5,24 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
imports = [ imports =
./modules/colors.nix [
./modules/colors.nix
# Include the results of the hardware scan. # Include the results of the hardware scan.
./hardware-configuration.nix ./hardware-configuration.nix
./roles/admin.nix ./roles/admin.nix
./roles/base.nix ./roles/base.nix
./roles/desktop.nix ./roles/desktop.nix
./roles/dev.nix ./roles/dev.nix
./roles/mail.nix ./roles/mail.nix
./roles/network.nix ./roles/network.nix
./roles/nix.nix ./roles/nix.nix
./roles/vpn.nix ./roles/vpn.nix
./roles/private.nix ./roles/private.nix
./roles/game.nix ./roles/game.nix
]; ];
networking.useDHCP = false; networking.useDHCP = false;
@ -31,7 +32,9 @@
services.openssh.enable = true; services.openssh.enable = true;
networking.firewall.enable = true; networking.firewall.enable = true;
nixpkgs.config.permittedInsecurePackages = [ "openssl-1.0.2u" ]; nixpkgs.config.permittedInsecurePackages = [
"openssl-1.0.2u"
];
system.autoUpgrade.enable = true; system.autoUpgrade.enable = true;
system.stateVersion = "20.03"; # We can stay here system.stateVersion = "20.03"; # We can stay here

View file

@ -7,7 +7,7 @@ set $right l
set $term alacritty set $term alacritty
set $wallpaper /home/stefan/Downloads/bg.jpg set $wallpaper /home/stefan/Downloads/bg.jpg
set $lock swaylock -t -i $wallpaper --scaling=fill set $lock swaylock -t -i $wallpaper --scaling=fill
set $font CaskaydiaCove Nerd Font 10 set $font pango:CaskaydiaCove Nerd Font Mono 10
set $menucolor --ff=#f8f8f2 --nf=#f8f8f2 --tf=#bd93f9 --hf=#bd93f9 --tb=#282a36 --fb=#282a36 --nb=#282a36 --hb=#282a36 --sb=#282a36 set $menucolor --ff=#f8f8f2 --nf=#f8f8f2 --tf=#bd93f9 --hf=#bd93f9 --tb=#282a36 --fb=#282a36 --nb=#282a36 --hb=#282a36 --sb=#282a36
set $menu bemenu-run -H 23 -b -p run $menucolor set $menu bemenu-run -H 23 -b -p run $menucolor
@ -116,7 +116,6 @@ mode "resize" {
bindsym $mod+r mode "resize" bindsym $mod+r mode "resize"
bar { bar {
font $font
position bottom position bottom
colors { colors {
background $black background $black
@ -134,8 +133,8 @@ bar {
set $gnome-schema org.gnome.desktop.interface set $gnome-schema org.gnome.desktop.interface
exec_always { exec_always {
gsettings set $gnome-schema gtk-theme 'Dracula' gsettings set $gnome-schema gtk-theme 'Arc-Dark'
gsettings set $gnome-schema icon-theme 'Dracula' gsettings set $gnome-schema icon-theme 'elementary Xfce'
gsettings set $gnome-schema cursor-theme 'Capitaine Cursors - White' gsettings set $gnome-schema cursor-theme 'Capitaine Cursors - White'
} }
@ -147,7 +146,6 @@ exec mako --font "$font" \
exec emacs --daemon exec emacs --daemon
exec swayidle before-sleep "$lock" exec swayidle before-sleep "$lock"
exec /run/current-system/sw/libexec/polkit-gnome-authentication-agent-1 exec /run/current-system/sw/libexec/polkit-gnome-authentication-agent-1
exec redshift -l 49.8988135:10.9027636
# pastebin # pastebin
exec wl-paste --primary -t text --watch clipman store exec wl-paste --primary -t text --watch clipman store

View file

@ -23,25 +23,22 @@ backlight_full = ""
backlight_partial1 = "" backlight_partial1 = ""
backlight_partial2 = "" backlight_partial2 = ""
backlight_partial3 = "" backlight_partial3 = ""
bat = "" bat = ""
bat_charging = "" bat_charging = " "
bat_discharging = "" bat_discharging = ""
bat_empty = "" bat_empty = ""
bat_quarter = "" bat_full = ""
bat_half = "" cogs = ""
bat_three_quarters = "" disk_space = ""
bat_full = ""
cogs = "龍"
disk_drive = ""
headphones = "  " headphones = "  "
memory_mem = "" memory_mem = ""
net_down = "DOWN" net_down = "DOWN"
net_up = "UP" net_up = "UP"
net_vpn = " " net_vpn = " "
net_wired = "" net_wired = ""
net_wireless = " " net_wireless = " "
thermometer = "  " thermometer = "  "
time = "" time = ""
volume_empty = "" volume_empty = ""
volume_full = "" volume_full = ""
volume_half = "" volume_half = ""
@ -67,9 +64,9 @@ command = '''echo " $(cat /sys/class/thermal/thermal_zone0/temp | head -c 2)
[[block]] [[block]]
block = "disk_space" block = "disk_space"
path = "/" path = "/"
alias = " /"
info_type = "available" info_type = "available"
unit = "GB" unit = "GB"
format = "{icon} {available}"
interval = 20 interval = 20
warning = 20.0 warning = 20.0
alert = 10.0 alert = 10.0
@ -98,7 +95,6 @@ block = "battery"
device = "BAT0" device = "BAT0"
interval = 10 interval = 10
format = "{percentage} ({time})" format = "{percentage} ({time})"
full_format = "{percentage} ({time}) "
icons_format = " {icon} " icons_format = " {icon} "
[[block]] [[block]]
@ -106,7 +102,6 @@ block = "battery"
device = "BAT1" device = "BAT1"
interval = 10 interval = 10
format = "{percentage} ({time})" format = "{percentage} ({time})"
full_format = "{percentage} ({time}) "
icons_format = " {icon} " icons_format = " {icon} "
[[block]] [[block]]

View file

@ -3,30 +3,32 @@
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }: { config, lib, pkgs, modulesPath, ... }:
let unstable = import <nixos-unstable> { config.allowUnfree = true; }; let
unstable = import <nixos-unstable> { config.allowUnfree = true; };
in { in {
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
[ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ "amdgpu" ]; boot.initrd.kernelModules = [ "amdgpu" ];
boot.kernelModules = [ "kvm-amd" ]; boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
fileSystems."/" = { fileSystems."/" =
device = "tank/root/nixos"; { device = "tank/root/nixos";
fsType = "zfs"; fsType = "zfs";
}; };
fileSystems."/home" = { fileSystems."/home" =
device = "tank/root/home"; { device = "tank/root/home";
fsType = "zfs"; fsType = "zfs";
}; };
fileSystems."/boot" = { fileSystems."/boot" =
device = "/dev/disk/by-uuid/587C-36F9"; { device = "/dev/disk/by-uuid/587C-36F9";
fsType = "vfat"; fsType = "vfat";
}; };
swapDevices = [ ]; swapDevices = [ ];

View file

@ -3,40 +3,43 @@
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }: { config, lib, pkgs, modulesPath, ... }:
let let
tuxedo-keyboard = tuxedo-keyboard = pkgs.callPackage (import ../packages/tuxedo-keyboard.nix) {};
pkgs.callPackage (import ../packages/tuxedo-keyboard.nix) { }; tuxedo-cc = pkgs.callPackage (import ../packages/tuxedo-control-center/default.nix) {};
tuxedo-cc =
pkgs.callPackage (import ../packages/tuxedo-control-center/default.nix) { };
in { in {
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ];
[ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ]; boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ tuxedo-keyboard ]; boot.extraModulePackages = [
environment.systemPackages = with pkgs; [ tuxedo-cc ]; tuxedo-keyboard
];
environment.systemPackages = with pkgs; [
tuxedo-cc
];
fileSystems."/" = { fileSystems."/" =
device = "private/root/nixos"; { device = "private/root/nixos";
fsType = "zfs"; fsType = "zfs";
}; };
fileSystems."/home" = { fileSystems."/home" =
device = "private/root/home"; { device = "private/root/home";
fsType = "zfs"; fsType = "zfs";
}; };
fileSystems."/tmp" = { fileSystems."/tmp" =
device = "private/root/tmp"; { device = "private/root/tmp";
fsType = "zfs"; fsType = "zfs";
}; };
fileSystems."/boot" = { fileSystems."/boot" =
device = "/dev/disk/by-uuid/7E36-C774"; { device = "/dev/disk/by-uuid/7E36-C774";
fsType = "vfat"; fsType = "vfat";
}; };
swapDevices = [ ]; swapDevices = [ ];

View file

@ -3,37 +3,32 @@
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let unstable = import <nixos-unstable> { config.allowUnfree = true; }; let
unstable = import <nixos-unstable> { config.allowUnfree = true; };
in { in {
imports = [ <nixpkgs/nixos/modules/installer/scan/not-detected.nix> ]; imports =
[ <nixpkgs/nixos/modules/installer/scan/not-detected.nix>
];
boot.initrd.availableKernelModules = [ boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
"xhci_pci"
"ehci_pci"
"ahci"
"usbhid"
"usb_storage"
"sd_mod"
"rtsx_pci_sdmmc"
];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ]; boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
fileSystems."/" = { fileSystems."/" =
device = "cube/root/nixos"; { device = "cube/root/nixos";
fsType = "zfs"; fsType = "zfs";
}; };
fileSystems."/home" = { fileSystems."/home" =
device = "cube/home"; { device = "cube/home";
fsType = "zfs"; fsType = "zfs";
}; };
fileSystems."/boot" = { fileSystems."/boot" =
device = "/dev/disk/by-uuid/2AD7-4F18"; { device = "/dev/disk/by-uuid/2AD7-4F18";
fsType = "vfat"; fsType = "vfat";
}; };
swapDevices = [ ]; swapDevices = [ ];

View file

@ -3,7 +3,8 @@
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let unstable = import <nixos-unstable> { config.allowUnfree = true; }; let
unstable = import <nixos-unstable> { config.allowUnfree = true; };
in { in {
imports = [ imports = [
<nixpkgs/nixos/modules/installer/scan/not-detected.nix> <nixpkgs/nixos/modules/installer/scan/not-detected.nix>
@ -18,8 +19,14 @@ in {
"w /sys/class/drm/card0/device/power_dpm_force_performance_level - - - - low" "w /sys/class/drm/card0/device/power_dpm_force_performance_level - - - - low"
]; ];
boot.initrd.availableKernelModules = boot.initrd.availableKernelModules = [
[ "nvme" "xhci_pci" "ahci" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; "nvme"
"xhci_pci"
"ahci"
"usb_storage"
"sd_mod"
"rtsx_pci_sdmmc"
];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
boot.kernelModules = [ "kvm-amd" ]; boot.kernelModules = [ "kvm-amd" ];
@ -28,6 +35,7 @@ in {
boot.kernelPackages = unstable.linuxPackages_latest; boot.kernelPackages = unstable.linuxPackages_latest;
#boot.kernelPackages = unstable.linux_testing; #boot.kernelPackages = unstable.linux_testing;
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
@ -37,20 +45,20 @@ in {
networking.interfaces.wlo1.useDHCP = true; networking.interfaces.wlo1.useDHCP = true;
networking.resolvconf.useLocalResolver = true; networking.resolvconf.useLocalResolver = true;
fileSystems."/" = { fileSystems."/" =
device = "tank/root/nixos"; { device = "tank/root/nixos";
fsType = "zfs"; fsType = "zfs";
}; };
fileSystems."/home" = { fileSystems."/home" =
device = "tank/home"; { device = "tank/home";
fsType = "zfs"; fsType = "zfs";
}; };
fileSystems."/boot" = { fileSystems."/boot" =
device = "/dev/disk/by-uuid/B048-FBC8"; { device = "/dev/disk/by-uuid/B048-FBC8";
fsType = "vfat"; fsType = "vfat";
}; };
swapDevices = [ ]; swapDevices = [ ];

View file

@ -3,13 +3,15 @@
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let unstable = import <nixos-unstable> { config.allowUnfree = true; }; let
unstable = import <nixos-unstable> { config.allowUnfree = true; };
in { in {
imports = [ <nixpkgs/nixos/modules/installer/scan/not-detected.nix> ]; imports =
[ <nixpkgs/nixos/modules/installer/scan/not-detected.nix>
];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
[ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ]; boot.kernelModules = [ "kvm-intel" ];
boot.kernelParams = [ "intel_pstate=active" ]; boot.kernelParams = [ "intel_pstate=active" ];
@ -24,26 +26,26 @@ in {
enable = true; enable = true;
extraPackages = with pkgs; [ extraPackages = with pkgs; [
intel-media-driver # LIBVA_DRIVER_NAME=iHD intel-media-driver # LIBVA_DRIVER_NAME=iHD
vaapiIntel # LIBVA_DRIVER_NAME=i965 vaapiIntel # LIBVA_DRIVER_NAME=i965
vaapiVdpau vaapiVdpau
libvdpau-va-gl libvdpau-va-gl
]; ];
}; };
fileSystems."/" = { fileSystems."/" =
device = "tank/work/nixos"; { device = "tank/work/nixos";
fsType = "zfs"; fsType = "zfs";
}; };
fileSystems."/home" = { fileSystems."/home" =
device = "tank/work/home"; { device = "tank/work/home";
fsType = "zfs"; fsType = "zfs";
}; };
fileSystems."/boot" = { fileSystems."/boot" =
device = "/dev/disk/by-uuid/DC7B-5E2D"; { device = "/dev/disk/by-uuid/DC7B-5E2D";
fsType = "vfat"; fsType = "vfat";
}; };
swapDevices = [ ]; swapDevices = [ ];

View file

@ -1,15 +1,16 @@
with import <nixpkgs> { }; with import <nixpkgs> {};
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "cert-manager"; name = "cert-manager";
version = "v1.7.1"; version = "v1.7.1";
src = fetchurl { src = fetchurl {
url = url = "https://github.com/cert-manager/cert-manager/releases/download/${version}/cmctl-linux-amd64.tar.gz";
"https://github.com/cert-manager/cert-manager/releases/download/${version}/cmctl-linux-amd64.tar.gz";
sha256 = "1z5n2rcfhrl1vm5vxqa1759m3prlv08mmg96n16p4gwkdxycznx4"; sha256 = "1z5n2rcfhrl1vm5vxqa1759m3prlv08mmg96n16p4gwkdxycznx4";
}; };
nativeBuildInputs = [ autoPatchelfHook ]; nativeBuildInputs = [
autoPatchelfHook
];
unpackPhase = '' unpackPhase = ''
tar xvpzf $src tar xvpzf $src

View file

@ -1,14 +1,22 @@
{ stdenv, buildFHSUserEnv, fetchurl, lib, pkgs, writeScript }: { stdenv
, buildFHSUserEnv
, fetchurl
, lib
, pkgs
, writeScript
}:
let let
version = "4.3.3"; version = "4.3.3";
release = "4469"; release = "4469";
cloudstation = stdenv.mkDerivation rec { cloudstation = stdenv.mkDerivation rec {
name = "cloudstation-unpack"; name = "cloudstation-unpack";
buildInputs = [ pkgs.dpkg pkgs.qt5.qtbase ]; buildInputs = [
pkgs.dpkg
pkgs.qt5.qtbase
];
src = fetchurl { src = fetchurl {
url = url = "https://global.download.synology.com/download/Tools/CloudStationDrive/${version}-${release}/Ubuntu/Installer/x86_64/synology-cloud-station-drive-${release}.x86_64.deb";
"https://global.download.synology.com/download/Tools/CloudStationDrive/${version}-${release}/Ubuntu/Installer/x86_64/synology-cloud-station-drive-${release}.x86_64.deb";
sha256 = "0v84yb70knmmjzp7lyn6jgy5bnfsfd47wmqh29phybqg4zk3d47j"; sha256 = "0v84yb70knmmjzp7lyn6jgy5bnfsfd47wmqh29phybqg4zk3d47j";
}; };
unpackPhase = '' unpackPhase = ''
@ -27,32 +35,31 @@ let
dontWrapQtApps = true; dontWrapQtApps = true;
}; };
in buildFHSUserEnv { in buildFHSUserEnv {
name = "cloudstation"; name = "cloudstation";
targetPkgs = pkgs: targetPkgs = pkgs: with pkgs; with xorg; [
with pkgs; cloudstation
with xorg; [ curl
cloudstation dbus_libs
curl fontconfig
dbus_libs freetype
fontconfig glib
freetype libICE
glib libSM
libICE libX11
libSM libxcb
libX11 openssl
libxcb qt5.qtbase
openssl qt5.qttools
qt5.qtbase qt5.qtwayland
qt5.qttools qt5.qtx11extras
qt5.qtwayland sqlite
qt5.qtx11extras stdenv.cc.cc.lib
sqlite xkeyboard_config
stdenv.cc.cc.lib zlib
xkeyboard_config ];
zlib
];
runScript = writeScript "cloudstation" '' runScript = writeScript "cloudstation" ''
#!/usr/bin/env bash #!/usr/bin/env bash

View file

@ -1,4 +1,4 @@
with import <nixpkgs> { }; with import <nixpkgs> {};
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "helm2"; name = "helm2";
@ -8,7 +8,9 @@ stdenv.mkDerivation rec {
sha256 = "38614a665859c0f01c9c1d84fa9a5027364f936814d1e47839b05327e400bf55"; sha256 = "38614a665859c0f01c9c1d84fa9a5027364f936814d1e47839b05327e400bf55";
}; };
nativeBuildInputs = [ autoPatchelfHook ]; nativeBuildInputs = [
autoPatchelfHook
];
unpackPhase = '' unpackPhase = ''
tar xvpzf $src tar xvpzf $src

View file

@ -5,7 +5,7 @@ python38Packages.buildPythonApplication rec {
version = "3.7.0-alpha"; version = "3.7.0-alpha";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "HenriWahl"; owner = "HenriWahl";
repo = "Nagstamon"; repo = "Nagstamon";
rev = "dba37dc034589dfb312c6e8a7cc768bcd1952db9"; rev = "dba37dc034589dfb312c6e8a7cc768bcd1952db9";
sha256 = "1l095halb55qinaik51p3lxiln1s034dr28k7ra6xzrrv9l1x1xw"; sha256 = "1l095halb55qinaik51p3lxiln1s034dr28k7ra6xzrrv9l1x1xw";

View file

@ -1,4 +1,4 @@
with import <nixos-unstable> { }; with import <nixos-unstable> {};
neovim.override { neovim.override {
vimAlias = true; vimAlias = true;
@ -72,7 +72,7 @@ neovim.override {
noremap <leader>ff :FZF<cr> noremap <leader>ff :FZF<cr>
noremap <leader>fn :NnnPicker %:p:h<cr> noremap <leader>fn :NnnPicker %:p:h<cr>
noremap <leader>fc :saveas %:p:h noremap <leader>fc :saveas %:p:h
let g:which_key_map.y = { 'name': '+yank' } let g:which_key_map.y = { 'name': '+yank' }
noremap <leader>yp :read !wl-paste<cr> noremap <leader>yp :read !wl-paste<cr>
noremap <leader>yy :read !wl-paste<cr> noremap <leader>yy :read !wl-paste<cr>
@ -84,7 +84,7 @@ neovim.override {
noremap <leader>bd :bd<cr> noremap <leader>bd :bd<cr>
noremap <leader>bn :bn<cr> noremap <leader>bn :bn<cr>
noremap <leader>bp :bp<cr> noremap <leader>bp :bp<cr>
let g:which_key_map.m = { 'name': '+lang' } let g:which_key_map.m = { 'name': '+lang' }
noremap <leader>md :call LanguageClient_textDocument_codeAction()<cr> noremap <leader>md :call LanguageClient_textDocument_codeAction()<cr>
noremap <leader>mc :call LanguageClient#textDocument_references()<cr> noremap <leader>mc :call LanguageClient#textDocument_references()<cr>

View file

@ -5,14 +5,20 @@ rustPlatform.buildRustPackage rec {
version = "0.3.0"; version = "0.3.0";
src = fetchTarball { src = fetchTarball {
url = "https://ghom.niij.org/eaon/notcoal/archive/v0.3.0.tar.gz"; url = https://ghom.niij.org/eaon/notcoal/archive/v0.3.0.tar.gz;
sha256 = "19gaba6asid5vplcy9q0ama40dvwwxglc40ks5240lydrvgfrimq"; sha256 = "19gaba6asid5vplcy9q0ama40dvwwxglc40ks5240lydrvgfrimq";
}; };
cargoPatches = [ ./Cargo.lock.patch ]; cargoPatches = [
./Cargo.lock.patch
];
cargoSha256 = "0kgjxq2319l2gh1xc0f3ir1pa6z7p62z3fccswwxrz7gbn7nc07c"; cargoSha256 = "0kgjxq2319l2gh1xc0f3ir1pa6z7p62z3fccswwxrz7gbn7nc07c";
cargoBuildFlags = [ "--features=standalone" ]; cargoBuildFlags = ["--features=standalone"];
buildInputs = [
bash
notmuch
];
buildInputs = [ bash notmuch ];
meta = with lib; { meta = with lib; {
description = "An email tagger for notmuch"; description = "An email tagger for notmuch";

View file

@ -1,15 +1,16 @@
with import <nixpkgs> { }; with import <nixpkgs> {};
stdenv.mkDerivation { stdenv.mkDerivation {
name = "oc311"; name = "oc311";
version = "3.11"; version = "3.11";
src = fetchurl { src = fetchurl {
url = url = "https://github.com/openshift/origin/releases/download/v3.11.0/openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz";
"https://github.com/openshift/origin/releases/download/v3.11.0/openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz";
sha256 = "4b0f07428ba854174c58d2e38287e5402964c9a9355f6c359d1242efd0990da3"; sha256 = "4b0f07428ba854174c58d2e38287e5402964c9a9355f6c359d1242efd0990da3";
}; };
nativeBuildInputs = [ autoPatchelfHook ]; nativeBuildInputs = [
autoPatchelfHook
];
unpackPhase = '' unpackPhase = ''
tar xvpzf $src --strip-components=1 tar xvpzf $src --strip-components=1

View file

@ -1,15 +1,16 @@
with import <nixpkgs> { }; with import <nixpkgs> {};
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "oc46"; name = "oc46";
version = "4.6"; version = "4.6";
src = fetchurl { src = fetchurl {
url = url = "https://github.com/openshift/okd/releases/download/4.6.0-0.okd-2021-02-14-205305/openshift-client-linux-4.6.0-0.okd-2021-02-14-205305.tar.gz";
"https://github.com/openshift/okd/releases/download/4.6.0-0.okd-2021-02-14-205305/openshift-client-linux-4.6.0-0.okd-2021-02-14-205305.tar.gz";
sha256 = "741c456f1d5227eb40722b0dac328c78dceba5103fd306cf7fe57a9474eb3d35"; sha256 = "741c456f1d5227eb40722b0dac328c78dceba5103fd306cf7fe57a9474eb3d35";
}; };
nativeBuildInputs = [ autoPatchelfHook ]; nativeBuildInputs = [
autoPatchelfHook
];
unpackPhase = '' unpackPhase = ''
tar xvpzf $src tar xvpzf $src

View file

@ -1,16 +1,17 @@
with import <nixpkgs> { }; with import <nixpkgs> {};
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "openshift-install-4.5"; name = "openshift-install-4.5";
version = "4.5.0-0"; version = "4.5.0-0";
release = "2020-10-03-012432"; release = "2020-10-03-012432";
src = fetchurl { src = fetchurl {
url = url = "https://github.com/openshift/okd/releases/download/${version}.okd-${release}/openshift-install-linux-${version}.okd-${release}.tar.gz";
"https://github.com/openshift/okd/releases/download/${version}.okd-${release}/openshift-install-linux-${version}.okd-${release}.tar.gz";
sha256 = "f497193e8918840a4fd3267839affdc91ec166c5fd2ae3fdc64f498b5fc56f55"; sha256 = "f497193e8918840a4fd3267839affdc91ec166c5fd2ae3fdc64f498b5fc56f55";
}; };
nativeBuildInputs = [ autoPatchelfHook ]; nativeBuildInputs = [
autoPatchelfHook
];
unpackPhase = '' unpackPhase = ''
tar xvpzf $src tar xvpzf $src

View file

@ -1,15 +1,16 @@
with import <nixpkgs> { }; with import <nixpkgs> {};
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "skaffold"; name = "skaffold";
version = "1.17.2"; version = "1.17.2";
src = fetchurl { src = fetchurl {
url = url = "https://github.com/GoogleContainerTools/skaffold/releases/download/v${version}/skaffold-linux-amd64";
"https://github.com/GoogleContainerTools/skaffold/releases/download/v${version}/skaffold-linux-amd64";
sha256 = "55dea8be16fa3abd81820a6a03f5d708beb5e152fe71e00f00744a4dd321c55a"; sha256 = "55dea8be16fa3abd81820a6a03f5d708beb5e152fe71e00f00744a4dd321c55a";
}; };
nativeBuildInputs = [ autoPatchelfHook ]; nativeBuildInputs = [
autoPatchelfHook
];
unpackPhase = '' unpackPhase = ''
cp $src skaffold cp $src skaffold

View file

@ -1,8 +1,36 @@
{ lib, stdenv, makeWrapper, fetchurl, rpmextract, autoPatchelfHook, alsa-lib { lib
, cups, gdk-pixbuf, glib, gtk3, libnotify, libuuid, libX11, libXScrnSaver , stdenv
, libXcomposite, libXcursor, libXdamage, libXext, libXfixes, libXi, libXrandr , makeWrapper
, libXrender, libXtst, libxcb, libxshmfence, mesa, nspr, nss, pango, systemd , fetchurl
, libappindicator-gtk3, libdbusmenu , rpmextract
, autoPatchelfHook
, alsa-lib
, cups
, gdk-pixbuf
, glib
, gtk3
, libnotify
, libuuid
, libX11
, libXScrnSaver
, libXcomposite
, libXcursor
, libXdamage
, libXext
, libXfixes
, libXi
, libXrandr
, libXrender
, libXtst
, libxcb
, libxshmfence
, mesa
, nspr
, nss
, pango
, systemd
, libappindicator-gtk3
, libdbusmenu
}: }:
@ -11,11 +39,11 @@ stdenv.mkDerivation rec {
version = "1.1.0"; version = "1.1.0";
src = fetchurl { src = fetchurl {
url = url = "https://rpm.tuxedocomputers.com/opensuse/15.2/x86_64/tuxedo-control-center_${version}.rpm";
"https://rpm.tuxedocomputers.com/opensuse/15.2/x86_64/tuxedo-control-center_${version}.rpm";
sha256 = "0rqhfi1slnh0kkn1vnxqynxm6yb4w1mhk4vi92vj0lrxlwdxf80c"; sha256 = "0rqhfi1slnh0kkn1vnxqynxm6yb4w1mhk4vi92vj0lrxlwdxf80c";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
rpmextract rpmextract
makeWrapper makeWrapper
@ -84,9 +112,9 @@ stdenv.mkDerivation rec {
runHook postInstall runHook postInstall
''; '';
meta = with lib; { meta = with lib; {
description = description = "A tool to help you control performance, energy, fan and comfort settings on TUXEDO laptops.";
"A tool to help you control performance, energy, fan and comfort settings on TUXEDO laptops.";
homepage = "github.com/tuxedocomputers/tuxedo-control-center"; homepage = "github.com/tuxedocomputers/tuxedo-control-center";
license = licenses.gpl3Only; license = licenses.gpl3Only;
maintainers = with maintainers; [ ]; maintainers = with maintainers; [ ];

View file

@ -1,8 +1,9 @@
{ pkgs, lib, stdenv, makeDesktopItem, desktop-file-utils, { pkgs, lib, stdenv, makeDesktopItem, desktop-file-utils,
python, python,
makeWrapper, nodejs, electron_9, fetchFromGitHub }: makeWrapper, nodejs, electron_9, fetchFromGitHub
}:
let let
baseName = "tuxedo-control-center"; baseName = "tuxedo-control-center";
@ -26,13 +27,13 @@ let
# #
# This means we have to provide our own electron binaries when # This means we have to provide our own electron binaries when
# wrapping this program. # wrapping this program.
ELECTRON_SKIP_BINARY_DOWNLOAD = 1; ELECTRON_SKIP_BINARY_DOWNLOAD=1;
# Angular prompts for analytics, which in turn fails the build. # Angular prompts for analytics, which in turn fails the build.
# #
# We can disable analytics using false or empty string # We can disable analytics using false or empty string
# (See https://github.com/angular/angular-cli/blob/1a39c5202a6fe159f8d7db85a1c186176240e437/packages/angular/cli/models/analytics.ts#L506) # (See https://github.com/angular/angular-cli/blob/1a39c5202a6fe159f8d7db85a1c186176240e437/packages/angular/cli/models/analytics.ts#L506)
NG_CLI_ANALYTICS = "false"; NG_CLI_ANALYTICS="false";
}; };
desktopItem = makeDesktopItem { desktopItem = makeDesktopItem {
@ -43,8 +44,9 @@ let
icon = "tuxedo-control-center"; icon = "tuxedo-control-center";
categories = "System;"; categories = "System;";
}; };
in
in stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${baseName}-${version}"; name = "${baseName}-${version}";
src = "${nodePackages}/lib/node_modules/tuxedo-control-center/"; src = "${nodePackages}/lib/node_modules/tuxedo-control-center/";
@ -68,7 +70,7 @@ in stdenv.mkDerivation rec {
substituteInPlace src/common/classes/TccPaths.ts \ substituteInPlace src/common/classes/TccPaths.ts \
--replace "/etc/tcc" "/var/lib/tcc" \ --replace "/etc/tcc" "/var/lib/tcc" \
--replace "/opt/tuxedo-control-center/resources/dist/tuxedo-control-center/data/service/tccd" "$out/bin/tccd" --replace "/opt/tuxedo-control-center/resources/dist/tuxedo-control-center/data/service/tccd" "$out/bin/tccd"
''; '';
buildPhase = '' buildPhase = ''
set -x set -x

View file

@ -1,7 +1,8 @@
# This file has been generated by node2nix 1.9.0. Do not edit! # This file has been generated by node2nix 1.9.0. Do not edit!
{ pkgs ? import <nixpkgs> { inherit system; }, system ? builtins.currentSystem {pkgs ? import <nixpkgs> {
, nodejs ? pkgs."nodejs-14_x" }: inherit system;
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}:
let let
nodeEnv = import ./node-env.nix { nodeEnv = import ./node-env.nix {
@ -9,7 +10,8 @@ let
inherit pkgs nodejs; inherit pkgs nodejs;
libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null; libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
}; };
in import ./node-packages.nix { in
import ./node-packages.nix {
inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit; inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
inherit nodeEnv; inherit nodeEnv;
} }

View file

@ -1,6 +1,6 @@
# This file originates from node2nix # This file originates from node2nix
{ lib, stdenv, nodejs, python2, pkgs, libtool, runCommand, writeTextFile }: {lib, stdenv, nodejs, python2, pkgs, libtool, runCommand, writeTextFile}:
let let
# Workaround to cope with utillinux in Nixpkgs 20.09 and util-linux in Nixpkgs master # Workaround to cope with utillinux in Nixpkgs 20.09 and util-linux in Nixpkgs master
@ -9,7 +9,7 @@ let
python = if nodejs ? python then nodejs.python else python2; python = if nodejs ? python then nodejs.python else python2;
# Create a tar wrapper that filters all the 'Ignoring unknown extended header keyword' noise # Create a tar wrapper that filters all the 'Ignoring unknown extended header keyword' noise
tarWrapper = runCommand "tarWrapper" { } '' tarWrapper = runCommand "tarWrapper" {} ''
mkdir -p $out/bin mkdir -p $out/bin
cat > $out/bin/tar <<EOF cat > $out/bin/tar <<EOF
@ -21,7 +21,8 @@ let
''; '';
# Function that generates a TGZ file from a NPM project # Function that generates a TGZ file from a NPM project
buildNodeSourceDist = { name, version, src, ... }: buildNodeSourceDist =
{ name, version, src, ... }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "node-tarball-${name}-${version}"; name = "node-tarball-${name}-${version}";
@ -39,24 +40,26 @@ let
''; '';
}; };
includeDependencies = { dependencies }: includeDependencies = {dependencies}:
lib.optionalString (dependencies != [ ]) (lib.concatMapStrings lib.optionalString (dependencies != [])
(dependency: '' (lib.concatMapStrings (dependency:
# Bundle the dependencies of the package ''
mkdir -p node_modules # Bundle the dependencies of the package
cd node_modules mkdir -p node_modules
cd node_modules
# Only include dependencies if they don't exist. They may also be bundled in the package. # Only include dependencies if they don't exist. They may also be bundled in the package.
if [ ! -e "${dependency.name}" ] if [ ! -e "${dependency.name}" ]
then then
${composePackage dependency} ${composePackage dependency}
fi fi
cd .. cd ..
'') dependencies); ''
) dependencies);
# Recursively composes the dependencies of a package # Recursively composes the dependencies of a package
composePackage = { name, packageName, src, dependencies ? [ ], ... }@args: composePackage = { name, packageName, src, dependencies ? [], ... }@args:
builtins.addErrorContext "while evaluating node package '${packageName}'" '' builtins.addErrorContext "while evaluating node package '${packageName}'" ''
DIR=$(pwd) DIR=$(pwd)
cd $TMPDIR cd $TMPDIR
@ -103,7 +106,7 @@ let
${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."} ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
''; '';
pinpointDependencies = { dependencies, production }: pinpointDependencies = {dependencies, production}:
let let
pinpointDependenciesFromPackageJSON = writeTextFile { pinpointDependenciesFromPackageJSON = writeTextFile {
name = "pinpointDependencies.js"; name = "pinpointDependencies.js";
@ -157,46 +160,39 @@ let
fs.writeFileSync("package.json", JSON.stringify(packageObj, null, 2)); fs.writeFileSync("package.json", JSON.stringify(packageObj, null, 2));
''; '';
}; };
in '' in
node ${pinpointDependenciesFromPackageJSON} ${ ''
if production then "production" else "development" node ${pinpointDependenciesFromPackageJSON} ${if production then "production" else "development"}
}
${lib.optionalString (dependencies != [ ]) '' ${lib.optionalString (dependencies != [])
if [ -d node_modules ] ''
then if [ -d node_modules ]
cd node_modules then
${ cd node_modules
lib.concatMapStrings ${lib.concatMapStrings (dependency: pinpointDependenciesOfPackage dependency) dependencies}
(dependency: pinpointDependenciesOfPackage dependency) cd ..
dependencies fi
} ''}
cd ..
fi
''}
''; '';
# Recursively traverses all dependencies of a package and pinpoints all # Recursively traverses all dependencies of a package and pinpoints all
# dependencies in the package.json file to the versions that are actually # dependencies in the package.json file to the versions that are actually
# being used. # being used.
pinpointDependenciesOfPackage = pinpointDependenciesOfPackage = { packageName, dependencies ? [], production ? true, ... }@args:
{ packageName, dependencies ? [ ], production ? true, ... }@args: '' ''
if [ -d "${packageName}" ] if [ -d "${packageName}" ]
then then
cd "${packageName}" cd "${packageName}"
${pinpointDependencies { inherit dependencies production; }} ${pinpointDependencies { inherit dependencies production; }}
cd .. cd ..
${ ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
lib.optionalString (builtins.substring 0 1 packageName == "@")
"cd .."
}
fi fi
''; '';
# Extract the Node.js source code which is used to compile packages with # Extract the Node.js source code which is used to compile packages with
# native bindings # native bindings
nodeSources = runCommand "node-sources" { } '' nodeSources = runCommand "node-sources" {} ''
tar --no-same-owner --no-same-permissions -xf ${nodejs.src} tar --no-same-owner --no-same-permissions -xf ${nodejs.src}
mv node-* $out mv node-* $out
''; '';
@ -324,97 +320,93 @@ let
''; '';
}; };
prepareAndInvokeNPM = prepareAndInvokeNPM = {packageName, bypassCache, reconstructLock, npmFlags, production}:
{ packageName, bypassCache, reconstructLock, npmFlags, production }:
let let
forceOfflineFlag = if bypassCache then forceOfflineFlag = if bypassCache then "--offline" else "--registry http://www.example.com";
"--offline" in
else ''
"--registry http://www.example.com"; # Pinpoint the versions of all dependencies to the ones that are actually being used
in '' echo "pinpointing versions of dependencies..."
# Pinpoint the versions of all dependencies to the ones that are actually being used source $pinpointDependenciesScriptPath
echo "pinpointing versions of dependencies..."
source $pinpointDependenciesScriptPath
# Patch the shebangs of the bundled modules to prevent them from # Patch the shebangs of the bundled modules to prevent them from
# calling executables outside the Nix store as much as possible # calling executables outside the Nix store as much as possible
patchShebangs . patchShebangs .
# Deploy the Node.js package by running npm install. Since the # Deploy the Node.js package by running npm install. Since the
# dependencies have been provided already by ourselves, it should not # dependencies have been provided already by ourselves, it should not
# attempt to install them again, which is good, because we want to make # attempt to install them again, which is good, because we want to make
# it Nix's responsibility. If it needs to install any dependencies # it Nix's responsibility. If it needs to install any dependencies
# anyway (e.g. because the dependency parameters are # anyway (e.g. because the dependency parameters are
# incomplete/incorrect), it fails. # incomplete/incorrect), it fails.
# #
# The other responsibilities of NPM are kept -- version checks, build # The other responsibilities of NPM are kept -- version checks, build
# steps, postprocessing etc. # steps, postprocessing etc.
export HOME=$TMPDIR export HOME=$TMPDIR
cd "${packageName}" cd "${packageName}"
runHook preRebuild runHook preRebuild
${lib.optionalString bypassCache '' ${lib.optionalString bypassCache ''
${lib.optionalString reconstructLock '' ${lib.optionalString reconstructLock ''
if [ -f package-lock.json ] if [ -f package-lock.json ]
then then
echo "WARNING: Reconstruct lock option enabled, but a lock file already exists!" echo "WARNING: Reconstruct lock option enabled, but a lock file already exists!"
echo "This will most likely result in version mismatches! We will remove the lock file and regenerate it!" echo "This will most likely result in version mismatches! We will remove the lock file and regenerate it!"
rm package-lock.json rm package-lock.json
else else
echo "No package-lock.json file found, reconstructing..." echo "No package-lock.json file found, reconstructing..."
fi fi
node ${reconstructPackageLock} node ${reconstructPackageLock}
''}
node ${addIntegrityFieldsScript}
''} ''}
node ${addIntegrityFieldsScript} npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${lib.optionalString production "--production"} rebuild
''}
npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${ if [ "''${dontNpmInstall-}" != "1" ]
lib.optionalString production "--production" then
} rebuild # NPM tries to download packages even when they already exist if npm-shrinkwrap is used.
rm -f npm-shrinkwrap.json
if [ "''${dontNpmInstall-}" != "1" ] npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${lib.optionalString production "--production"} install
then fi
# NPM tries to download packages even when they already exist if npm-shrinkwrap is used.
rm -f npm-shrinkwrap.json
npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${
lib.optionalString production "--production"
} install
fi
''; '';
# Builds and composes an NPM package including all its dependencies # Builds and composes an NPM package including all its dependencies
buildNodePackage = { name, packageName, version, dependencies ? [ ] buildNodePackage =
, buildInputs ? [ ], production ? true, npmFlags ? "" { name
, dontNpmInstall ? false, bypassCache ? false, reconstructLock ? false , packageName
, preRebuild ? "", dontStrip ? true, unpackPhase ? "true" , version
, buildPhase ? "true", meta ? { }, ... }@args: , dependencies ? []
, buildInputs ? []
, production ? true
, npmFlags ? ""
, dontNpmInstall ? false
, bypassCache ? false
, reconstructLock ? false
, preRebuild ? ""
, dontStrip ? true
, unpackPhase ? "true"
, buildPhase ? "true"
, meta ? {}
, ... }@args:
let let
extraArgs = removeAttrs args [ extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" "meta" ];
"name" in
"dependencies" stdenv.mkDerivation ({
"buildInputs"
"dontStrip"
"dontNpmInstall"
"preRebuild"
"unpackPhase"
"buildPhase"
"meta"
];
in stdenv.mkDerivation ({
name = "${name}-${version}"; name = "${name}-${version}";
buildInputs = [ tarWrapper python nodejs ] buildInputs = [ tarWrapper python nodejs ]
++ lib.optional (stdenv.isLinux) utillinux ++ lib.optional (stdenv.isLinux) utillinux
++ lib.optional (stdenv.isDarwin) libtool ++ buildInputs; ++ lib.optional (stdenv.isDarwin) libtool
++ buildInputs;
inherit nodejs; inherit nodejs;
inherit inherit dontStrip; # Stripping may fail a build for some package deployments
dontStrip; # Stripping may fail a build for some package deployments
inherit dontNpmInstall preRebuild unpackPhase buildPhase; inherit dontNpmInstall preRebuild unpackPhase buildPhase;
compositionScript = composePackage args; compositionScript = composePackage args;
@ -430,9 +422,7 @@ let
# Compose the package and all its dependencies # Compose the package and all its dependencies
source $compositionScriptPath source $compositionScriptPath
${prepareAndInvokeNPM { ${prepareAndInvokeNPM { inherit packageName bypassCache reconstructLock npmFlags production; }}
inherit packageName bypassCache reconstructLock npmFlags production;
}}
# Create symlink to the deployed executable folder, if applicable # Create symlink to the deployed executable folder, if applicable
if [ -d "$out/lib/node_modules/.bin" ] if [ -d "$out/lib/node_modules/.bin" ]
@ -465,75 +455,98 @@ let
} // extraArgs); } // extraArgs);
# Builds a node environment (a node_modules folder and a set of binaries) # Builds a node environment (a node_modules folder and a set of binaries)
buildNodeDependencies = { name, packageName, version, src, dependencies ? [ ] buildNodeDependencies =
, buildInputs ? [ ], production ? true, npmFlags ? "" { name
, dontNpmInstall ? false, bypassCache ? false, reconstructLock ? false , packageName
, dontStrip ? true, unpackPhase ? "true", buildPhase ? "true", ... }@args: , version
, src
, dependencies ? []
, buildInputs ? []
, production ? true
, npmFlags ? ""
, dontNpmInstall ? false
, bypassCache ? false
, reconstructLock ? false
, dontStrip ? true
, unpackPhase ? "true"
, buildPhase ? "true"
, ... }@args:
let extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" ]; let
in stdenv.mkDerivation ({ extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" ];
name = "node-dependencies-${name}-${version}"; in
stdenv.mkDerivation ({
name = "node-dependencies-${name}-${version}";
buildInputs = [ tarWrapper python nodejs ] buildInputs = [ tarWrapper python nodejs ]
++ lib.optional (stdenv.isLinux) utillinux ++ lib.optional (stdenv.isLinux) utillinux
++ lib.optional (stdenv.isDarwin) libtool ++ buildInputs; ++ lib.optional (stdenv.isDarwin) libtool
++ buildInputs;
inherit inherit dontStrip; # Stripping may fail a build for some package deployments
dontStrip; # Stripping may fail a build for some package deployments inherit dontNpmInstall unpackPhase buildPhase;
inherit dontNpmInstall unpackPhase buildPhase;
includeScript = includeDependencies { inherit dependencies; }; includeScript = includeDependencies { inherit dependencies; };
pinpointDependenciesScript = pinpointDependenciesOfPackage args; pinpointDependenciesScript = pinpointDependenciesOfPackage args;
passAsFile = [ "includeScript" "pinpointDependenciesScript" ]; passAsFile = [ "includeScript" "pinpointDependenciesScript" ];
installPhase = '' installPhase = ''
mkdir -p $out/${packageName} mkdir -p $out/${packageName}
cd $out/${packageName} cd $out/${packageName}
source $includeScriptPath source $includeScriptPath
# Create fake package.json to make the npm commands work properly # Create fake package.json to make the npm commands work properly
cp ${src}/package.json . cp ${src}/package.json .
chmod 644 package.json chmod 644 package.json
${lib.optionalString bypassCache '' ${lib.optionalString bypassCache ''
if [ -f ${src}/package-lock.json ] if [ -f ${src}/package-lock.json ]
then then
cp ${src}/package-lock.json . cp ${src}/package-lock.json .
fi fi
''} ''}
# Go to the parent folder to make sure that all packages are pinpointed # Go to the parent folder to make sure that all packages are pinpointed
cd .. cd ..
${lib.optionalString (builtins.substring 0 1 packageName == "@") ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
"cd .."}
${prepareAndInvokeNPM { ${prepareAndInvokeNPM { inherit packageName bypassCache reconstructLock npmFlags production; }}
inherit packageName bypassCache reconstructLock npmFlags production;
}}
# Expose the executables that were installed # Expose the executables that were installed
cd .. cd ..
${lib.optionalString (builtins.substring 0 1 packageName == "@") ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
"cd .."}
mv ${packageName} lib mv ${packageName} lib
ln -s $out/lib/node_modules/.bin $out/bin ln -s $out/lib/node_modules/.bin $out/bin
''; '';
} // extraArgs); } // extraArgs);
# Builds a development shell # Builds a development shell
buildNodeShell = { name, packageName, version, src, dependencies ? [ ] buildNodeShell =
, buildInputs ? [ ], production ? true, npmFlags ? "" { name
, dontNpmInstall ? false, bypassCache ? false, reconstructLock ? false , packageName
, dontStrip ? true, unpackPhase ? "true", buildPhase ? "true", ... }@args: , version
, src
, dependencies ? []
, buildInputs ? []
, production ? true
, npmFlags ? ""
, dontNpmInstall ? false
, bypassCache ? false
, reconstructLock ? false
, dontStrip ? true
, unpackPhase ? "true"
, buildPhase ? "true"
, ... }@args:
let nodeDependencies = buildNodeDependencies args; let
in stdenv.mkDerivation { nodeDependencies = buildNodeDependencies args;
in
stdenv.mkDerivation {
name = "node-shell-${name}-${version}"; name = "node-shell-${name}-${version}";
buildInputs = [ python nodejs ] ++ lib.optional (stdenv.isLinux) utillinux buildInputs = [ python nodejs ] ++ lib.optional (stdenv.isLinux) utillinux ++ buildInputs;
++ buildInputs;
buildCommand = '' buildCommand = ''
mkdir -p $out/bin mkdir -p $out/bin
cat > $out/bin/shell <<EOF cat > $out/bin/shell <<EOF
@ -546,12 +559,13 @@ let
# Provide the dependencies in a development shell through the NODE_PATH environment variable # Provide the dependencies in a development shell through the NODE_PATH environment variable
inherit nodeDependencies; inherit nodeDependencies;
shellHook = lib.optionalString (dependencies != [ ]) '' shellHook = lib.optionalString (dependencies != []) ''
export NODE_PATH=${nodeDependencies}/lib/node_modules export NODE_PATH=${nodeDependencies}/lib/node_modules
export PATH="${nodeDependencies}/bin:$PATH" export PATH="${nodeDependencies}/bin:$PATH"
''; '';
}; };
in { in
{
buildNodeSourceDist = lib.makeOverridable buildNodeSourceDist; buildNodeSourceDist = lib.makeOverridable buildNodeSourceDist;
buildNodePackage = lib.makeOverridable buildNodePackage; buildNodePackage = lib.makeOverridable buildNodePackage;
buildNodeDependencies = lib.makeOverridable buildNodeDependencies; buildNodeDependencies = lib.makeOverridable buildNodeDependencies;

File diff suppressed because it is too large Load diff

View file

@ -3,8 +3,9 @@
let let
kernel = linuxPackages.kernel; kernel = linuxPackages.kernel;
kernelDir = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"; kernelDir = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
in
in stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "tuxedo-keyboard"; name = "tuxedo-keyboard";
version = "v3.0.8"; version = "v3.0.8";
@ -32,8 +33,7 @@ in stdenv.mkDerivation rec {
''; '';
meta = { meta = {
homepage = homepage = https://github.com/tuxedocomputers/tuxedo-keyboard/blob/master/Makefile;
"https://github.com/tuxedocomputers/tuxedo-keyboard/blob/master/Makefile";
}; };
} }

View file

@ -1,15 +1,16 @@
with import <nixpkgs> { }; with import <nixpkgs> {};
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "vaultsink"; name = "vaultsink";
version = "0.1.8"; version = "0.1.8";
src = fetchurl { src = fetchurl {
url = url = "https://github.com/cookiefactory/vault-sink/releases/download/v${version}/vault-sink-linux-amd64";
"https://github.com/cookiefactory/vault-sink/releases/download/v${version}/vault-sink-linux-amd64";
sha256 = "057799e7f907186993b591e3b2f743b69d7a9fed"; sha256 = "057799e7f907186993b591e3b2f743b69d7a9fed";
}; };
nativeBuildInputs = [ autoPatchelfHook ]; nativeBuildInputs = [
autoPatchelfHook
];
installPhase = '' installPhase = ''
install -m 755 -D vault-sink-linux-amd64 $out/bin/sink install -m 755 -D vault-sink-linux-amd64 $out/bin/sink

View file

@ -1,6 +1,7 @@
{ pkgs, options, ... }: { pkgs, options, ...}:
let unstable = import <nixos-unstable> { }; let
unstable = import <nixos-unstable> {};
in { in {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
cryptsetup cryptsetup
@ -28,8 +29,8 @@ in {
]; ];
virtualisation.docker = { virtualisation.docker = {
enable = true; enable = true;
storageDriver = "zfs"; storageDriver = "zfs";
}; };
virtualisation.libvirtd.enable = true; virtualisation.libvirtd.enable = true;
} }

View file

@ -1,6 +1,7 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let unstable = import <nixos-unstable> { }; let
unstable = import <nixos-unstable> {};
in { in {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
acpi acpi
@ -41,7 +42,9 @@ in {
]; ];
environment = { environment = {
etc = { "starship.toml".source = ../dotfiles/starship.toml; }; etc = {
"starship.toml".source = ../dotfiles/starship.toml;
};
variables = { variables = {
BAT_THEME = "ansi"; BAT_THEME = "ansi";
@ -138,9 +141,9 @@ in {
services.lorri.enable = true; services.lorri.enable = true;
security.wrappers.gvfsd-nfs = { security.wrappers.gvfsd-nfs = {
source = "${pkgs.gnome.gvfs}/libexec/gvfsd-nfs"; source = "${pkgs.gnome.gvfs}/libexec/gvfsd-nfs";
owner = "nobody"; owner = "nobody";
group = "nogroup"; group = "nogroup";
capabilities = "cap_net_bind_service+ep"; capabilities = "cap_net_bind_service+ep";
}; };
services.gvfs = { services.gvfs = {

View file

@ -5,8 +5,6 @@
let let
colors = config.colors; colors = config.colors;
schema = pkgs.gsettings-desktop-schemas;
datadir = "${schema}/share/gsettings-schemas/${schema.name}";
unstable = import <nixos-unstable> { config.allowUnfree = true; }; unstable = import <nixos-unstable> { config.allowUnfree = true; };
in { in {
@ -19,22 +17,25 @@ in {
i3status-rust i3status-rust
kanshi kanshi
mako mako
redshift-wlr
slurp slurp
swayidle swayidle
swaylock swaylock
wf-recorder
xwayland xwayland
wf-recorder
]; ];
extraSessionCommands = "";
}; };
xdg.portal = { xdg.portal = {
enable = true; enable = true;
gtkUsePortal = true; gtkUsePortal = true;
extraPortals = with pkgs; [ xdg-desktop-portal-gtk xdg-desktop-portal-wlr ]; extraPortals = with pkgs; [
xdg-desktop-portal-gtk
xdg-desktop-portal-wlr
];
}; };
boot.extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ]; boot.extraModulePackages = with config.boot.kernelPackages; [
v4l2loopback
];
colors = { colors = {
background = "#282a36"; background = "#282a36";
@ -44,7 +45,7 @@ in {
green = "#50fa7b"; green = "#50fa7b";
yellow = "#f1fa8c"; yellow = "#f1fa8c";
cyan = "#8be9fd"; cyan = "#8be9fd";
magenta = "#bd93f9"; magenta ="#bd93f9";
blue = "#61bfff"; blue = "#61bfff";
white = "#ffffff"; white = "#ffffff";
}; };
@ -54,37 +55,37 @@ in {
"sway/config".source = ../dotfiles/sway/config; "sway/config".source = ../dotfiles/sway/config;
"sway/status.toml".source = ../dotfiles/sway/status.toml; "sway/status.toml".source = ../dotfiles/sway/status.toml;
"xdg/alacritty/alacritty.yml".text = '' "xdg/alacritty/alacritty.yml".text = ''
font: font:
normal: normal:
family: CaskaydiaCove Nerd Font family: CaskaydiaCove Nerd Font
size: 12 size: 12
background_opacity: 0.98 background_opacity: 0.98
draw_bold_text_with_bright_colors: true draw_bold_text_with_bright_colors: true
colors: colors:
primary: primary:
background: "${colors.background}" background: "${colors.background}"
foreground: "${colors.foreground}" foreground: "${colors.foreground}"
normal: normal:
black: "${colors.black}" black: "${colors.black}"
red: "${colors.red}" red: "${colors.red}"
green: "${colors.green}" green: "${colors.green}"
yellow: "${colors.yellow}" yellow: "${colors.yellow}"
cyan: "${colors.cyan}" cyan: "${colors.cyan}"
magenta: "${colors.magenta}" magenta: "${colors.magenta}"
blue: "${colors.blue}" blue: "${colors.blue}"
white: "${colors.white}" white: "${colors.white}"
window: window:
dynamic_title: true dynamic_title: true
env: env:
TERM: xterm-256color TERM: xterm-256color
key_bindings: key_bindings:
- { key: Escape, mods: Control, action: ToggleViMode } - { key: Escape, mods: Control, action: ToggleViMode }
''; '';
}; };
}; };
@ -99,7 +100,9 @@ in {
jack.enable = true; jack.enable = true;
config.pipewire = { config.pipewire = {
"context.properties" = { "default.clock.rate" = 48000; }; "context.properties" = {
"default.clock.rate" = 48000;
};
}; };
}; };
services.udev.packages = [ services.udev.packages = [
@ -120,11 +123,13 @@ in {
fira-code fira-code
noto-fonts noto-fonts
noto-fonts-emoji noto-fonts-emoji
(nerdfonts.override { fonts = [ "CascadiaCode" "Meslo" ]; }) (nerdfonts.override {
fonts = [ "CascadiaCode" "Meslo" ];
})
]; ];
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
environment.pathsToLink = [ "/libexec" ]; environment.pathsToLink = ["/libexec"];
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
polkit_gnome polkit_gnome
@ -146,9 +151,7 @@ in {
arc-theme arc-theme
capitaine-cursors capitaine-cursors
dracula-theme
elementary-xfce-icon-theme elementary-xfce-icon-theme
glib
gsettings-desktop-schemas gsettings-desktop-schemas
gtk-engine-murrine gtk-engine-murrine
gtk_engines gtk_engines
@ -184,29 +187,30 @@ in {
xfce.thunar xfce.thunar
xfce.thunar-volman xfce.thunar-volman
ydotool ydotool
(pkgs.writeTextFile { (
name = "startsway"; pkgs.writeTextFile {
destination = "/bin/startsway"; name = "startsway";
executable = true; destination = "/bin/startsway";
text = '' executable = true;
#! ${pkgs.bash}/bin/bash text = ''
#! ${pkgs.bash}/bin/bash
export GTK_ICON_THEME=Dracula export GTK_ICON_THEME=Tango
export GTK_THEME=Dracula export GTK_THEME=Blackbird
export _JAVA_AWT_WM_NOREPARENTING=1 export _JAVA_AWT_WM_NOREPARENTING=1
export MOZ_ENABLE_WAYLAND=1 export MOZ_ENABLE_WAYLAND=1
export MOZ_USE_XINPUT2=1 export MOZ_USE_XINPUT2=1
export QT_AUTO_SCREEN_SCALE_FACTOR=0 export QT_AUTO_SCREEN_SCALE_FACTOR=0
export QT_QPA_PLATFORM=wayland-egl export QT_QPA_PLATFORM=wayland-egl
export QT_WAYLAND_FORCE_DPI=96 export QT_WAYLAND_FORCE_DPI=96
export SDL_VIDEODRIVER=wayland export SDL_VIDEODRIVER=wayland
export XDG_CURRENT_DESKTOP=sway export XDG_CURRENT_DESKTOP=sway
export XDG_DATA_DIRS=${datadir}:$XDG_DATA_DIRS export XDG_SESSION_TYPE=wayland
export XDG_SESSION_TYPE=wayland
${pkgs.dbus}/bin/dbus-run-session ${pkgs.sway}/bin/sway ${pkgs.dbus}/bin/dbus-run-session ${pkgs.sway}/bin/sway
''; '';
}) }
)
]; ];
hardware.bluetooth.enable = true; hardware.bluetooth.enable = true;
@ -221,9 +225,14 @@ in {
}; };
services.printing.enable = true; services.printing.enable = true;
services.printing.drivers = [ pkgs.gutenprint ]; services.printing.drivers = [
pkgs.gutenprint
];
services.avahi.enable = true; services.avahi.enable = true;
services.avahi.nssmdns = true; services.avahi.nssmdns = true;
hardware.opengl = { enable = true; };
hardware.opengl = {
enable = true;
};
} }

View file

@ -1,6 +1,7 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let unstable = import <nixos-unstable> { }; let
unstable = import <nixos-unstable> {};
in { in {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
@ -14,8 +15,12 @@ in {
#unstable.esphome #unstable.esphome
nodePackages.pyright nodePackages.pyright
(python39.withPackages (python39.withPackages(python-packages: with python-packages; [
(python-packages: with python-packages; [ black pyyaml requests black ])) black
pyyaml
requests
black
]))
mariadb-client mariadb-client
musl musl
@ -30,12 +35,6 @@ in {
tig tig
unstable.bazel unstable.bazel
openssl openssl pkg-config nasm cmake zlib gcc binutils-unwrapped
pkg-config
nasm
cmake
zlib
gcc
binutils-unwrapped
]; ];
} }

View file

@ -2,7 +2,7 @@
let let
unstable = import <nixos-unstable> { config.allowUnfree = true; }; unstable = import <nixos-unstable> { config.allowUnfree = true; };
notcoal = pkgs.callPackage (import ../packages/notcoal) { }; notcoal = pkgs.callPackage (import ../packages/notcoal) {};
in { in {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
unstable.astroid unstable.astroid

View file

@ -1,6 +1,7 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let unstable = import <nixos-unstable> { config.allowUnfree = true; }; let
unstable = import <nixos-unstable> { config.allowUnfree = true; };
in { in {
networking.networkmanager.enable = true; networking.networkmanager.enable = true;

View file

@ -1,30 +1,30 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let unstable = import <nixos-unstable> { }; let
unstable = import <nixos-unstable> {};
in { in {
environment.systemPackages = with pkgs; environment.systemPackages = with pkgs; [
[ # embedded
# embedded #arduino
#arduino #avrdude
#avrdude #gcc-arm-embedded
#gcc-arm-embedded #openocd
#openocd #pkgsCross.avr.avrlibc
#pkgsCross.avr.avrlibc #pkgsCross.avr.buildPackages.binutils
#pkgsCross.avr.buildPackages.binutils #pkgsCross.avr.buildPackages.gcc8
#pkgsCross.avr.buildPackages.gcc8 #pkgsCross.avr.libcCross
#pkgsCross.avr.libcCross
#cura #cura
#candle #candle
openscad openscad
#kicad #kicad
#blender #blender
#python3Packages.numpy #python3Packages.numpy
#python3Packages.shapely #python3Packages.shapely
#steam #steam
#unstable.obs-studio #unstable.obs-studio
]; ];
# stm32 debugger # stm32 debugger
users.extraGroups.plugdev = { }; users.extraGroups.plugdev = { };

View file

@ -2,5 +2,7 @@
{ {
networking.wireguard.enable = true; networking.wireguard.enable = true;
environment.systemPackages = with pkgs; [ wireguard ]; environment.systemPackages = with pkgs; [
wireguard
];
} }

View file

@ -2,9 +2,8 @@
let let
unstable = import <nixos-unstable> { config.allowUnfree = true; }; unstable = import <nixos-unstable> { config.allowUnfree = true; };
cloudstation = pkgs.callPackage (import ../packages/cloudstation.nix) { }; cloudstation = pkgs.callPackage (import ../packages/cloudstation.nix) {};
nagstamon = nagstamon = pkgs.libsForQt5.callPackage (import ../packages/nagstamon.nix) {};
pkgs.libsForQt5.callPackage (import ../packages/nagstamon.nix) { };
in { in {
security.pki.certificateFiles = [ security.pki.certificateFiles = [