Compare commits

...

6 commits

17 changed files with 179 additions and 83 deletions

View file

@ -238,7 +238,17 @@
in in
{ {
formatter."${system}" = pkgs.nixpkgs-fmt; formatter."${system}" = pkgs.nixpkgs-fmt;
packages."${system}" = import ./pkgs { inherit pkgs lib config; }; packages."${system}" =
import ./pkgs { inherit pkgs lib config; }
// {
rescue-iso =
let
mod = "${inputs.nixos-images}/nix/image-installer/module.nix";
os = nixpkgs.legacyPackages.${system}.nixos [ mod ];
iso = os.config.system.build.isoImage;
in
iso;
};
diskoConfigurations = { diskoConfigurations = {
nixos-desk = import ./systems/nixos-desk/disko.nix; nixos-desk = import ./systems/nixos-desk/disko.nix;
nixos-pulse = import ./systems/nixos-pulse/disko.nix; nixos-pulse = import ./systems/nixos-pulse/disko.nix;

View file

@ -25,7 +25,7 @@
programs.zen-browser = (import ./_base.nix args) // { package = pkgs.my.zen-browser; }; programs.zen-browser = (import ./_base.nix args) // { package = pkgs.my.zen-browser; };
home.sessionVariables = { home.sessionVariables = {
BROWSER = "zen-browser"; BROWSER = "${pkgs.my.zen-browser}/bin/zen-browser";
MOZ_USE_XINPUT2 = "1"; MOZ_USE_XINPUT2 = "1";
MOZ_ENABLE_WAYLAND = "1"; MOZ_ENABLE_WAYLAND = "1";
}; };

View file

@ -17,13 +17,20 @@ let
ref = "main"; ref = "main";
rev = "c7392136bed264258c9b8788b14410e1ff06d602"; rev = "c7392136bed264258c9b8788b14410e1ff06d602";
}; };
myEmacs = (pkgs.emacsPackagesFor pkgs.emacs-unstable-pgtk).emacsWithPackages (epkgs: myEmacs = (pkgs.emacsPackagesFor pkgs.emacs).emacsWithPackages (epkgs:
with epkgs; [ with epkgs; [
vterm vterm
treesit-grammars.with-all-grammars treesit-grammars.with-all-grammars
inputs.nix-emacs-extra.packages."${system}".doom-dashboard inputs.nix-emacs-extra.packages."${system}".doom-dashboard
inputs.nix-emacs-extra.packages."${system}".ultra-scroll inputs.nix-emacs-extra.packages."${system}".ultra-scroll
]); ]);
# myEmacs = (pkgs.emacsPackagesFor pkgs.emacs-unstable-pgtk).emacsWithPackages (epkgs:
# with epkgs; [
# vterm
# treesit-grammars.with-all-grammars
# inputs.nix-emacs-extra.packages."${system}".doom-dashboard
# inputs.nix-emacs-extra.packages."${system}".ultra-scroll
# ]);
in in
{ {
programs = { programs = {
@ -397,6 +404,7 @@ in
rage rage
nh nh
pkgs.agenix-rekey pkgs.agenix-rekey
my.aaxtomp3
# android-studio-full # android-studio-full
]; ];
}; };

View file

@ -131,7 +131,7 @@ in
flake = "/home/tristand/nix"; flake = "/home/tristand/nix";
}; };
rust-motd = { rust-motd = {
# enable = true; # broken atm enable = true;
enableMotdInSSHD = true; enableMotdInSSHD = true;
settings = { settings = {
banner = { banner = {

View file

@ -19,8 +19,9 @@
]; ];
systemd = systemd =
let let
tcl = "85"; tcl = "80";
coall = "1048561"; # 1048561 = 0x100000 - 15(mV) $ math "0x100000-15" # slight undervolt # coall = "1048561"; # 1048561 = 0x100000 - 15(mV) $ math "0x100000-15" # slight undervolt
coall = "1048576"; # no oc?
defaults = "--tctl-temp=${tcl} --set-coall=${coall}"; defaults = "--tctl-temp=${tcl} --set-coall=${coall}";
in in
{ {

View file

@ -11,20 +11,36 @@
virt-viewer virt-viewer
virt-top virt-top
spice-gtk spice-gtk
podman-bootc
bootc
inputs.winapps.packages."${system}".winapps inputs.winapps.packages."${system}".winapps
inputs.winapps.packages."${system}".winapps-launcher inputs.winapps.packages."${system}".winapps-launcher
]; ];
boot.kernelModules = [ "kvm-amd" ]; # TODO check cpu and enable intel kvm if needed boot.kernelModules = [ "kvm-amd" ]; # TODO check cpu and enable intel kvm if needed
virtualisation.waydroid.enable = true; virtualisation = {
virtualisation.docker = { # waydroid.enable = true;
enable = true; containers.enable = true;
package = pkgs.docker; podman = {
enable = true;
storageDriver = lib.mkDefault "overlay2"; autoPrune.enable = true;
liveRestore = false;
autoPrune.enable = true; dockerCompat = true;
dockerSocket.enable = true;
defaultNetwork.settings.dns_enabled = true;
};
docker = {
enable = false;
package = pkgs.docker;
storageDriver = lib.mkDefault "overlay2";
liveRestore = false;
autoPrune.enable = true;
};
}; };
security.wrappers.spice-client-glib-usb-acl-helper = { security.wrappers.spice-client-glib-usb-acl-helper = {

81
pkgs/aaxtomp3.nix Normal file
View file

@ -0,0 +1,81 @@
{
bash,
bc,
coreutils,
fetchFromGitHub,
ffmpeg,
findutils,
gawk,
gnugrep,
gnused,
jq,
lame,
lib,
mediainfo,
mp4v2,
ncurses,
resholve,
}:
resholve.mkDerivation rec {
pname = "aaxtomp3";
version = "1.3";
src = fetchFromGitHub {
owner = "damajor";
repo = "aaxtomp3";
rev = "patch-1";
hash = "sha256-e+A4PLr3/WF/KeEeS6mwpc0ybvTyXTpxoOn6Bj6ZmMg=";
};
postPatch = ''
substituteInPlace AAXtoMP3 \
--replace 'AAXtoMP3' 'aaxtomp3'
substituteInPlace interactiveAAXtoMP3 \
--replace 'AAXtoMP3' 'aaxtomp3' \
--replace 'call="./aaxtomp3"' 'call="$AAXTOMP3"'
'';
installPhase = ''
install -Dm 755 AAXtoMP3 $out/bin/aaxtomp3
install -Dm 755 interactiveAAXtoMP3 $out/bin/interactiveaaxtomp3
'';
solutions.default = {
scripts = [
"bin/aaxtomp3"
"bin/interactiveaaxtomp3"
];
interpreter = "${bash}/bin/bash";
inputs = [
bc
coreutils
ffmpeg
findutils
gawk
gnugrep
gnused
jq
lame
mediainfo
mp4v2
ncurses
];
keep."$call" = true;
fix = {
"$AAXTOMP3" = [ "${placeholder "out"}/bin/aaxtomp3" ];
"$FIND" = [ "find" ];
"$GREP" = [ "grep" ];
"$SED" = [ "sed" ];
"$FFPROBE" = [ "ffprobe" ];
"$FFMPEG" = [ "ffmpeg" ];
};
};
meta = with lib; {
description = "Convert Audible's .aax filetype to MP3, FLAC, M4A, or OPUS";
homepage = "https://krumpetpirate.github.io/AAXtoMP3";
license = licenses.wtfpl;
maintainers = with maintainers; [ urandom ];
};
}

View file

@ -18,7 +18,6 @@
, relyUdev ? true , relyUdev ? true
, ,
}: }:
let let
gstreamerPluginPaths = lib.concatMapStrings (pth: pth + "/lib/gstreamer-1.0:") [ gstreamerPluginPaths = lib.concatMapStrings (pth: pth + "/lib/gstreamer-1.0:") [
(lib.getLib gst_all_1.gstreamer) (lib.getLib gst_all_1.gstreamer)

View file

@ -0,0 +1,8 @@
age-encryption.org/v1
-> ssh-ed25519 nA0mnQ WtsuBNNRDJ2qBqqfKPYBjsG5J8RA1FLG22V4rcpmIAs
+b/BJpaLA/TCIMwRg0c7eO8UqIa+KPgpaOTmpVeW60k
-> m-grease
RCMzLSoDYLRPgxDe1bS2EOXDAD19QYDO3UI/0tzYNOGvcEMnHw
--- WBgm8Vf3dtFoPsTbBIoS73fD824cOm5COYSz66dcvYQ
¢˜6æ…{šÑ;æà³
‰Ä ÷³üJm‡ <<WÐ’Ñǧ‚×É]øÎ/<2F>ú‰5YÅOò<4F> §¢ÝaÐ>Î÷ÒZ7ª†ó"y

View file

@ -1,9 +0,0 @@
age-encryption.org/v1
-> ssh-ed25519 MqgTQA kHKU7lp3SvhVlgDk8qBbQU+nrV8O84CLtR32ZGATDw4
1E9KyKzKwio7ltF1H36tSLWSao0TPNNlbwJAwxhw3CI
-> +&-grease
y1YrcXJ8+mGdSTrJywOZM/E8jbHPSX9rARC6uKOHgESGkH1NWsINbEk0/1fYHi62
6Y+k9Ig9oX7taekoNCU
--- lgK5w16T9LaMc6yoWW+h+zVNyuKuoEoeJi8p7lura1Q
X
¢ò&ÃbZ[IßC>ÊԘОWp¼²ˆŠŠ?èµ ä[˜š-]À) HY¦(u/ݰšÄû¹É–Ý÷Þ^摨à@„9öõýxVG.¾n £9»°‡Rr¡ŸàŽxzJf<4A>±Ûw K‡zbq÷ZÖ©ùf»FÎÓ ‹ê=†½¼Œ„P

View file

@ -1,8 +0,0 @@
age-encryption.org/v1
-> ssh-ed25519 MqgTQA 7y3on/Y6P89gncEtSzn6dak659D+C0jT0Lo711yQaQ0
bsILI8jRG8MFJ2xSowtYyNYHPbcZmS+OFBbTrn7vNgo
-> a-grease /3
faRjVzpKpTOBeDIZVd+uK9AGzVH7LYbIH3QiTZMHE+zE21fI6yjGEQyIE2jsVhTq
q/PxcbNtJ9fZ2JCU43lGX7DveIYT7Z84vX955I3BkIppgQ4
--- dNDrqjg89dlNEf3ZkyW0fU7OyETfVPtRAw7JcRJxQ1o
ŠâCد<11>“ DXo¤ØÁ?9±ÿ©u°iÉÝ”s„çrºÞ©wyB¶~umȹ¶3Dæ€MÓëÏÅbé2táì€j`zDñXù

View file

@ -27,7 +27,9 @@
./disks.nix ./disks.nix
]; ];
age.rekey.hostPubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIRFEtmoq36QmvAwv/xIVdvaf+B9Scbm5cUFFkP/c1nS root@nixos-f16"; # age.rekey.hostPubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIRFEtmoq36QmvAwv/xIVdvaf+B9Scbm5cUFFkP/c1nS root@nixos-f16";
age.rekey.hostPubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIANI+JugoOABEG49405FrbVwbTT/cbYamNZC5Tb01/xp root@nixos-fw16";
nix.settings.builders-use-substitutes = true; nix.settings.builders-use-substitutes = true;
nix.distributedBuilds = true; nix.distributedBuilds = true;
nix.buildMachines = [ ]; nix.buildMachines = [ ];
@ -127,17 +129,17 @@
}; };
}; };
specialisation = { # specialisation = {
linux-latest.configuration = { # linux-latest.configuration = {
boot.kernelPackages = lib.mkForce pkgs.linuxPackages_latest; # boot.kernelPackages = lib.mkForce pkgs.linuxPackages_latest;
}; # };
linux-zen.configuration = { # linux-zen.configuration = {
boot.kernelPackages = lib.mkForce pkgs.linuxPackages_zen; # boot.kernelPackages = lib.mkForce pkgs.linuxPackages_zen;
}; # };
linux-cachyos.configuration = { # linux-cachyos.configuration = {
boot.kernelPackages = lib.mkForce pkgs.linuxPackages_cachyos; # boot.kernelPackages = lib.mkForce pkgs.linuxPackages_cachyos;
}; # };
}; # };
boot = { boot = {
# kernelPackages = pkgs.linuxPackages_latest; # bootstrap # kernelPackages = pkgs.linuxPackages_latest; # bootstrap
# kernelPackages = pkgs.linuxPackages_zen; # bootstrap # kernelPackages = pkgs.linuxPackages_zen; # bootstrap
@ -165,7 +167,8 @@
loader = { loader = {
timeout = 0; timeout = 0;
systemd-boot = { systemd-boot = {
enable = false; # due to lanzaboote # enable = false; # due to lanzaboote
enable = true; # bootstrap
configurationLimit = 12; configurationLimit = 12;
memtest86.enable = true; memtest86.enable = true;
@ -175,7 +178,7 @@
}; };
lanzaboote = { lanzaboote = {
enable = true; # enable = true;
configurationLimit = 12; configurationLimit = 12;
# pkiBundle = "/etc/secureboot"; # pkiBundle = "/etc/secureboot";
pkiBundle = "/var/lib/sbctl"; pkiBundle = "/var/lib/sbctl";

View file

@ -16,8 +16,8 @@
config = { config = {
boot = { boot = {
supportedFilesystems = [ "bcachefs" "vfat" ]; supportedFilesystems = [ "btrfs" "vfat" ];
initrd.supportedFilesystems = [ "bcachefs" "vfat" ]; initrd.supportedFilesystems = [ "btrfs" "vfat" ];
initrd.luks.devices = initrd.luks.devices =
lib.attrsets.mergeAttrsList lib.attrsets.mergeAttrsList
( (
@ -38,45 +38,32 @@
); );
}; };
fileSystems = fileSystems = {
let "/" = {
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s"; device = "/dev/mapper/crypt_ssd_4t_data";
perm_opts = "uid=1001,gid=100"; # device = "UUID=f89215ba-3313-42d3-8f68-051ad2453870";
smb_opts = [ fsType = "btrfs";
"vers=3,credentials=/home/tristand/.smb-secrets" options = [
perm_opts "rw"
automount_opts "autodefrag"
"compress=zstd"
"discard=async"
"relatime"
"space_cache=v2"
"ssd"
]; ];
sshfs_opts = [
"allow_other,_netdev,reconnect,ServerAliveInterval=15,IdentityFile=/var/secrets/id_ed25519"
perm_opts
automount_opts
];
in
{
"/" = {
device = "/dev/mapper/crypt_ssd_4t_data";
# device = "UUID=f89215ba-3313-42d3-8f68-051ad2453870";
fsType = "bcachefs";
options = [ "relatime" ];
};
"/boot" = {
device = "/dev/disk/by-uuid/05A2-6A8A";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
};
# "/mnt/media_v2" = {
# device = "root@23.88.68.113:/media_v2";
# fsType = "sshfs";
# options = sshfs_opts;
# };
}; };
"/boot" = {
device = "/dev/disk/by-uuid/05A2-6A8A";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
};
};
swapDevices = [ swapDevices = [
{ device = "/dev/disk/by-uuid/a8f478f0-ad5e-47ae-8e18-63060f7e5706"; } # { device = "/dev/disk/by-uuid/a8f478f0-ad5e-47ae-8e18-63060f7e5706"; }
{ device = "/dev/disk/by-uuid/59987b2a-c5c5-4547-95ad-f0d1dcdf8458"; } # { device = "/dev/disk/by-uuid/59987b2a-c5c5-4547-95ad-f0d1dcdf8458"; }
]; ];
system.fsPackages = [ pkgs.sshfs ]; system.fsPackages = [ pkgs.sshfs ];

View file

@ -8,7 +8,7 @@
imports = [ imports = [
../home-mods/audio ../home-mods/audio
../home-mods/common ../home-mods/common
../home-mods/firefox ../home-mods/firefox/zen-browser.nix
# ../home-mods/plasma # ../home-mods/plasma
../home-mods/shell ../home-mods/shell
]; ];