38 Commits

Author SHA1 Message Date
4ad4814bed Initial pi config 2023-12-03 23:17:30 +00:00
5c591c0a06 90 day log retention 2023-12-03 22:40:25 +00:00
1aab626f17 Setup backups on odyssey 2023-12-03 22:25:13 +00:00
bbf835d127 Add secrets with agenix 2023-12-03 21:59:44 +00:00
16a1e0dd7f flake.lock: Update
Flake lock file updates:

• Updated input 'firefox-gnome-theme':
    'github:rafaelmardojai/firefox-gnome-theme/538698cc08dc031facc7983ded3f1d76e658e702' (2023-11-30)
  → 'github:rafaelmardojai/firefox-gnome-theme/ec9421f82d922b7293ffd45a47f7abdee80038c6' (2023-11-30)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/50aa30a13c4ab5e7ba282da460a3e3d44e9d0eb3' (2023-11-29)
  → 'github:NixOS/nixpkgs/5de0b32be6e85dc1a9404c75131316e4ffbc634c' (2023-12-01)
2023-12-02 00:17:15 +00:00
c8d0c08ada Move fragments and mission-center to user 2023-11-30 22:48:18 +00:00
6cd398b9f7 Remove BlackBox terminal 2023-11-30 22:20:04 +00:00
9af6782311 Revert "Use open source NVIDIA driver"
This reverts commit 65a55e1695.
2023-11-30 22:05:13 +00:00
65a55e1695 Use open source NVIDIA driver 2023-11-30 22:01:44 +00:00
ecef5d13a7 Add mission-center 2023-11-30 22:01:35 +00:00
9794d5eb0c Disable unused extensions 2023-11-30 22:01:17 +00:00
8562ccd5fc flake.lock: Update
Flake lock file updates:

• Updated input 'firefox-gnome-theme':
    'github:rafaelmardojai/firefox-gnome-theme/1208b24818388416e5376967b8e89a1b13d1bf31' (2023-11-22)
  → 'github:rafaelmardojai/firefox-gnome-theme/538698cc08dc031facc7983ded3f1d76e658e702' (2023-11-30)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/7c4c20509c4363195841faa6c911777a134acdf3' (2023-11-28)
  → 'github:NixOS/nixpkgs/50aa30a13c4ab5e7ba282da460a3e3d44e9d0eb3' (2023-11-29)
2023-11-30 16:22:25 +00:00
b3ef72d975 Upgrade to NixOS 23.11 2023-11-29 22:58:57 +00:00
cf40b4d4d3 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/1216a5ba22a93a4a3a3bfdb4bff0f4727c576fcc' (2023-11-24)
  → 'github:NixOS/nixpkgs/5b528f99f73c4fad127118a8c1126b5e003b01a9' (2023-11-27)
2023-11-29 20:05:42 +00:00
f64ed2bb24 Enable rounded corners in Firefox 2023-11-26 19:21:43 +00:00
f9b577f559 flake.lock: Update
Flake lock file updates:

• Updated input 'firefox-gnome-theme':
    'github:rafaelmardojai/firefox-gnome-theme/5e796d330d3765798d32b361638b048fda1a1450' (2023-11-21)
  → 'github:rafaelmardojai/firefox-gnome-theme/1208b24818388416e5376967b8e89a1b13d1bf31' (2023-11-22)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/0c5678df521e1407884205fe3ce3cf1d7df297db' (2023-11-19)
  → 'github:NixOS/nixpkgs/1216a5ba22a93a4a3a3bfdb4bff0f4727c576fcc' (2023-11-24)
• Removed input 'sops-nix'
• Removed input 'sops-nix/nixpkgs'
• Removed input 'sops-nix/nixpkgs-stable'
2023-11-25 12:37:56 +00:00
b3882912ec flake.lock: Update
Flake lock file updates:

