stuff slowly being added
This commit is contained in:
parent
f8edbfe092
commit
1bfe819a90
|
@ -130,7 +130,7 @@
|
||||||
base = [ core users.root nvim users.anish ]; # TODO make anish non gui
|
base = [ core users.root nvim users.anish ]; # TODO make anish non gui
|
||||||
sealight = [ base ]; # matrix rsshub backup wireguard website
|
sealight = [ base ]; # matrix rsshub backup wireguard website
|
||||||
mossnet = [ base ]; # shaarli wallabag nextcloud taskwarrior headphones
|
mossnet = [ base ]; # shaarli wallabag nextcloud taskwarrior headphones
|
||||||
graphical = [ base users.profiles.firefox users.profiles.desktop bluetooth ];
|
graphical = [ base users.profiles.firefox users.profiles.desktop bluetooth music sync];
|
||||||
curve = [ graphical ];
|
curve = [ graphical ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
#profiles.users.profiles.desktop
|
#profiles.users.profiles.desktop
|
||||||
profiles.users.profiles.email
|
profiles.users.profiles.email
|
||||||
profiles.users.profiles.cal
|
profiles.users.profiles.cal
|
||||||
|
profiles.wireguard
|
||||||
profiles.mossnet-hosts
|
profiles.mossnet-hosts
|
||||||
] ++ suites.curve;
|
] ++ suites.curve;
|
||||||
|
|
||||||
|
@ -15,4 +16,23 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
#bud.enable = true;
|
#bud.enable = true;
|
||||||
|
|
||||||
|
# enable adb
|
||||||
|
# TODO move this (it's for KaiOS WebIDE devShell?)
|
||||||
|
programs.adb.enable = true;
|
||||||
|
virtualisation.docker.enable = true; # temp for KaiOS hack
|
||||||
|
services.udev.extraRules = ''
|
||||||
|
# Qualcomm EDL
|
||||||
|
SUBSYSTEMS=="usb", ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="9008", MODE="0666", GROUP="plugdev"
|
||||||
|
|
||||||
|
# Qualcomm Memory Debug
|
||||||
|
SUBSYSTEMS=="usb", ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="9006", MODE="0666", GROUP="plugdev"
|
||||||
|
'';
|
||||||
|
boot.blacklistedKernelModules = [ "qcserial" ];
|
||||||
|
users.users.anish.extraGroups = ["adbusers" "docker" "plugdev"];
|
||||||
|
|
||||||
|
# enable wireguard tunnel
|
||||||
|
# privKey = "/run/secrets/curve-wg"; -> local config
|
||||||
|
# publicKey = "..."; -> shipped to server config
|
||||||
|
# IP = "10.0.69.2"; -> shipped to both configs
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,18 +1,26 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
qjackctl
|
||||||
helm
|
helm
|
||||||
surge
|
surge
|
||||||
distrho
|
distrho
|
||||||
orca-c
|
orca-c
|
||||||
carla
|
carla
|
||||||
|
supercollider
|
||||||
|
dirt
|
||||||
|
#calf
|
||||||
sunvox
|
sunvox
|
||||||
vcv-rack
|
vcv-rack
|
||||||
reaper
|
lmms
|
||||||
renoise
|
#bespoke-synth
|
||||||
|
#ardour
|
||||||
|
#reaper
|
||||||
|
#renoise
|
||||||
|
helio-workstation
|
||||||
projectm # milkdrop visualizer
|
projectm # milkdrop visualizer
|
||||||
]
|
];
|
||||||
|
|
||||||
hardware.pulseaudio.enable = lib.mkForce false;
|
hardware.pulseaudio.enable = lib.mkForce false;
|
||||||
security.rtkit.enable = true;
|
security.rtkit.enable = true;
|
||||||
|
@ -22,20 +30,21 @@
|
||||||
alsa.enable = true;
|
alsa.enable = true;
|
||||||
alsa.support32Bit = true;
|
alsa.support32Bit = true;
|
||||||
pulse.enable = true;
|
pulse.enable = true;
|
||||||
|
jack.enable = true;
|
||||||
config = {
|
config = {
|
||||||
pipewire."context.properties"."default.clock.rate" = "192000";
|
pipewire."context.properties"."default.clock.rate" = "48000";
|
||||||
pipewire-pulse."stream.properties"."resample.quality" = 15;
|
pipewire-pulse."stream.properties"."resample.quality" = 15;
|
||||||
client."stream.properties"."resample.quality" = 15;
|
client."stream.properties"."resample.quality" = 15;
|
||||||
client-rt."stream.properties"."resample.quality" = 15;
|
client-rt."stream.properties"."resample.quality" = 15;
|
||||||
};
|
};
|
||||||
media-session.config.bluez-monitor.properties = {
|
#media-session.config.bluez-monitor.properties = {
|
||||||
"bluez5.headset-roles" = [ "hsp_hs" "hsp_ag" ];
|
# "bluez5.headset-roles" = [ "hsp_hs" "hsp_ag" ];
|
||||||
"bluez5.codecs" = [ "aac" "ldac" "aptx_hd" ];
|
# "bluez5.codecs" = [ "aac" "ldac" "aptx_hd" ];
|
||||||
};
|
#};
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.services.bluethoot.serviceConfig.ExecStart = [
|
#systemd.services.bluethoot.serviceConfig.ExecStart = [
|
||||||
""
|
# ""
|
||||||
"${config.hardware.bluetooth.package}/libexec/bluetooth/bluetoothd --noplugin=sap"
|
# "${config.hardware.bluetooth.package}/libexec/bluetooth/bluetoothd --noplugin=sap"
|
||||||
];
|
#];
|
||||||
}
|
}
|
||||||
|
|
20
profiles/sync/default.nix
Normal file
20
profiles/sync/default.nix
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
{pkgs, ...}:
|
||||||
|
|
||||||
|
{
|
||||||
|
systemd.services.kitaab-sync = {
|
||||||
|
serviceConfig.Type = "oneshot";
|
||||||
|
path = [
|
||||||
|
pkgs.git
|
||||||
|
];
|
||||||
|
script = ''
|
||||||
|
cd /home/anish/vimwiki/
|
||||||
|
git commit -am "syncing curve"
|
||||||
|
git push
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
systemd.timers.kitaab-timer = {
|
||||||
|
wantedBy = [ "timers.target" ];
|
||||||
|
partOf = [ "kitaab-sync.service" ];
|
||||||
|
timerConfig.OnCalendar = [ "*-*-* *:00:00" ];
|
||||||
|
};
|
||||||
|
}
|
30
profiles/wireguard/default.nix
Normal file
30
profiles/wireguard/default.nix
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# services.tailscale.enable = true;
|
||||||
|
networking.firewall.allowedUDPPorts = [ 60990 ];
|
||||||
|
age.secrets.curve-wg.file = "/etc/nixos/secrets/curve-wg.age";
|
||||||
|
age.secrets.curve-wg.owner = "anish";
|
||||||
|
|
||||||
|
networking.wireguard.interfaces = {
|
||||||
|
# TODO need some kind of module here to configure curve & box from hosts or something
|
||||||
|
wg0 = {
|
||||||
|
ips = [ "10.0.69.2/24" ];
|
||||||
|
listenPort = 60990; # to match firewall allowedUDPPorts (without this wg uses random port numbers)
|
||||||
|
|
||||||
|
privateKeyFile = "/run/secrets/curve-wg";
|
||||||
|
peers = [
|
||||||
|
# For a client configuration, one peer entry for the server will suffice.
|
||||||
|
{
|
||||||
|
publicKey = "c1J4p63rD3IlszugMZiki7UBV3YmDdqa3DU4UejXzAI=";
|
||||||
|
allowedIPs = [ "10.0.69.0/24" ];
|
||||||
|
# Set this to the server IP and port.
|
||||||
|
endpoint = "sealight.xyz:60990"; # ToDo: route to endpoint not automatically configured https://wiki.archlinux.org/index.php/WireGuard#Loop_routing https://discourse.nixos.org/t/solved-minimal-firewall-setup-for-wireguard-client/7577
|
||||||
|
|
||||||
|
# Send keepalives every 25 seconds. Important to keep NAT tables alive.
|
||||||
|
persistentKeepalive = 25;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
10
secrets/curve-wg.age
Normal file
10
secrets/curve-wg.age
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
age-encryption.org/v1
|
||||||
|
-> ssh-ed25519 E8y8hg ajjA98JsX1JBHd/6pPoTLCrMdkmgnviOZFTWUMtKfzk
|
||||||
|
+ekDAlEfkZ9G6oYfek6kBu0z1jbfQDQfH2ukwk4pvNU
|
||||||
|
-> ssh-ed25519 AiezdQ sZNx8/7RVk9XLvwxrbxjYb3q6uB8ny/DxktST7HMQSk
|
||||||
|
EdEXGSPGJ9j52llednOb8ViK3a+C+ru1weF7wOL3Lzk
|
||||||
|
-> B~GRUs-grease v) >0EI 7cA9 m&8
|
||||||
|
iYaE+kBtuRHNi7zc9xtWYnNs6ThyHNvSPYnY1SYsugftuao1wkXyFvRrd8wubj1k
|
||||||
|
Y4e50A
|
||||||
|
--- GAVr4RrSEgBxdamubXJNhRPXOeXccN7Nw5GqGLPwdWI
|
||||||
|
7Ž“x»¬â•¥$Š¹ú-¢*û^µ;§°<C2A7>~´é
ÐNŠ{úXá=ZªÙ¦}¯Fð¯Û¼µñ󖼇Åó‹<C3B3>fÞ•ˆÇ<7F>c
|
|
@ -8,6 +8,7 @@ in
|
||||||
{
|
{
|
||||||
"fastmail.age".publicKeys = allKeys;
|
"fastmail.age".publicKeys = allKeys;
|
||||||
"mossnet.age".publicKeys = allKeys;
|
"mossnet.age".publicKeys = allKeys;
|
||||||
"nextcloud-db.age".publicKeys = mossnet;
|
"curve-wg.age".publicKeys = allKeys;
|
||||||
"nextcloud-admin.age".publicKeys = mossnet;
|
#"nextcloud-db.age".publicKeys = mossnet;
|
||||||
|
#"nextcloud-admin.age".publicKeys = mossnet;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, config, ... }:
|
{ pkgs, config, lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# TODO modularize
|
# TODO modularize
|
||||||
|
@ -16,10 +16,18 @@
|
||||||
"\${XDG_BIN_HOME}"
|
"\${XDG_BIN_HOME}"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
|
||||||
|
"ripcord"
|
||||||
|
"vcv-rack"
|
||||||
|
];
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# TODO move somewhere meaningful
|
# TODO move somewhere meaningful
|
||||||
tdesktop # TODO get rid of this once bridged on sealight
|
tdesktop # TODO get rid of this once bridged on sealight
|
||||||
|
ripcord
|
||||||
sublime-music
|
sublime-music
|
||||||
|
calibre
|
||||||
nheko
|
nheko
|
||||||
newsflash
|
newsflash
|
||||||
zeal
|
zeal
|
||||||
|
|
|
@ -3,3 +3,5 @@ font_family Hermit
|
||||||
bold_font auto
|
bold_font auto
|
||||||
italic_font auto
|
italic_font auto
|
||||||
bold_italic_font auto
|
bold_italic_font auto
|
||||||
|
open_url_with default
|
||||||
|
mouse_map left click ungrabbed mouse_click_url_or_select
|
||||||
|
|
Loading…
Reference in a new issue