1
0
mirror of https://github.com/kmein/niveum synced 2026-03-16 10:11:08 +01:00

5 Commits

8 changed files with 84 additions and 41 deletions

View File

@@ -71,7 +71,9 @@ echo "Enough space available. Starting conversion..."
sanitize_filename() {
local name="$1"
# Remove path, keep only base name
name=$(basename "$name" .m4a)
name=$(basename "$name")
# Remove any extension
name=${name%.*}
# Replace spaces and special chars with underscore
name=$(echo "$name" | tr ' ' '_' | tr -cd '[:alnum:]_-')
# Truncate to max 50 chars
@@ -100,8 +102,9 @@ for f in "${FILES[@]}"; do
echo "Converting '$f' to '$OUT_PATTERN' at speed $SPEED..."
ffmpeg -i "$f" \
-filter:a "atempo=$SPEED" -ar 44100 -ac 2 -c:a libmp3lame -b:a 128k \
ffmpeg -nostdin -i "$f" \
-filter:a "atempo=$SPEED" \
-ar 22050 -ac 1 -c:a libmp3lame -b:a 32k \
-f segment -segment_time 300 \
"$OUT_PATTERN"

View File

@@ -6,9 +6,11 @@
}:
{
users.users.applicative = {
name = "applicative";
description = "<*>";
name = "asg";
description = "Applicative Systems";
hashedPasswordFile = config.age.secrets.kfm-password.path;
home = "/home/applicative";
uid = 1001;
isNormalUser = true;
extraGroups = [
"pipewire"
@@ -16,6 +18,45 @@
];
};
services.displayManager.autoLogin.enable = false;
# if we have multiple users, they should be able to log in through a greeter
programs.regreet =
let
wallpaper =
pkgs.runCommand "textured-monochrome-wallpaper.png"
{
buildInputs = [ pkgs.imagemagick ];
}
''
magick -size 2560x1440 plasma:fractal \
-colorspace Gray \
-normalize \
-fill ${lib.escapeShellArg config.lib.stylix.colors.withHashtag.base00} -colorize 100% \
-attenuate 0.15 +noise Gaussian \
$out
'';
in
{
enable = true;
settings = {
background = {
path = wallpaper;
fit = "Fill";
};
appearance.greeting_msg = "";
widget.clock.format = "%F %H:%M";
};
font = {
inherit (config.stylix.fonts.sansSerif) name;
size = config.stylix.fonts.sizes.applications;
};
iconTheme = {
inherit (config.home-manager.users.me.gtk.iconTheme) package name;
};
};
# to run nspawn in nix sandbox
nix.settings = {
auto-allocate-uids = true;
@@ -25,6 +66,8 @@
"cgroups"
];
extra-sandbox-paths = [ "/dev/net" ]; # needed for tests of VPNs
trusted-users = [ config.users.users.applicative.name ];
};
services.restic.backups.niveum = {

View File

@@ -240,7 +240,6 @@ in
./vscode.nix
./wallpaper.nix
./zsh.nix
./applicative.nix
{
home-manager.users.me.home.file.".zshrc".text = ''
# nothing to see here

View File

@@ -38,40 +38,10 @@ in
pkgs.xdg-desktop-portal-hyprland
];
programs.regreet =
let
wallpaper =
pkgs.runCommand "textured-monochrome-wallpaper.png"
{
buildInputs = [ pkgs.imagemagick ];
}
''
magick -size 2560x1440 plasma:fractal \
-colorspace Gray \
-normalize \
-fill ${lib.escapeShellArg config.lib.stylix.colors.withHashtag.base00} -colorize 100% \
-attenuate 0.15 +noise Gaussian \
$out
'';
in
{
enable = true;
settings = {
background = {
path = wallpaper;
fit = "Fill";
};
appearance.greeting_msg = "";
widget.clock.format = "%F %H:%M";
};
font = {
inherit (config.stylix.fonts.sansSerif) name;
size = config.stylix.fonts.sizes.applications;
};
iconTheme = {
inherit (config.home-manager.users.me.gtk.iconTheme) package name;
};
};
services.displayManager.autoLogin = {
enable = true;
user = config.users.users.me.name;
};
home-manager.users.me = import ./home-manager.nix {
inherit lib pkgs config;

View File

@@ -189,6 +189,7 @@ in
qrencode
pkgs.agenix
pkgs.wetter
pkgs.alarm
(pkgs.writers.writeDashBin "worldradio" ''

23
flake.lock generated
View File

@@ -666,7 +666,8 @@
"tinc-graph": "tinc-graph",
"treefmt-nix": "treefmt-nix_2",
"voidrice": "voidrice",
"wallpapers": "wallpapers"
"wallpapers": "wallpapers",
"wetter": "wetter"
}
},
"rust-analyzer-src": {
@@ -999,6 +1000,26 @@
"repo": "wallpapers",
"type": "github"
}
},
"wetter": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1768340583,
"narHash": "sha256-k/XWWgjWHURh2w20ScXJgALnDB3ipT/JG6HoWG1eIgI=",
"owner": "4z3",
"repo": "wetter",
"rev": "076b6a1bd9f7e96a96c2488ee823d5e75a60a597",
"type": "github"
},
"original": {
"owner": "4z3",
"repo": "wetter",
"type": "github"
}
}
},
"root": "root",

View File

@@ -24,6 +24,7 @@
voidrice.url = "github:Lukesmithxyz/voidrice";
wallpapers.url = "github:kmein/wallpapers";
nix-topology.url = "github:oddlama/nix-topology";
wetter.url = "github:4z3/wetter";
voidrice.flake = false;
wallpapers.flake = false;
@@ -58,6 +59,7 @@
scripts.inputs.nixpkgs.follows = "nixpkgs";
stylix.inputs.nixpkgs.follows = "nixpkgs";
tinc-graph.inputs.nixpkgs.follows = "nixpkgs";
wetter.inputs.nixpkgs.follows = "nixpkgs";
};
outputs =
@@ -81,6 +83,7 @@
nix-index-database,
stylix,
voidrice,
wetter,
...
}:
let
@@ -159,6 +162,7 @@
--max-jobs 2 \
--log-format internal-json \
--flake .#${hostname} \
--use-substitutes \
--target-host "$target" \
${lib.optionalString (localSystem != machines.${hostname}.system) "--build-host $target"} \
|& ${pkgs.nix-output-monitor}/bin/nom --json
@@ -262,6 +266,7 @@
};
# packaged from inputs
wetter = wetter.packages.${prev.stdenv.hostPlatform.system}.wetter;
agenix = agenix.packages.${prev.stdenv.hostPlatform.system}.default;
pun-sort-api = scripts.packages.${prev.stdenv.hostPlatform.system}.pun-sort-api;
alarm = scripts.packages.${prev.stdenv.hostPlatform.system}.alarm;

View File

@@ -6,6 +6,7 @@
{
imports = [
./cuda.nix
./applicative.nix
./hardware-configuration.nix
../../configs/networkmanager.nix
../../configs/default.nix