• Updated input 'firefox-gnome-theme':
    'github:rafaelmardojai/firefox-gnome-theme/1c32013cdbe17406de496cdf5f6899b84c4bbfed' (2023-11-10)
  → 'github:rafaelmardojai/firefox-gnome-theme/5e796d330d3765798d32b361638b048fda1a1450' (2023-11-21)
2023-11-21 20:13:35 +00:00
d78db40991 Weekly garbage collection 2023-11-20 14:53:36 +00:00
07362a0c81 flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/04bac349d585c9df38d78e0285b780a140dc74a4' (2023-11-12)
  → 'github:nix-community/home-manager/28535c3a34d79071f2ccb68671971ce0c0984d7e' (2023-11-19)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9fb122519e9cd465d532f736a98c1e1eb541ef6f' (2023-11-16)
  → 'github:NixOS/nixpkgs/0c5678df521e1407884205fe3ce3cf1d7df297db' (2023-11-19)
2023-11-20 10:06:26 +00:00
7865add65e Use default lock shortcut 2023-11-19 21:19:06 +00:00
9471a92387 Disable PaperWM 2023-11-19 21:17:59 +00:00
a4f0cabeda Add fragments app 2023-11-19 09:52:27 +00:00
f581772723 Add pano extension 2023-11-19 09:48:50 +00:00
357c3e8c10 Enable lxd on odyssey 2023-11-17 22:39:57 +00:00
e113a6b280 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d4b5a67bbe9ef750bd2fdffd4cad400dd5553af8' (2023-11-14)
  → 'github:NixOS/nixpkgs/9fb122519e9cd465d532f736a98c1e1eb541ef6f' (2023-11-16)
2023-11-17 17:30:29 +00:00
920df723ae flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/da4024d0ead5d7820f6bd15147d3fe2a0c0cec73' (2023-11-10)
  → 'github:NixOS/nixpkgs/d4b5a67bbe9ef750bd2fdffd4cad400dd5553af8' (2023-11-14)
2023-11-16 21:19:06 +00:00
ba2dd42e3e flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/07682fff75d41f18327a871088d20af2710d4744' (2023-09-19)
  → 'github:nix-community/home-manager/04bac349d585c9df38d78e0285b780a140dc74a4' (2023-11-12)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/41de143fda10e33be0f47eab2bfe08a50f234267' (2023-11-06)
  → 'github:NixOS/nixpkgs/da4024d0ead5d7820f6bd15147d3fe2a0c0cec73' (2023-11-10)
2023-11-13 10:44:00 +00:00
7ac7d21476 Patch snd_usb_audio and add 1824c PipeWire config 2023-11-12 23:13:23 +00:00
bef12cd228 Remap lock screen shortcut 2023-11-11 16:24:04 +00:00
6536bb12d1 Correct PaperWM extension UUID 2023-11-11 12:32:54 +00:00
972af5d5e5 Disable conflicting extensions 2023-11-10 21:31:45 +00:00
92c6b765cf Configure PaperWM 2023-11-10 20:09:56 +00:00
7e81e16301 Add Fly-Pie extension 2023-11-10 19:27:21 +00:00
44cc7406f6 Add PaperWM extension 2023-11-10 18:47:35 +00:00
9cc4470502 flake.lock: Update
Flake lock file updates:

• Updated input 'firefox-gnome-theme':
    'github:rafaelmardojai/firefox-gnome-theme/3cb70833903a560ac22f49d278e7ce955bf8395e' (2023-10-26)
  → 'github:rafaelmardojai/firefox-gnome-theme/1c32013cdbe17406de496cdf5f6899b84c4bbfed' (2023-11-10)
2023-11-10 18:44:19 +00:00
2df8227ef9 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/aeefe2054617cae501809b82b44a8e8f7be7cc4b' (2023-11-05)
  → 'github:NixOS/nixpkgs/41de143fda10e33be0f47eab2bfe08a50f234267' (2023-11-06)
• Updated input 'thunderbird-gnome-theme':
    'github:rafaelmardojai/thunderbird-gnome-theme/99620f1353689c9ac0a3fc389306faf2b9137fa8' (2023-09-23)
  → 'github:rafaelmardojai/thunderbird-gnome-theme/a899ca12204d19f4834fbd092aa5bb05dc4bd127' (2023-11-06)
2023-11-08 20:55:56 +00:00
2c66879af9 Enable flatpak in GNOME 2023-11-05 20:03:01 +00:00
20004881bc flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/1a3c95e3b23b3cdb26750621c08cc2f1560cb883' (2023-10-27)
  → 'github:NixOS/nixpkgs/aeefe2054617cae501809b82b44a8e8f7be7cc4b' (2023-11-05)
2023-11-05 20:00:11 +00:00
17 changed files with 413 additions and 59 deletions

View File

@ -7,7 +7,7 @@ System and user configuration for NixOS-based systems.
| **Shell:** | zsh |
| **DE:** | GNOME |
| **Theme:** | adwaita |
| **Terminal:** | BlackBox |
| **Terminal:** | Console |
## Quick start
1. Copy SSH keypair and `known_hosts` to `~/.ssh`

128
flake.lock generated
View File

@ -1,13 +1,55 @@
{
"nodes": {
"agenix": {
"inputs": {
"darwin": "darwin",
"home-manager": "home-manager",
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1701216516,
"narHash": "sha256-jKSeJn+7hZ1dZdiH1L+NWUGT2i/BGomKAJ54B9kT06Q=",
"owner": "ryantm",
"repo": "agenix",
"rev": "13ac9ac6d68b9a0896e3d43a082947233189e247",
"type": "github"
},
"original": {
"owner": "ryantm",
"repo": "agenix",
"type": "github"
}
},
"darwin": {
"inputs": {
"nixpkgs": [
"agenix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1673295039,
"narHash": "sha256-AsdYgE8/GPwcelGgrntlijMg4t3hLFJFCRF3tL5WVjA=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "87b9d090ad39b25b2400029c64825fc2a8868943",
"type": "github"
},
"original": {
"owner": "lnl7",
"ref": "master",
"repo": "nix-darwin",
"type": "github"
}
},
"firefox-gnome-theme": {
"flake": false,
"locked": {
"lastModified": 1698329218,
"narHash": "sha256-OU6LyGeePS31pG7o10su7twDzDL5Z3a1sHtV68SzEwI=",
"lastModified": 1701370547,
"narHash": "sha256-pCtPIcRnMMJOwAlNh5qTO00uw/PBThIIzjMCRcCyHYw=",
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"rev": "3cb70833903a560ac22f49d278e7ce955bf8395e",
"rev": "ec9421f82d922b7293ffd45a47f7abdee80038c6",
"type": "github"
},
"original": {
@ -19,55 +61,109 @@
"home-manager": {
"inputs": {
"nixpkgs": [
"agenix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1695108154,
"narHash": "sha256-gSg7UTVtls2yO9lKtP0yb66XBHT1Fx5qZSZbGMpSn2c=",
"lastModified": 1682203081,
"narHash": "sha256-kRL4ejWDhi0zph/FpebFYhzqlOBrk0Pl3dzGEKSAlEw=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "07682fff75d41f18327a871088d20af2710d4744",
"rev": "32d3e39c491e2f91152c84f8ad8b003420eab0a1",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-23.05",
"repo": "home-manager",
"type": "github"
}
},
"home-manager_2": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1700814205,
"narHash": "sha256-lWqDPKHRbQfi+zNIivf031BUeyciVOtwCwTjyrhDB5g=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "aeb2232d7a32530d3448318790534d196bf9427a",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-23.11",
"repo": "home-manager",
"type": "github"
}
},
"nixos-hardware": {
"locked": {
"lastModified": 1701598471,
"narHash": "sha256-kHdJ2qc4qKeMTzUIHEcP41ah/dBIhCgvWgrjllt2G78=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "a89745edd5f657e2e5be5ed1bea86725ca78d92e",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixos-hardware",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1698434055,
"narHash": "sha256-Phxi5mUKSoL7A0IYUiYtkI9e8NcGaaV5PJEaJApU1Ko=",
"lastModified": 1677676435,
"narHash": "sha256-6FxdcmQr5JeZqsQvfinIMr0XcTyTuR7EXX0H3ANShpQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "1a3c95e3b23b3cdb26750621c08cc2f1560cb883",
"rev": "a08d6979dd7c82c4cef0dcc6ac45ab16051c1169",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1701389149,
"narHash": "sha256-rU1suTIEd5DGCaAXKW6yHoCfR1mnYjOXQFOaH7M23js=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "5de0b32be6e85dc1a9404c75131316e4ffbc634c",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixos-23.05",
"ref": "nixos-23.11",
"type": "indirect"
}
},
"root": {
"inputs": {
"agenix": "agenix",
"firefox-gnome-theme": "firefox-gnome-theme",
"home-manager": "home-manager",
"nixpkgs": "nixpkgs",
"home-manager": "home-manager_2",
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_2",
"thunderbird-gnome-theme": "thunderbird-gnome-theme"
}
},
"thunderbird-gnome-theme": {
"flake": false,
"locked": {
"lastModified": 1695480543,
"narHash": "sha256-lfQ4M4Jm/bxig3koPRAoSaS4bZScqkvtS+2vKDScNeg=",
"lastModified": 1699285862,
"narHash": "sha256-3TQYBJAeQ2fPFxQnD5iKRKKWFlN3GJhz1EkdwE+4m0k=",
"owner": "rafaelmardojai",
"repo": "thunderbird-gnome-theme",
"rev": "99620f1353689c9ac0a3fc389306faf2b9137fa8",
"rev": "a899ca12204d19f4834fbd092aa5bb05dc4bd127",
"type": "github"
},
"original": {

View File

@ -2,9 +2,11 @@
description = "NixOS/Darwin system configuration";
inputs = {
nixpkgs.url = "nixpkgs/nixos-23.05";
nixpkgs.url = "nixpkgs/nixos-23.11";
nixos-hardware.url = "github:NixOS/nixos-hardware";
agenix.url = "github:ryantm/agenix";
home-manager = {
url = "github:nix-community/home-manager/release-23.05";
url = "github:nix-community/home-manager/release-23.11";
inputs.nixpkgs.follows = "nixpkgs";
};
firefox-gnome-theme = {
@ -17,7 +19,7 @@
};
};
outputs = inputs @ { self, nixpkgs, home-manager, ... }:
outputs = inputs @ { self, nixpkgs, agenix, home-manager, ... }:
let
inherit (lib) attrValues;
inherit (lib.my) mapModules mapModulesRec;
@ -44,7 +46,7 @@
nixosConfigurations = {
atlas = nixpkgs.lib.nixosSystem {
modules = [
inputs.home-manager.nixosModules.home-manager
home-manager.nixosModules.home-manager
{ nixpkgs.overlays = [ (import ./overlays/gnome.nix) ]; }
(import ./modules)
./hosts/atlas
@ -53,7 +55,7 @@
};
eos = nixpkgs.lib.nixosSystem {
modules = [
inputs.home-manager.nixosModules.home-manager
home-manager.nixosModules.home-manager
{ nixpkgs.overlays = [ (import ./overlays/gnome.nix) ]; }
(import ./modules)
./hosts/eos
@ -62,7 +64,7 @@
};
helios = nixpkgs.lib.nixosSystem {
modules = [
inputs.home-manager.nixosModules.home-manager
home-manager.nixosModules.home-manager
{ nixpkgs.overlays = [ (import ./overlays/gnome.nix) ]; }
(import ./modules)
./hosts/helios
@ -71,7 +73,8 @@
};
odyssey = nixpkgs.lib.nixosSystem {
modules = [
inputs.home-manager.nixosModules.home-manager
home-manager.nixosModules.home-manager
agenix.nixosModules.default
{ nixpkgs.overlays = [ (import ./overlays/gnome.nix) ]; }
(import ./modules)
./hosts/odyssey

View File

@ -46,20 +46,27 @@ with lib.my;
neovim
];
nix.settings = {
connect-timeout = 5;
log-lines = 25;
min-free = 128000000;
max-free = 1000000000;
fallback = true;
auto-optimise-store = true;
substituters = [
"http://odyssey.mesh.vimium.net"
"https://cache.nixos.org"
];
trusted-public-keys = [
"odyssey.mesh.vimium.net:ZhQhjscPWjoN4rlZwoMELznEiBnZ9O26iyGA27ibilQ="
];
nix = {
settings = {
connect-timeout = 5;
log-lines = 25;
min-free = 128000000;
max-free = 1000000000;
fallback = true;
auto-optimise-store = true;
substituters = [
"http://odyssey.mesh.vimium.net"
"https://cache.nixos.org"
];
trusted-public-keys = [
"odyssey.mesh.vimium.net:ZhQhjscPWjoN4rlZwoMELznEiBnZ9O26iyGA27ibilQ="
];
};
gc = {
automatic = true;
dates = "weekly";
options = "-d --delete-older-than 7d";
};
};
modules.desktop.gnome.enable = true;

View File

@ -0,0 +1,57 @@
From c16be6b3b4da5a55e3ff4258ada123b5f03757e5 Mon Sep 17 00:00:00 2001
From: Jordan Holt <jordan@vimium.com>
Date: Sun, 12 Nov 2023 12:13:39 +0000
Subject: [PATCH] Update device ID for PreSonus 1824c
---
sound/usb/format.c | 4 ++--
sound/usb/mixer_quirks.c | 2 +-
sound/usb/quirks.c | 4 ++--
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/sound/usb/format.c b/sound/usb/format.c
index ab5fed9f55b6..da50a4782414 100644
--- a/sound/usb/format.c
+++ b/sound/usb/format.c
@@ -378,8 +378,8 @@ static int parse_uac2_sample_rate_range(struct snd_usb_audio *chip,
for (rate = min; rate <= max; rate += res) {
- /* Filter out invalid rates on Presonus Studio 1810c */
- if (chip->usb_id == USB_ID(0x194f, 0x010c) &&
+ /* Filter out invalid rates on Presonus Studio 1824c */
+ if (chip->usb_id == USB_ID(0x194f, 0x010d) &&
!s1810c_valid_sample_rate(fp, rate))
goto skip_rate;
diff --git a/sound/usb/mixer_quirks.c b/sound/usb/mixer_quirks.c
index 898bc3baca7b..c3135459c38c 100644
--- a/sound/usb/mixer_quirks.c
+++ b/sound/usb/mixer_quirks.c
@@ -3445,7 +3445,7 @@ int snd_usb_mixer_apply_create_quirk(struct usb_mixer_interface *mixer)
err = snd_rme_controls_create(mixer);
break;
- case USB_ID(0x194f, 0x010c): /* Presonus Studio 1810c */
+ case USB_ID(0x194f, 0x010d): /* Presonus Studio 1824c */
err = snd_sc1810_init_mixer(mixer);
break;
case USB_ID(0x2a39, 0x3fb0): /* RME Babyface Pro FS */
diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
index ab2b938502eb..b86832edaaa0 100644
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
@@ -1551,8 +1551,8 @@ int snd_usb_apply_interface_quirk(struct snd_usb_audio *chip,
/* fasttrackpro usb: skip altsets incompatible with device_setup */
if (chip->usb_id == USB_ID(0x0763, 0x2012))
return fasttrackpro_skip_setting_quirk(chip, iface, altno);
- /* presonus studio 1810c: skip altsets incompatible with device_setup */
- if (chip->usb_id == USB_ID(0x194f, 0x010c))
+ /* presonus studio 1824c: skip altsets incompatible with device_setup */
+ if (chip->usb_id == USB_ID(0x194f, 0x010d))
return s1810c_skip_setting_quirk(chip, iface, altno);
--
2.40.1

View File

@ -19,17 +19,46 @@ with lib.my;
networking.networkmanager.enable = true;
environment.etc."pipewire/pipewire.conf.d/surround.conf".text = ''
context.modules = [
{
name = libpipewire-module-loopback
args = {
node.description = "1824c Surround"
capture.props = {
node.name = "1824c_Speakers"
media.class = "Audio/Sink"
audio.position = [ FL FR FC SL SR LFE ]
}
playback.props = {
node.name = "playback.1824c_Speakers"
audio.position = [ AUX0 AUX1 AUX2 AUX3 AUX4 AUX5 ]
target.object = "alsa_output.usb-PreSonus_Studio_1824c_SC4E21110775-00.multichannel-output"
stream.dont-remix = true
node.passive = true
}
}
}
]
'';
nix.package = pkgs.nixFlakes;
nix.extraOptions = ''
experimental-features = nix-command flakes
'';
virtualisation.libvirtd.enable = true;
virtualisation.lxd.enable = true;
users.defaultUserShell = pkgs.zsh;
system.stateVersion = "22.11";
services.journald.extraConfig = ''
SystemMaxUse=4G
MaxRetentionSec=90day
'';
services.nix-serve = {
enable = true;
secretKeyFile = "/var/cache-priv-key.pem";
@ -45,6 +74,36 @@ with lib.my;
};
};
age.secrets."odyssey_borg_passphrase" = {
file = ../../secrets/odyssey_borg_passphrase.age;
};
services.borgmatic = {
enable = true;
settings = {
location = {
source_directories = [
"/home/jordan/Documents"
];
repositories = [
"ssh://iqwu22oq@iqwu22oq.repo.borgbase.com/./repo"
];
};
storage = {
encryption_passcommand = "cat ${config.age.secrets.odyssey_borg_passphrase.path}";
ssh_command = "ssh -i /etc/ssh/ssh_host_ed25519_key";
};
retention = {
keep_daily = 7;
keep_weekly = 4;
keep_monthly = 6;
};
};
};
# Without this override, `cat` is unavailable for `encryption_passcommand`
systemd.services.borgmatic.confinement.fullUnit = true;
modules = {
desktop = {
apps.qbittorrent.enable = true;

View File

@ -3,7 +3,11 @@
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
let
snd-usb-audio-module = pkgs.callPackage ./snd-usb-audio.nix {
kernel = config.boot.kernelPackages.kernel;
};
in {
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
@ -11,7 +15,11 @@
boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
boot.extraModulePackages = [
(snd-usb-audio-module.overrideAttrs (_: {
patches = [ ./0001-Update-device-ID-for-PreSonus-1824c.patch ];
}))
];
boot.supportedFilesystems = [ "ntfs" ];
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];

View File

@ -0,0 +1,36 @@
{ pkgs, lib, kernel ? pkgs.linuxPackages_latest.kernel }:
pkgs.stdenv.mkDerivation {
pname = "snd-usb-audio";
inherit (kernel) src version postPatch nativeBuildInputs;
kernel_dev = kernel.dev;
kernelVersion = kernel.modDirVersion;
modulePath = "sound/usb";
buildPhase = ''
BUILT_KERNEL=$kernel_dev/lib/modules/$kernelVersion/build
cp $BUILT_KERNEL/Module.symvers .
cp $BUILT_KERNEL/.config .
cp $kernel_dev/vmlinux .
make "-j$NIX_BUILD_CORES" modules_prepare
make "-j$NIX_BUILD_CORES" M=$modulePath modules
'';
installPhase = ''
make \
INSTALL_MOD_PATH="$out" \
XZ="xz -T$NIX_BUILD_CORES" \
M="$modulePath" \
modules_install
'';
meta = {
description = "USB Sound kernel module";
license = lib.licenses.gpl2;
};
}

44
hosts/pi/default.nix Normal file
View File

@ -0,0 +1,44 @@
{ config, lib, pkgs, ... }:
with lib.my;
{
imports = [
<nixos-hardware/raspberry-pi/4>
./hardware-configuration.nix
../server.nix
];
networking.hostName = "pi";
networking.hostId = "";
hardware = {
raspberry-pi."4" = {
apply-overlays-dtmerge.enable = true;
audio.enable = true;
fkms-3d.enable = true;
};
deviceTree = {
enable = true;
filter = "*rpi-4-*.dtb";
};
};
sound.enable = true;
console.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
environment.systemPackages = with pkgs; [
libraspberrypi
raspberrypi-eeprom
];
system.stateVersion = "22.11";
}

View File

@ -0,0 +1,16 @@
{ config, lib, pkgs, modulesPath, ... }:
{
imports = [
<nixos-hardware/raspberry-pi/4>
];
fileSystems = {
"/" = {
device = "/dev/disk/by-label/NIXOS_SD";
fsType = "ext4";
options = [ "noatime" ];
};
};
}

View File

@ -34,6 +34,17 @@ with lib.my;
neovim
];
nix = {
settings = {
auto-optimise-store = true;
};
gc = {
automatic = true;
dates = "weekly";
options = "-d --delete-older-than 7d";
};
};
modules.networking.tailscale = {
enable = true;
restrictSSH = false;

View File

@ -26,10 +26,11 @@ in {
'';
settings = {
## GNOME theme
"toolkit.legacyUserProfileCustomizations.stylesheets" = true; # Enable customChrome.cs
"toolkit.legacyUserProfileCustomizations.stylesheets" = true; # Enable customChrome.css
"browser.uidensity" = 0; # Set UI density to normal
"svg.context-properties.content.enabled" = true; # Enable SVG context-propertes
"browser.theme.dark-private-windows" = false; # Disable private window dark theme
"widget.gtk.rounded-bottom-corners.enabled" = true; # Enable rounded bottom window corners
## Preferences
"browser.ctrlTab.sortByRecentlyUsed" = true;

View File

@ -15,38 +15,37 @@ in {
desktopManager.gnome.enable = true;
};
services.flatpak.enable = true;
programs.dconf.enable = true;
dconf.settings = {
"com/raggesilver/BlackBox" = {
theme-dark = "Dracula";
font = "Ubuntu Mono 14";
remember-window-size = true;
};
"org/gnome/shell" = {
disable-user-extensions = false;
enabled-extensions = [
"another-window-session-manager@gmail.com"
# "another-window-session-manager@gmail.com"
"blur-my-shell@aunetx"
"burn-my-windows@schneegans.github.com"
"desktop-cube@schneegans.github.com"
"desktop-zoom@colin.kinlo.ch"
# "desktop-cube@schneegans.github.com"
# "desktop-zoom@colin.kinlo.ch"
"espresso@coadmunkee.github.com"
# "flypie@schneegans.github.com"
# "forge@jmmaranan.com"
"hue-lights@chlumskyvaclav@gmail.com"
"just-perfection-desktop@just-perfection"
"search-light@icedman.github.com"
# "pano@elhan.io"
# "paperwm@hedning:matrix.org"
# "search-light@icedman.github.com"
"space-bar@luchrioh"
# "smart-auto-move@khimaros.com"
# "systemd-manager@hardpixel.eu"
# "tailscale-status@maxgallup.github.com"
"tiling-assistant@leleat-on-github"
# "tiling-assistant@leleat-on-github"
"Vitals@CoreCoding.com"
# "wsmatrix@martin.zurowietz.de"
];
favorite-apps = [
"firefox.desktop"
"org.gnome.Nautilus.desktop"
"com.raggesilver.BlackBox.desktop"
];
};
"org/gnome/shell/extensions/another-window-session-manager" = {
@ -74,6 +73,9 @@ in {
"com.obsproject.Studio.desktop"
];
};
"org/gnome/shell/extensions/paperwm" = {
use-default-background = true;
};
"org/gnome/shell/extensions/forge" = {
window-gap-size = 8;
window-gap-hidden-on-single = false;
@ -96,8 +98,8 @@ in {
window-gap = 8;
};
"org/gnome/desktop/background" = {
picture-uri = "file://${pkgs.gnome.gnome-backgrounds}/share/backgrounds/gnome/adwaita-l.webp";
picture-uri-dark = "file://${pkgs.gnome.gnome-backgrounds}/share/backgrounds/gnome/adwaita-d.webp";
picture-uri = "file://${pkgs.gnome.gnome-backgrounds}/share/backgrounds/gnome/adwaita-l.jpg";
picture-uri-dark = "file://${pkgs.gnome.gnome-backgrounds}/share/backgrounds/gnome/adwaita-d.jpg";
};
"org/gtk/settings/file-chooser" = {
show-hidden = true;
@ -144,18 +146,19 @@ in {
};
};
fonts.fonts = with pkgs; [
fonts.packages = with pkgs; [
noto-fonts
ubuntu_font_family
];
user.packages = with pkgs; [
celluloid
fragments
mission-center
];
environment.systemPackages = with pkgs; [
bind
blackbox-terminal
bmon
fd
ffmpeg
@ -168,11 +171,14 @@ in {
gnomeExtensions.desktop-cube
gnomeExtensions.desktop-zoom
gnomeExtensions.espresso
gnome44Extensions."flypie@schneegans.github.com"
# gnomeExtensions.forge
# gnomeExtensions.gsnap
gnomeExtensions.hue-lights
gnomeExtensions.just-perfection
# gnomeExtensions.mutter-primary-gpu
gnomeExtensions.pano
gnomeExtensions.paperwm
# gnomeExtensions.pip-on-top
gnomeExtensions.search-light
gnomeExtensions.smart-auto-move

View File

@ -36,7 +36,7 @@ with lib.my;
in {
inherit name;
isNormalUser = true;
extraGroups = [ "networkmanager" "wheel" ];
extraGroups = [ "networkmanager" "wheel" "lxd" ];
description = "Jordan Holt";
useDefaultShell = true;
openssh.authorizedKeys.keys = [

View File

@ -3,8 +3,8 @@ self: super:
gnome = super.gnome.overrideScope' (gself: gsuper: {
mutter = gsuper.mutter.overrideAttrs (oldAttrs: {
src = super.fetchurl {
url = "https://gitlab.gnome.org/Community/Ubuntu/mutter/-/archive/triple-buffering-v4-44/mutter-triple-buffering-v4-44.tar.gz";
sha256 = "UhCbdAh5AtYWTi0GX8RmexUAS0nbvISPuErX/8NTdoA=";
url = "https://gitlab.gnome.org/Community/Ubuntu/mutter/-/archive/triple-buffering-v4-45/mutter-triple-buffering-v4-45.tar.gz";
sha256 = "E+AdsQdotqlH/kYskl+Fwv0i+UTK7mfdkJ+zlfLdU9o=";
};
});
});

10
secrets.nix Normal file
View File

@ -0,0 +1,10 @@
let
jordan = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILVHTjsyMIV4THNw6yz0OxAxGnC+41gX72UrPqTzR+OS";
users = [ jordan ];
odyssey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJre8/cjdoUnbTu0x4ClTITcq4lq+FjpEyJBbLbOlox7";
systems = [ odyssey ];
in
{
"secrets/odyssey_borg_passphrase.age".publicKeys = [ jordan odyssey ];
}

Binary file not shown.