mirror of
https://github.com/gensokyo-zone/infrastructure.git
synced 2026-02-09 04:19:19 -08:00
nixdirfmt!
This commit is contained in:
parent
bfdd94bf7e
commit
ad1faf2f24
18 changed files with 151 additions and 166 deletions
|
|
@ -1,7 +1,6 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
sources = import ../../nix/sources.nix;
|
||||
let sources = import ../../nix/sources.nix;
|
||||
in {
|
||||
imports = [ ../../modules ../users (sources.home-manager + "/nixos") ];
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@
|
|||
./matrix.nix
|
||||
];
|
||||
|
||||
meta.deploy.profiles = [];
|
||||
meta.deploy.profiles = [ ];
|
||||
meta.deploy.ssh.host = "athame.kittywit.ch";
|
||||
|
||||
boot.loader.grub.enable = true;
|
||||
|
|
|
|||
|
|
@ -2,22 +2,18 @@
|
|||
|
||||
let secrets = (import ../../../secrets.nix);
|
||||
in {
|
||||
security.acme = {
|
||||
certs."kittywit.ch" = {
|
||||
group = "kittywit-ch";
|
||||
};
|
||||
};
|
||||
security.acme = { certs."kittywit.ch" = { group = "kittywit-ch"; }; };
|
||||
|
||||
users.groups."kittywit-ch".members = ["murmur" "nginx"];
|
||||
users.groups."kittywit-ch".members = [ "murmur" "nginx" ];
|
||||
|
||||
services.murmur = {
|
||||
enable = true;
|
||||
services.murmur = {
|
||||
enable = true;
|
||||
|
||||
hostName = "kittywit.ch";
|
||||
hostName = "kittywit.ch";
|
||||
|
||||
extraConfig = ''
|
||||
sslCert=/var/lib/acme/kittywit.ch/fullchain.pem
|
||||
sslKey=/var/lib/acme/kittywit.ch/key.pem
|
||||
'';
|
||||
};
|
||||
extraConfig = ''
|
||||
sslCert=/var/lib/acme/kittywit.ch/fullchain.pem
|
||||
sslKey=/var/lib/acme/kittywit.ch/key.pem
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
#./wireguard.nix
|
||||
];
|
||||
|
||||
meta.deploy.profiles = [];
|
||||
meta.deploy.profiles = [ ];
|
||||
meta.deploy.ssh.host = "boline.kittywit.ch";
|
||||
|
||||
boot.loader.grub.enable = true;
|
||||
|
|
|
|||
|
|
@ -61,31 +61,31 @@ in {
|
|||
SUBSYSTEM=="i2c-dev", GROUP="users", MODE="0660"
|
||||
SUBSYSTEM=="usb", ACTION=="add", ATTRS{idVendor}=="fa58", ATTRS{idProduct}=="04d9", GROUP="users"
|
||||
SUBSYSTEM=="misc", KERNEL=="uinput", OPTIONS+="static_node=uinput", MODE="0660", GROUP="uinput"
|
||||
SUBSYSTEM=="input", ACTION=="add", DEVPATH=="/devices/virtual/input/*", MODE="0660", GROUP="qemu-libvirtd", RUN+="${pkgs.writeShellScript "mewdev" "${pkgs.coreutils}/bin/echo 'c 13:* rw' > /sys/fs/cgroup/devices/machine.slice/machine-qemu*/devices.allow"}"
|
||||
SUBSYSTEM=="input", ACTION=="add", DEVPATH=="/devices/virtual/input/*", MODE="0660", GROUP="qemu-libvirtd", RUN+="${
|
||||
pkgs.writeShellScript "mewdev"
|
||||
"${pkgs.coreutils}/bin/echo 'c 13:* rw' > /sys/fs/cgroup/devices/machine.slice/machine-qemu*/devices.allow"
|
||||
}"
|
||||
'';
|
||||
|
||||
environment.systemPackages = [
|
||||
# pkgs.nur.repos.arc.packages.screenstub # for DDC/CI and input forwarding (currently disabled due to using changed source)
|
||||
pkgs.arc.pkgs.scream-arc # for audio forwarding
|
||||
pkgs.screenstub # for input handling
|
||||
pkgs.screenstub # for input handling
|
||||
pkgs.ddcutil # for diagnostics on DDC/CI
|
||||
pkgs.virt-manager # obvious reasons
|
||||
];
|
||||
|
||||
home-manager.users.kat = {
|
||||
# audio for vm on startup
|
||||
# audio for vm on startup
|
||||
systemd.user.services = {
|
||||
scream = {
|
||||
Unit = {
|
||||
Description = "Scream - Audio forwarding from the VM.";
|
||||
};
|
||||
Unit = { Description = "Scream - Audio forwarding from the VM."; };
|
||||
Service = {
|
||||
ExecStart = "${pkgs.arc.pkgs.scream-arc}/bin/scream -i virbr0 -o pulse";
|
||||
ExecStart =
|
||||
"${pkgs.arc.pkgs.scream-arc}/bin/scream -i virbr0 -o pulse";
|
||||
Restart = "always";
|
||||
};
|
||||
Install = {
|
||||
WantedBy = [ "default.target" ];
|
||||
};
|
||||
Install = { WantedBy = [ "default.target" ]; };
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit 49b90f76775092bf2545db515c15afe596e4d6eb
|
||||
Subproject commit cd1e67c8404e20e043f7343b05b960b349fe3b55
|
||||
|
|
@ -4,6 +4,11 @@
|
|||
imports = [ ./kat ];
|
||||
|
||||
users.users.root = {
|
||||
openssh.authorizedKeys.keys = with pkgs.lib; concatLists (mapAttrsToList (name: user: if elem "wheel" user.extraGroups then user.openssh.authorizedKeys.keys else []) config.users.users);
|
||||
openssh.authorizedKeys.keys = with pkgs.lib;
|
||||
concatLists (mapAttrsToList (name: user:
|
||||
if elem "wheel" user.extraGroups then
|
||||
user.openssh.authorizedKeys.keys
|
||||
else
|
||||
[ ]) config.users.users);
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,18 +21,13 @@
|
|||
];
|
||||
shell = pkgs.fish;
|
||||
extraGroups = [ "wheel" "video" ];
|
||||
packages = with pkgs; [
|
||||
git-crypt
|
||||
gitAndTools.gitRemoteGcrypt
|
||||
];
|
||||
packages = with pkgs; [ git-crypt gitAndTools.gitRemoteGcrypt ];
|
||||
};
|
||||
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.users.kat = {
|
||||
imports = [
|
||||
./modules
|
||||
];
|
||||
|
||||
imports = [ ./modules ];
|
||||
|
||||
programs.fish = {
|
||||
enable = true;
|
||||
shellAliases = { nixdirfmt = "fd --color=never .nix | xargs nixfmt"; };
|
||||
|
|
@ -57,9 +52,7 @@
|
|||
package = pkgs.gitAndTools.gitFull;
|
||||
userName = "kat witch";
|
||||
userEmail = "kat@kittywit.ch";
|
||||
extraConfig = {
|
||||
protocol.gcrypt.allow = "always";
|
||||
};
|
||||
extraConfig = { protocol.gcrypt.allow = "always"; };
|
||||
signing = {
|
||||
key = "01F50A29D4AA91175A11BDB17248991EFA8EFBEE";
|
||||
signByDefault = true;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
sources = import ../../../nix/sources.nix;
|
||||
let sources = import ../../../nix/sources.nix;
|
||||
in {
|
||||
imports = [ ./firefox ];
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,3 @@
|
|||
{ ... }:
|
||||
let sources = import ../../../../nix/sources.nix;
|
||||
in {
|
||||
imports = [
|
||||
(sources.tf-nix + "/modules/home/secrets.nix")
|
||||
];
|
||||
}
|
||||
{ ... }:
|
||||
let sources = import ../../../../nix/sources.nix;
|
||||
in { imports = [ (sources.tf-nix + "/modules/home/secrets.nix") ]; }
|
||||
|
|
|
|||
|
|
@ -3,12 +3,12 @@
|
|||
{
|
||||
config = lib.mkIf (lib.elem "desktop" config.meta.deploy.profiles) {
|
||||
sound.extraConfig = ''
|
||||
defaults.pcm.rate_converter "speexrate_best"
|
||||
defaults.pcm.rate_converter "speexrate_best"
|
||||
'';
|
||||
hardware.pulseaudio.daemon.config = {
|
||||
default-sample-format = "s24le";
|
||||
default-sample-rate = 96000;
|
||||
resample-method = "soxr-vhq";
|
||||
default-sample-format = "s24le";
|
||||
default-sample-rate = 96000;
|
||||
resample-method = "soxr-vhq";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,73 +5,77 @@ let
|
|||
secrets = import ../../../../secrets.nix;
|
||||
in {
|
||||
config = lib.mkIf (lib.elem "sway" config.meta.deploy.profiles) {
|
||||
home-manager.users.kat = {
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
style = import ./waybar.css.nix {
|
||||
inherit style;
|
||||
hextorgba = pkgs.colorhelpers.hextorgba;
|
||||
};
|
||||
settings = [{
|
||||
modules-left = [ "sway/workspaces" "sway/mode" "sway/window" ];
|
||||
modules-center = [ "clock" "custom/weather" ];
|
||||
modules-right = [
|
||||
"pulseaudio"
|
||||
"network"
|
||||
"cpu"
|
||||
"memory"
|
||||
"temperature"
|
||||
"backlight"
|
||||
"battery"
|
||||
"tray"
|
||||
];
|
||||
|
||||
modules = {
|
||||
"custom/weather" = {
|
||||
format = "{}";
|
||||
interval = 3600;
|
||||
on-click = "xdg-open 'https://google.com/search?q=weather'";
|
||||
exec = "nix-shell --command 'python ${../../../../scripts/weather/weather.py} ${secrets.profiles.sway.city} ${secrets.profiles.sway.api_key}' ${../../../../scripts/weather}";
|
||||
};
|
||||
cpu = { format = " {usage}%"; };
|
||||
memory = { format = " {percentage}%"; };
|
||||
temperature = { format = "﨎 {temperatureC}°C"; };
|
||||
backlight = {
|
||||
format = "{icon} {percent}%";
|
||||
format-icons = [ "" "" ];
|
||||
on-scroll-up = "${pkgs.light}/bin/light -A 1";
|
||||
on-scroll-down = "${pkgs.light}/bin/light -U 1";
|
||||
};
|
||||
battery = {
|
||||
states = {
|
||||
good = 90;
|
||||
warning = 30;
|
||||
critical = 15;
|
||||
};
|
||||
format = "{icon} {capacity}%";
|
||||
format-charging = " {capacity}%";
|
||||
format-plugged = " {capacity}%";
|
||||
format-alt = "{icon} {time}";
|
||||
format-icons = [ "" "" "" "" "" ];
|
||||
};
|
||||
pulseaudio = {
|
||||
format = " {volume}%";
|
||||
on-click = "pavucontrol";
|
||||
};
|
||||
network = {
|
||||
format-wifi = " {essid} ({signalStrength}%)";
|
||||
format-ethernet = " {ifname}: {ipaddr}/{cidr}";
|
||||
format-linked = " {ifname} (No IP)";
|
||||
format-disconnected = " Disconnected ";
|
||||
format-alt = " {ifname}: {ipaddr}/{cidr}";
|
||||
};
|
||||
clock = {
|
||||
format = " {:%A, %F %T %Z}";
|
||||
interval = 1;
|
||||
};
|
||||
home-manager.users.kat = {
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
style = import ./waybar.css.nix {
|
||||
inherit style;
|
||||
hextorgba = pkgs.colorhelpers.hextorgba;
|
||||
};
|
||||
}];
|
||||
settings = [{
|
||||
modules-left = [ "sway/workspaces" "sway/mode" "sway/window" ];
|
||||
modules-center = [ "clock" "custom/weather" ];
|
||||
modules-right = [
|
||||
"pulseaudio"
|
||||
"network"
|
||||
"cpu"
|
||||
"memory"
|
||||
"temperature"
|
||||
"backlight"
|
||||
"battery"
|
||||
"tray"
|
||||
];
|
||||
|
||||
modules = {
|
||||
"custom/weather" = {
|
||||
format = "{}";
|
||||
interval = 3600;
|
||||
on-click = "xdg-open 'https://google.com/search?q=weather'";
|
||||
exec = "nix-shell --command 'python ${
|
||||
../../../../scripts/weather/weather.py
|
||||
} ${secrets.profiles.sway.city} ${secrets.profiles.sway.api_key}' ${
|
||||
../../../../scripts/weather
|
||||
}";
|
||||
};
|
||||
cpu = { format = " {usage}%"; };
|
||||
memory = { format = " {percentage}%"; };
|
||||
temperature = { format = "﨎 {temperatureC}°C"; };
|
||||
backlight = {
|
||||
format = "{icon} {percent}%";
|
||||
format-icons = [ "" "" ];
|
||||
on-scroll-up = "${pkgs.light}/bin/light -A 1";
|
||||
on-scroll-down = "${pkgs.light}/bin/light -U 1";
|
||||
};
|
||||
battery = {
|
||||
states = {
|
||||
good = 90;
|
||||
warning = 30;
|
||||
critical = 15;
|
||||
};
|
||||
format = "{icon} {capacity}%";
|
||||
format-charging = " {capacity}%";
|
||||
format-plugged = " {capacity}%";
|
||||
format-alt = "{icon} {time}";
|
||||
format-icons = [ "" "" "" "" "" ];
|
||||
};
|
||||
pulseaudio = {
|
||||
format = " {volume}%";
|
||||
on-click = "pavucontrol";
|
||||
};
|
||||
network = {
|
||||
format-wifi = " {essid} ({signalStrength}%)";
|
||||
format-ethernet = " {ifname}: {ipaddr}/{cidr}";
|
||||
format-linked = " {ifname} (No IP)";
|
||||
format-disconnected = " Disconnected ";
|
||||
format-alt = " {ifname}: {ipaddr}/{cidr}";
|
||||
};
|
||||
clock = {
|
||||
format = " {:%A, %F %T %Z}";
|
||||
interval = 1;
|
||||
};
|
||||
};
|
||||
}];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
{ pkgs, hostsDir ? ../config/hosts,
|
||||
privateHostsDir ? ../config/private/hosts
|
||||
{ pkgs, hostsDir ? ../config/hosts, privateHostsDir ? ../config/private/hosts
|
||||
, commonImports ? [ ../config/common ../modules ], pkgsPath ? ../pkgs }:
|
||||
|
||||
with pkgs.lib;
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
{ ... }:
|
||||
|
||||
let sources = import ../nix/sources.nix; in
|
||||
{
|
||||
imports = [
|
||||
./deploy
|
||||
(sources.tf-nix + "/modules/nixos/secrets.nix")
|
||||
(sources.tf-nix + "/modules/nixos/secrets-users.nix")
|
||||
];
|
||||
let sources = import ../nix/sources.nix;
|
||||
in {
|
||||
imports = [
|
||||
./deploy
|
||||
(sources.tf-nix + "/modules/nixos/secrets.nix")
|
||||
(sources.tf-nix + "/modules/nixos/secrets-users.nix")
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,15 +2,16 @@
|
|||
|
||||
with lib;
|
||||
|
||||
let cfg = config.meta.deploy;
|
||||
secretsScript = concatMapStrings (file: ''
|
||||
ssh $NIX_SSHOPTS root@${cfg.ssh.host} "mkdir -p ${toString file.out.dir}
|
||||
cat > ${file.path}
|
||||
chmod ${file.mode} ${file.path}
|
||||
chown ${file.owner}:${file.group} ${file.path}" << 'EOF'
|
||||
${file.text}
|
||||
EOF
|
||||
'') (attrValues config.secrets.files);
|
||||
let
|
||||
cfg = config.meta.deploy;
|
||||
secretsScript = concatMapStrings (file: ''
|
||||
ssh $NIX_SSHOPTS root@${cfg.ssh.host} "mkdir -p ${toString file.out.dir}
|
||||
cat > ${file.path}
|
||||
chmod ${file.mode} ${file.path}
|
||||
chown ${file.owner}:${file.group} ${file.path}" << 'EOF'
|
||||
${file.text}
|
||||
EOF
|
||||
'') (attrValues config.secrets.files);
|
||||
in {
|
||||
options = {
|
||||
meta.deploy = {
|
||||
|
|
|
|||
|
|
@ -13,7 +13,10 @@ let
|
|||
|
||||
arc = import sources.arc-nixexprs { pkgs = super; };
|
||||
unstable = import sources.nixpkgs-unstable { inherit (self) config; };
|
||||
nur = import sources.NUR { nurpkgs = self; pkgs = self; };
|
||||
nur = import sources.NUR {
|
||||
nurpkgs = self;
|
||||
pkgs = self;
|
||||
};
|
||||
|
||||
screenstub = unstable.callPackage ./screenstub { };
|
||||
|
||||
|
|
@ -26,4 +29,4 @@ let
|
|||
colorhelpers = import ../lib/colorhelpers.nix { inherit (self) lib; };
|
||||
};
|
||||
|
||||
in pkgs.extend(overlay)
|
||||
in pkgs.extend (overlay)
|
||||
|
|
|
|||
|
|
@ -1,29 +1,20 @@
|
|||
{
|
||||
fetchFromGitHub
|
||||
, rustPlatform
|
||||
, pkg-config
|
||||
, lib
|
||||
, libxcb
|
||||
, udev
|
||||
, python3
|
||||
}: rustPlatform.buildRustPackage rec {
|
||||
pname = "screenstub";
|
||||
version = "2021-01-08";
|
||||
src = fetchFromGitHub {
|
||||
owner = "arcnmx";
|
||||
repo = pname;
|
||||
{ fetchFromGitHub, rustPlatform, pkg-config, lib, libxcb, udev, python3 }:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "screenstub";
|
||||
version = "2021-01-08";
|
||||
src = fetchFromGitHub {
|
||||
owner = "arcnmx";
|
||||
repo = pname;
|
||||
rev = "e379279fedaaa1d06b1d89da4cf54752814a456f";
|
||||
sha256 = "0qv15rpazrpdspfcvyizbjdrrm2nrqz0790pa8zvp5bjsw4mvwvx";
|
||||
};
|
||||
sha256 = "0qv15rpazrpdspfcvyizbjdrrm2nrqz0790pa8zvp5bjsw4mvwvx";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./main.patch
|
||||
];
|
||||
patches = [ ./main.patch ];
|
||||
|
||||
nativeBuildInputs = [ pkg-config python3 ];
|
||||
buildInputs = [ libxcb udev ];
|
||||
nativeBuildInputs = [ pkg-config python3 ];
|
||||
buildInputs = [ libxcb udev ];
|
||||
|
||||
cargoSha256 = "0yijg5v731n49ygav2cfiawnw84hxd6kvik5hmz544vikxj96bj4";
|
||||
cargoSha256 = "0yijg5v731n49ygav2cfiawnw84hxd6kvik5hmz544vikxj96bj4";
|
||||
|
||||
doCheck = false;
|
||||
}
|
||||
doCheck = false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,8 +3,7 @@
|
|||
let
|
||||
version = "0.1.1";
|
||||
rev = "225a49a40941e350899e456366265cf82b87ad25";
|
||||
sha256 =
|
||||
"071zd8slra0iqsvzqpp6lcvg5dql5hkn161gh9aq34wix7pwzbn5";
|
||||
sha256 = "071zd8slra0iqsvzqpp6lcvg5dql5hkn161gh9aq34wix7pwzbn5";
|
||||
|
||||
in stdenv.mkDerivation {
|
||||
name = "vendor-reset-${version}-${kernel.version}";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue