diff --git a/Satori/Hardware/power.nix b/Satori/Hardware/power.nix index 386be68..06edd0b 100644 --- a/Satori/Hardware/power.nix +++ b/Satori/Hardware/power.nix @@ -1,7 +1,8 @@ -{ config, lib, ... }: +{ config, ... }: { powerManagement = { - cpuFreqGovernor = lib.mkDefault "powersave"; + enable = true; + cpuFreqGovernor = "ondemand"; }; } diff --git a/Satori/Stuff/services.nix b/Satori/Stuff/services.nix index 9a03923..dfbc963 100644 --- a/Satori/Stuff/services.nix +++ b/Satori/Stuff/services.nix @@ -2,8 +2,8 @@ { systemd.services.nbfc = { - wantedBy = [ "multi-user.target" ]; description = "Notebook Fancontrol"; + wantedBy = lib.mkForce []; serviceConfig = { Type = "forking"; Restart = "on-failure"; @@ -15,12 +15,24 @@ services = { tor.enable = true; logmein-hamachi.enable = true; + mysql = { + enable = true; + package = pkgs.mysql; + dataDir = "/var/db"; + }; + sshd.enable = true; + + /* vault = { + enable = true; + storageBackend = "mysql"; + storagePath = "/var/db"; + };*/ + }; + systemd.services = { + tor.wantedBy = lib.mkForce []; + logmein-hamachi.wantedBy = lib.mkForce []; + sshd.wantedBy = lib.mkForce []; + mysql.wantedBy = lib.mkForce []; + #vault.wantedBy = lib.mkForce []; }; - # services.picom = { - # enable = true; - # fade = true; - # shadow = true; - # activeOpacity = 0.96; - # inactiveOpacity = 0.86; - # }; } diff --git a/Satori/boot.nix b/Satori/boot.nix index e0709ac..6f83c0c 100644 --- a/Satori/boot.nix +++ b/Satori/boot.nix @@ -23,7 +23,7 @@ }; grub = { enable = true; - useOSProber = true; +# useOSProber = true; efiSupport = true; device = "nodev"; splashImage = "/etc/cirno.png"; #hehe diff --git a/Satori/hardware.nix b/Satori/hardware.nix index 9ef2bab..ee34a33 100644 --- a/Satori/hardware.nix +++ b/Satori/hardware.nix @@ -11,7 +11,7 @@ fileSystems."/" = { device = "/dev/disk/by-uuid/4c02ddf5-d00e-4d84-856f-c327ae44d047"; fsType = "btrfs"; - options = ["compress=zstd"]; + options = ["compress=zstd:9"]; }; fileSystems."/boot/efi" = diff --git a/Satori/pkgs.nix b/Satori/pkgs.nix index f748763..a5055ed 100644 --- a/Satori/pkgs.nix +++ b/Satori/pkgs.nix @@ -5,7 +5,6 @@ xclip xorg.xkbcomp xorg.xmodmap - ffmpeg p7zip git glxinfo @@ -32,11 +31,22 @@ st kbd ]; - programs.steam.enable = true; + programs = { + steam.enable = true; + gnupg = { + agent = { + enableSSHSupport = true; + enable = true; + pinentryFlavor = "curses"; + }; + }; + fish.enable = true; + dconf.enable = true; + }; nix = { package = pkgs.nixUnstable; extraOptions = '' - experimental-features = nix-command flakes + experimental-features = nix-command ca-references flakes ''; }; } diff --git a/Satori/stuff.nix b/Satori/stuff.nix index 6309b81..d82cafa 100644 --- a/Satori/stuff.nix +++ b/Satori/stuff.nix @@ -1,4 +1,4 @@ -{lib, config, ... }: +{lib, config, agenix, ... }: { imports = [ ./Stuff/sound.nix @@ -10,8 +10,8 @@ time.timeZone = "Asia/Kolkata"; environment = { sessionVariables = { - QT_QPA_PLATFORMTHEME = "gtk3"; QT_X11_NO_MITSHM="1"; + EDITOR = "nvim"; }; }; security={ @@ -32,11 +32,5 @@ dates = "20:15"; }; nixpkgs.config.allowUnfree = true; - programs = { - fish.enable = true; - dconf.enable = true; - }; nixpkgs.config.allowBroken = true; - nix.extraOptions = ''experimental-features = nix-command flakes ca-references''; - } diff --git a/acha.yaml b/acha.yaml new file mode 100644 index 0000000..8f02748 --- /dev/null +++ b/acha.yaml @@ -0,0 +1,32 @@ +foo: ENC[AES256_GCM,data:5Ge7eUo=,iv:82RHHUmwHmsQrEI8S/x3oKhnyT1gjJMXaqCn5OAIF1Q=,tag:Q8WCeIDClSmpB2StSKUOew==,type:str] +sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] + age: [] + lastmodified: "2021-05-05T02:12:06Z" + mac: ENC[AES256_GCM,data:GdNfM/AG4uqCmDRrzL6mYPHPtCIgKCqG6fo3nH4cZZdV2iTf6atiKk9aflvF+lLMoRVq5RYltWk3YJ8FHCXraHbKzitohhlhkmzxt8h4pPVE/Mx45jXw8sEVugBmsV/asl0B5Z8hYnJsQnP3WSt3wYE6/YMBk0k60vFcQpL78xQ=,iv:Z4oPby5K9WnPnLL6YdVLb+Bg2KP/9cNni13E2xxerdU=,tag:WQBG1PMX9eKilIGQdyp1Zg==,type:str] + pgp: + - created_at: "2021-05-05T00:23:41Z" + enc: | + -----BEGIN PGP MESSAGE----- + + hQIMA+X3NrYq0li6AQ/6A5ovfQh6INTo/12GCDGdHKIfb4QO48LEjChvVhxhZUzk + l7hW5Ihgmt/42Eswu35/BCzfvfLWqzfGuMFcnE6kJIBzY0zgN+H/c2UR6wYoplNp + +jDxMxArbNzD49nrJu25entaH1ShZgs96sC1EQ0HT0CLHLqWfWnujnKsZEZUA6NU + WyWmqlun5VFtLrvGpJdqO+hyHn7F/W0hPO91uhIxlE+mhIvKmDo9ldUzi4LWe2VQ + jVcK3Uwoju/L8Z7TAOmUPp/r/JEMjK7QrMKngZ1Jath/wC6BljaabUohfjo8U/dZ + 2BK7j94aIs18m5j6XThHhK8IQ8Tw1DQU6z3g4xRINeYIUeQS5qPWoR4xw26H7LUs + LzdLGD7RRIFqsOOTlnmgANPZJb68SD+xUBJLOmSGKjxJRnW4SMC2dIMV8a/5axzh + kePqXZMK3284BFe3HqPo9kZK0WYA++ARl9lbQxHRgxA4xGb9ACB1SqIQltGmcpuM + qRHnZyMPqwRrZ6fglBtunbmEbrUVzJd5Ly+0bAew3wLKcGoQc/zytcdN6YxtyvmY + 6ftjh+78kMDA4bsn4saxerxhTeW2n5JBWd5ysT2pEXYPDwHObnmTSat0PDUyneAF + kN0LiR8ZzV+UIbMjvfj14N2H0j2LhjHcMyNV9iM48TJW7gTiiHECAt/0KFtMnvTS + XgGhRTCmpAsU9dIcZAAp94qSBQ/axteLK/71bYz13AyMRGllpu4AneYre/vVmWtk + kb3KYTgjOwPYxwEABjgqIcl6J3NuVvEKts48nTrXMJlB5A6zIYIJHH5Btdpwi38= + =CF20 + -----END PGP MESSAGE----- + fp: 53EC089EF230E47A83BA8F8195949BD4B853F559 + unencrypted_suffix: _unencrypted + version: 3.7.1 diff --git a/flake.lock b/flake.lock index ad1324d..9005e22 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,39 @@ { "nodes": { + "agenix": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1620307122, + "narHash": "sha256-YLS8foCbVXJiUPoz3NpfAwysxCMsKNIpWK0fetfPNI0=", + "owner": "ryantm", + "repo": "agenix", + "rev": "c12ac8b6f336e1029f6d45c8ca0f2a3f95fbeb6b", + "type": "github" + }, + "original": { + "owner": "ryantm", + "repo": "agenix", + "type": "github" + } + }, + "flake-utils": { + "locked": { + "lastModified": 1600209923, + "narHash": "sha256-zoOWauTliFEjI++esk6Jzk7QO5EKpddWXQm9yQK24iM=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "3cd06d3c1df6879c9e41cb2c33113df10566c760", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -21,6 +55,20 @@ } }, "nixpkgs": { + "locked": { + "lastModified": 1599148892, + "narHash": "sha256-V76c6DlI0ZZffvbBpxGlpVSpXxZ14QpFHwAvEEujIsY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "7ff50a7f7b9a701228f870813fe58f01950f870b", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, + "nixpkgs_2": { "locked": { "lastModified": 1619464443, "narHash": "sha256-R7WAb8EnkIJxxaF6GTHUPytjonhB4Zm0iatyWoW169A=", @@ -36,10 +84,27 @@ "type": "github" } }, + "nur": { + "locked": { + "lastModified": 1619994493, + "narHash": "sha256-cYKOTkRp1J0DIrJ6MNBH4dAmpQGaf2shppxKuI0eIac=", + "owner": "nix-community", + "repo": "NUR", + "rev": "72fd1387746e2d2806e1ec172886c149c3f46180", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "NUR", + "type": "github" + } + }, "root": { "inputs": { + "agenix": "agenix", "home-manager": "home-manager", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", + "nur": "nur", "stable": "stable" } }, diff --git a/flake.nix b/flake.nix index 035cb59..f5f1558 100644 --- a/flake.nix +++ b/flake.nix @@ -1,15 +1,24 @@ { + inputs = { - stable.url = "github:nixos/nixpkgs/nixos-20.09"; - nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + stable.url = github:nixos/nixpkgs/nixos-20.09; + nixpkgs.url = github:nixos/nixpkgs/nixos-unstable; home-manager = { - url = "github:nix-community/home-manager"; + url = github:nix-community/home-manager; inputs.nixpkgs.follows = "nixpkgs"; }; + nur = { + url = github:nix-community/NUR; + inputs.nixpkgs.follows = "nixpkgs"; + }; + agenix.url = github:ryantm/agenix; }; - outputs = inputs@{self, nixpkgs, stable, home-manager,... }: + + outputs = {self, nixpkgs, stable, home-manager, nur, agenix, ... }: + let system = "x86_64-linux"; + ov = (builtins.attrValues self.overlays) ++ [ nur.overlay ]; in { overlays = { @@ -20,35 +29,28 @@ hm-configs = { natto = home-manager.lib.homeManagerConfiguration { configuration = { pkgs, lib, ... }: { - imports = [ ./home/natto.nix ]; - nixpkgs = { - overlays = builtins.attrValues self.overlays; - }; + imports = [ + ./home/natto.nix + ]; + nixpkgs.overlays = ov; }; system = "${system}"; homeDirectory = "/home/natto"; username = "natto"; }; - - root = home-manager.lib.homeManagerConfiguration { - configuration = { pkgs, lib, ... }: { - imports = [ ./home/root.nix ]; - nixpkgs = { - overlays = builtins.attrValues self.overlays; - }; - }; - system = "${system}"; - homeDirectory = "/root"; - username = "root"; - }; }; nixosConfigurations.Satori = nixpkgs.lib.nixosSystem { system = "${system}"; modules = [ ./Satori/configuration.nix - { nixpkgs.overlays = builtins.attrValues self.overlays; } + agenix.nixosModules.age + home-manager.nixosModules.home-manager + { + nixpkgs.overlays = ov; + } ]; }; + }; } diff --git a/hm-switch b/hm-switch index 3f38a2c..5007c87 100755 --- a/hm-switch +++ b/hm-switch @@ -12,7 +12,7 @@ if [ ${conf,,} == "n" ]; then echo "If this is not you, then log into your profile first!" exit 1 else - $elev nix build .\#hm-configs.$USER.activationPackage -o hm-result + $elev nix build .\#hm-configs.$USER.activationPackage -o hm-result --impure ./hm-result/activate $elev unlink hm-result fi diff --git a/home/config/dwm/autostart.sh b/home/config/dwm/autostart.sh new file mode 100755 index 0000000..8e8a877 --- /dev/null +++ b/home/config/dwm/autostart.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +picom --experimental-backends & +~/.dwm/bruhstatus.sh & +feh --bg-scale ~/Downloads/stallman.jpg diff --git a/home/config/dwm/bruhstatus.sh b/home/config/dwm/bruhstatus.sh new file mode 100755 index 0000000..edae479 --- /dev/null +++ b/home/config/dwm/bruhstatus.sh @@ -0,0 +1,47 @@ +#!/usr/bin/env bash +prevtotload=0 +previdleload=0 +#tt=$(date +"%s") +#bgfile=$(ls ~/Wallpapers/** | shuf -n 1) +#for N in {99..1}; do +# magick convert $bgfile -fill black -colorize $N% jpg:- | feh --bg-scale - +#done +#feh --bg-scale $bgfile +while true; do + cputemp=$(($(cat /sys/class/thermal/thermal_zone0/temp)/1000)) + gputemp=$(nvidia-smi | head -n 10 | tail -n 1 |awk '{print $3}'| cut -c 1-2) + totmem=$(cat /proc/meminfo | awk '/MemTotal:/ {print $2}') + echo $totmem + availmem=$(cat /proc/meminfo | awk '/MemAvailable:/ {print $2}') + echo $availmem + totload=$(cat /proc/stat | awk '/cpu/'|head -n 1|awk '{print $2+$3+$4+$5+$6+$7+$8}') + echo $totload + idleload=$(cat /proc/stat | awk '/cpu/'|head -n 1|awk '{print $5}') + echo $idleload + totloadchange=$(($totload-$prevtotload)) + idleloadchange=$(($idleload-$previdleload)) + xsetroot -name\ + "CPU [$(printf %0.2f $(echo "($totloadchange-$idleloadchange)*100/$totloadchange" | bc -l))%]\ + MEM [$(printf %0.2f $(echo \($totmem - $availmem\)/1024/1024|bc -l))/\ +$(printf %0.2f $(echo $totmem/1024/1024 | bc -l))]\ + TEMP [$cputemp°C|$gputemp°C]\ + BAT$($(cat /sys/class/power_supply/BAT1/status | grep -q Discharging) && echo " " || echo "")\ +[$(cat /sys/class/power_supply/BAT1/capacity)%]\ + VOL [$(pamixer --get-volume)]\ + [$(date +"%a, %b %d") | $(date +"%H:%M:%S")]" + prevtotload=$totload + previdleload=$idleload + # if [ $(echo $tt+44 | bc -l) -lt $(date +"%s") ] + # then + #for N in {1..99}; do + # magick convert $bgfile -fill black -colorize $N% jpg:- | feh --bg-scale - + #done + # bgfile=$(ls ~/Wallpapers/** | shuf -n 1) + #for N in {99..1}; do + # magick convert $bgfile -fill black -colorize $N% jpg:- | feh --bg-scale - + #done + # feh --bg-scale $bgfile + # tt=$(date +"%s") + #fi + sleep 15 +done diff --git a/home/modules/files.nix b/home/modules/files.nix deleted file mode 100644 index c3a65dd..0000000 --- a/home/modules/files.nix +++ /dev/null @@ -1,15 +0,0 @@ -{config, ...}: -let - home = config.home.homeDirectory; -in { - home = { - file.ncmpcpp = { - source = ../config/ncmpcpp/config; - target = "${home}/.config/ncmpcpp/config"; - }; - file.mpd = { - source = ../config/mpd/mpd.conf; - target = "${home}/.config/mpd/mpd.conf"; - }; - }; -} diff --git a/home/natto.nix b/home/natto.nix index 4b90fc0..bf8feac 100644 --- a/home/natto.nix +++ b/home/natto.nix @@ -1,20 +1,41 @@ -{ config, pkgs, ... }: - +{ config, pkgs, lib, ... }: +let + home = config.home.homeDirectory; +in { imports = [ - ./modules/programs.nix - ./modules/xsession.nix - ./modules/files.nix - ./modules/services.nix - ./modules/gtk.nix + ./stuff/programs.nix + ./stuff/xsession.nix + ./stuff/secret.nix + ./stuff/services.nix + ./stuff/gtk.nix ]; nixpkgs = { config = { allowUnfree = true; }; }; + + age = { + sshKeyPaths = [ "${home}/.ssh/id_ed25519" ]; + secrets = { + fish_variables = { + file = ./secrets/fish_variables.age; + path = "${home}/.config/fish/fish_variables"; + }; + mpdasrc = { + file = ./secrets/mpdasrc.age; + path = "${home}/.config/mpdasrc"; + }; + }; + }; home = { packages = with pkgs; [ + ffmpeg + sox + rage + curl + pamixer mpdas mpd dunst @@ -31,8 +52,30 @@ tor-browser-bundle-bin mpc_cli flameshot + hexchat luajit mpv + jmtpfs + youtube-dl ]; + + file = { + ncmpcpp = { + source = ./config/ncmpcpp/config; + target = "${home}/.config/ncmpcpp/config"; + }; + mpd = { + source = ./config/mpd/mpd.conf; + target = "${home}/.config/mpd/mpd.conf"; + }; + dwm-autostart = { + source = ./config/dwm/autostart.sh; + target = "${home}/.dwm/autostart.sh"; + }; + dwm-status = { + source = ./config/dwm/bruhstatus.sh; + target = "${home}/.dwm/bruhstatus.sh"; + }; + }; }; } diff --git a/home/root.nix b/home/root.nix deleted file mode 100644 index 2e15286..0000000 --- a/home/root.nix +++ /dev/null @@ -1,7 +0,0 @@ -{config, ...}: -{ - imports = [ - ./modules/programs/nvim.nix - ./modules/gtk.nix - ]; -} diff --git a/home/secrets/fish_variables.age b/home/secrets/fish_variables.age new file mode 100644 index 0000000..b2aa3cd Binary files /dev/null and b/home/secrets/fish_variables.age differ diff --git a/home/secrets/mpdasrc.age b/home/secrets/mpdasrc.age new file mode 100644 index 0000000..eff612b Binary files /dev/null and b/home/secrets/mpdasrc.age differ diff --git a/home/modules/gtk.nix b/home/stuff/gtk.nix similarity index 100% rename from home/modules/gtk.nix rename to home/stuff/gtk.nix diff --git a/home/modules/programs.nix b/home/stuff/programs.nix similarity index 100% rename from home/modules/programs.nix rename to home/stuff/programs.nix diff --git a/home/modules/programs/nvim.nix b/home/stuff/programs/nvim.nix similarity index 100% rename from home/modules/programs/nvim.nix rename to home/stuff/programs/nvim.nix diff --git a/home/stuff/secret.nix b/home/stuff/secret.nix new file mode 100644 index 0000000..e605961 --- /dev/null +++ b/home/stuff/secret.nix @@ -0,0 +1,93 @@ +/* Module by @ryantm in github:ryantm/agenix +Modified by @natto1784 for 'personal' home-manager config */ + +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.age; + ageBin = "${pkgs.rage}/bin/rage"; + users = config.users.users; + home_ = config.home.homeDirectory; + username_ = config.home.username; + identities = builtins.concatStringsSep " " (map (path: "-i ${path}") cfg.sshKeyPaths); + installSecret = secretType: '' + echo "decrypting ${secretType.file} to ${secretType.path}..." + TMP_FILE="${secretType.path}.tmp" + mkdir -p $(dirname ${secretType.path}) + (umask 0400; ${ageBin} --decrypt ${identities} -o "$TMP_FILE" "${secretType.file}") + chmod ${secretType.mode} "$TMP_FILE" + chown ${secretType.owner} "$TMP_FILE" + mv -f "$TMP_FILE" '${secretType.path}' + ''; + + secretType = types.submodule ({ config, ... }: { + options = { + name = mkOption { + type = types.str; + default = config._module.args.name; + description = '' + Name of the file used in /run/secrets + ''; + }; + file = mkOption { + type = types.path; + description = '' + Age file the secret is loaded from. + ''; + }; + path = mkOption { + type = types.str; + default = "${home_}/.secrets/${config.name}"; + description = '' + Path where the decrypted secret is installed. + ''; + }; + mode = mkOption { + type = types.str; + default = "0400"; + description = '' + Permissions mode of the in octal. + ''; + }; + owner = mkOption { + type = types.str; + default = "${username_}"; + description = '' + User of the file. + ''; + }; + }; + }); +in { + + options.age = { + secrets = mkOption { + type = types.attrsOf secretType; + default = {}; + description = '' + Attrset of secrets. + ''; + }; + + sshKeyPaths = mkOption { + type = types.listOf types.path; + default = [ ]; + description = '' + Path to SSH keys to be used as identities in age decryption. + ''; + }; + }; + config = mkIf (cfg.secrets != {}) { + assertions = [{ + assertion = cfg.sshKeyPaths != []; + message = "age.sshKeyPaths must be set."; + }]; + home.activation = { + decryptSecrets = lib.hm.dag.entryBefore [ "writeBoundary" ] (concatStrings (map installSecret (builtins.attrValues cfg.secrets))); + }; + }; +} + + diff --git a/home/modules/services.nix b/home/stuff/services.nix similarity index 100% rename from home/modules/services.nix rename to home/stuff/services.nix diff --git a/home/modules/xsession.nix b/home/stuff/xsession.nix similarity index 100% rename from home/modules/xsession.nix rename to home/stuff/xsession.nix diff --git a/overlays/customscripts/default.nix b/overlays/customscripts/default.nix index 19048a2..aac0eed 100644 --- a/overlays/customscripts/default.nix +++ b/overlays/customscripts/default.nix @@ -1,16 +1,18 @@ -{lib,stdenv,fetchFromGitHub}: +{lib, stdenv, fetchFromGitHub, rage, curl, sox, ffmpeg}: stdenv.mkDerivation rec{ name = "customscripts"; - src = fetchFromGitHub { + src = ./src; + /* src = fetchFromGitHub { owner = "idcretard"; repo = "custom-scripts"; rev = "a996a52831316cc2c282904352654bd20c82f7bd"; sha256 = "sha256-nw21YmcmQMF8NADnuHOc7eF2Yaj/r/1mYBn77fYK7s8="; - }; + };*/ + buildInputs = [ rage curl sox ffmpeg ]; unpackPhase = ":"; installPhase = '' mkdir -p $out/bin cp -r $src/* $out/bin - for x in $out/bin/*;do chmod +x "$x";done + for x in $out/bin/*; do chmod +x "$x"; done ''; } diff --git a/overlays/customscripts/src/agecrypt b/overlays/customscripts/src/agecrypt new file mode 100644 index 0000000..d6ba81e --- /dev/null +++ b/overlays/customscripts/src/agecrypt @@ -0,0 +1,12 @@ +#!/usr/bin/env bash +if [ $# -eq 0 ]; then echo "bruh"; exit 1; fi +FILE=$1 +if [ $# -eq 2 ]; then + TARGET="$2.age" +elif [ $# -eq 1 ]; then + TARGET="$FILE.age" +else + echo "bruh" + exit 1 +fi +rage -o "$TARGET" -r "$(cat ~/.ssh/*.pub)" "$1" diff --git a/overlays/customscripts/src/batspec b/overlays/customscripts/src/batspec new file mode 100644 index 0000000..72abb68 --- /dev/null +++ b/overlays/customscripts/src/batspec @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +mkdir spectrals; cd spectrals; for x in ../*$1;do sox "$x" -n spectrogram -o "$(echo $(ffprobe -loglevel error -show_entries format_tags=track -of default=noprint_wrappers=1:nokey=1 "$x") - $(ffprobe -loglevel error -show_entries format_tags=TITLE -of default=noprint_wrappers=1:nokey=1 "$x")).png"; done diff --git a/overlays/customscripts/src/batspecup b/overlays/customscripts/src/batspecup new file mode 100644 index 0000000..4c74130 --- /dev/null +++ b/overlays/customscripts/src/batspecup @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +mkdir spectrals +cd spectrals +for x in ../*$1 +do + spec="$(echo $(ffprobe -loglevel error -show_entries format_tags=track -of default=noprint_wrappers=1:nokey=1 "$x") - $(ffprobe -loglevel error -show_entries format_tags=TITLE -of default=noprint_wrappers=1:nokey=1 "$x"))" + sox "$x" -n spectrogram -o "$spec.png" -t "$spec" + resp=$(curl -F file-upload=@"$spec.png" -F "api_key=$PTPIMGAPI" https://ptpimg.me/upload.php 2>/dev/null) + echo "$spec" + echo [img]https://ptpimg.me/$(echo $resp | jq -r .[0].code).$(echo $resp | jq -r .[0].ext)[/img] + rm "$spec.png" +done +cd .. +rm -r spectrals diff --git a/overlays/customscripts/src/battrans b/overlays/customscripts/src/battrans new file mode 100644 index 0000000..7f673d4 --- /dev/null +++ b/overlays/customscripts/src/battrans @@ -0,0 +1,15 @@ +#!/usr/bin/env bash +IFS=$'\n' +for i in $(ls *$3) +do + if [ $1 = "320" ]; then + ffmpeg -i "$i" -codec:a libmp3lame -b:a 320k -map_metadata 0 -id3v2_version 3 "$2/${i%.$3}".mp3 + elif [ $1 = "v0" ]; then + ffmpeg -i "$i" -codec:a libmp3lame -q:a 0 -map_metadata 0 -id3v2_version 3 "$2/${i%.$3}".mp3 + elif [ $1 = "alactoflac" ]; then + ffmpeg -i "$i" -codec:a flac -map_metadata 0 -id3v2_version 3 "$2/${i%.$3}".flac + else + sox "$i" -G -b 16 "$2/${i%.$3}".flac rate -v -L 48000 dither + fi + echo $i +done diff --git a/overlays/customscripts/src/compmusic b/overlays/customscripts/src/compmusic new file mode 100644 index 0000000..ebf6c29 --- /dev/null +++ b/overlays/customscripts/src/compmusic @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +if [ $1 == "flac" ]; then + for x in *.flac; do + flac "$x" --compression-level-8 -o "bruh.$x" + mv "bruh.$x" "$x" + done +else + echo "bruh" +fi diff --git a/overlays/customscripts/src/compress b/overlays/customscripts/src/compress new file mode 100644 index 0000000..7ef7799 --- /dev/null +++ b/overlays/customscripts/src/compress @@ -0,0 +1,32 @@ +#!/usr/bin/env bash + +target_video_size_KB="$2" +origin_duration_s=$(ffprobe -v error -show_streams -select_streams a "$1" | grep -Po "(?<=^duration\=)\d*\.\d*") +echo $origin_duration_s +origin_audio_bitrate_kbit_s=$(ffprobe -v error -pretty -show_streams -select_streams a "$1" | grep -Po "(?<=^bit_rate\=)\d*\.\d*") +target_audio_bitrate_kbit_s=$origin_audio_bitrate_kbit_s +target_video_bitrate_kbit_s=$(\ + awk \ + -v size="$target_video_size_KB" \ + -v duration="$origin_duration_s" \ + -v audio_rate="$target_audio_bitrate_kbit_s" \ + 'BEGIN { print ( ( size * 8.0 ) / ( 1.048576 * duration ) - audio_rate ) }') + +ffmpeg \ + -y \ + -i "$1" \ + -c:v libx264 \ + -b:v "$target_video_bitrate_kbit_s"k \ + -pass 1 \ + -an \ + -f mp4 \ + /dev/null \ +&& \ +ffmpeg \ + -i "$1" \ + -c:v libx264 \ + -b:v "$target_video_bitrate_kbit_s"k \ + -pass 2 \ + -c:a aac \ + -b:a "$target_audio_bitrate_kbit_s"k \ + "$3" diff --git a/overlays/customscripts/src/fan b/overlays/customscripts/src/fan new file mode 100644 index 0000000..5417158 --- /dev/null +++ b/overlays/customscripts/src/fan @@ -0,0 +1,13 @@ +#!/usr/bin/env bash +#Script to control fans via nbfc in /opt/nbfc +if [[ $1 = "a" ]]; then + mono /opt/nbfc/nbfc.exe set -f 0 -a +else + mono /opt/nbfc/nbfc.exe set -f 0 -s $1 +fi + +if [[ $2 = "a" ]]; then + mono /opt/nbfc/nbfc.exe set -f 1 -a +else + mono /opt/nbfc/nbfc.exe set -f 1 -s $2 +fi diff --git a/overlays/customscripts/src/killmpd b/overlays/customscripts/src/killmpd new file mode 100644 index 0000000..ca4ee98 --- /dev/null +++ b/overlays/customscripts/src/killmpd @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +killall mpd +killall mpd_discord_richpresence +killall mpdas diff --git a/overlays/customscripts/src/listalbum b/overlays/customscripts/src/listalbum new file mode 100644 index 0000000..5a72e9d --- /dev/null +++ b/overlays/customscripts/src/listalbum @@ -0,0 +1,3 @@ +#!/usr/bin/env bash +for x in *$1;do echo $(ffprobe -loglevel error -show_entries format_tags=track -of default=noprint_wrappers=1:nokey=1 "$x") - $(ffprobe -loglevel error -show_entries format_tags=TITLE -of default=noprint_wrappers=1:nokey=1 "$x"); done + diff --git a/overlays/customscripts/src/mpdp b/overlays/customscripts/src/mpdp new file mode 100644 index 0000000..54a154a --- /dev/null +++ b/overlays/customscripts/src/mpdp @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +mpd +mpdas & +mpd_discord_richpresence & diff --git a/overlays/customscripts/src/x0 b/overlays/customscripts/src/x0 new file mode 100644 index 0000000..e553024 --- /dev/null +++ b/overlays/customscripts/src/x0 @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +for x in $@; do + curl -F "file=@\"$x\"" https://x0.at/ + echo " " +done diff --git a/overlays/customscripts/src/ytmp3 b/overlays/customscripts/src/ytmp3 new file mode 100644 index 0000000..009f2fb --- /dev/null +++ b/overlays/customscripts/src/ytmp3 @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +youtube-dl -f bestaudio -o "ytmp3.%(title)s.%(ext)s" "$1" +file=$(echo ytmp3.*.*) +newfile=$(echo $file | cut -c 7-) +mv "$file" "$newfile" +ffmpeg -i "$newfile" -c:a mp3 "${newfile%.*}.mp3" +rm "$newfile" diff --git a/overlays/overridesandshit.nix b/overlays/overridesandshit.nix index 4cd74cb..43ffe1b 100644 --- a/overlays/overridesandshit.nix +++ b/overlays/overridesandshit.nix @@ -14,8 +14,8 @@ final: prev: { src = prev.fetchFromGitHub { owner = "natto1784"; repo = "dwm"; - rev = "cd69bb00b0ecd941cdb5d048df029f3b762eea8c"; - sha256 = "sha256-dZyF7GnVJZzzAy8DO2pqCoIj7t1vZLdfhHm1cJKXah0="; + rev = "a3896f13d20218ce07a7b646459cd5ce6ed2f27d"; + sha256 = "sha256-iyUFeZwqZ6veMs+3lBcpBLENN4r27QlkARfAL3OJvks="; }; }); @@ -25,7 +25,7 @@ final: prev: { repo = "st"; rev = "0cd1e394e6d07c5f605ae23070c40de9690bafb1"; sha256 = "sha256-EY5Amz16Drc4i0uEAYTPEHcGex0s3pzHDqfDp4Z5OGY="; - }; + }; }); kbd = prev.kbd.overrideAttrs (oldAttrs: rec{ diff --git a/secrets.yaml b/secrets.yaml new file mode 100644 index 0000000..40f21bc --- /dev/null +++ b/secrets.yaml @@ -0,0 +1,32 @@ +example_key: ENC[AES256_GCM,data:1FONzVdIfjcmHYE2wg==,iv:v5Vf/m230AytwDuT2U/iO1nwkdQ6zj4/3tj4UO0mt94=,tag:4Ph1p/10wdAvbcnLc9G2fg==,type:str] +sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] + age: [] + lastmodified: "2021-05-04T00:06:47Z" + mac: ENC[AES256_GCM,data:S32eOd33KuPOM4oqpo8zp33G2S1vNlkXJspxPjh6kYMCvTh6Cy4xpwwzwSambYnrq1SIugh5AS29AwADvxgevZV1PJjrdgcrsTLxREfUWYX9eyNs/fAtTLr0/+8Pc5IOcBp/djEYU/HNaYQRhp2GzZIBrIhkup6Lm4tw1RK7oOs=,iv:zG4iIzyXPO5Z9VIARX3c/Jhb5AqG3MP57EiMBYN7aCQ=,tag:kp3MJctxlZpFeYrfphrOWQ==,type:str] + pgp: + - created_at: "2021-05-04T00:06:40Z" + enc: | + -----BEGIN PGP MESSAGE----- + + hQIMA+X3NrYq0li6AQ/7BNMXqv7xQfdo8sprrLDOX+ugFzjEaxwg+x9ogmMPZpo5 + V5BOBu1t4v2N8jookuqzezowGJ7AD+fPnkbgzKUqnQf155v4LyIeq+oa0kEZCM5l + PTZsIRAvwl2j6boK9AfS30PMG9BEvE5qEkNH1xk2O3j6JABuM7mKa+Y+imE1hMXr + 5kF0z/Lqi4QeRD/4VzAEQJgkw9Mu4pfKkw+TVAPvuZbBoOA4FpfCwm/ZySUPua63 + fjLRjrh+lwbwAgkhjWaKeTTxXXqcZCjE56NyMMcjm7uzinn+UjRPz+K9fZymQcQW + 856UCJsF481c+avhhZ74y8zonWUEzw+2lSArtn2n1nOdgWAHY9FtLODfMhqy/T2h + dvTOB8REPSeSw0bqj6DKsO+udAHG9NTpx+UuWI+mMkszSRaGxBk0Chl0OlbtLem5 + ZBCkzor2Wa7eEmKiWCsF7zl18scwbwp4zxjiwrB9bUxw0Wf5hMTw1etBUnLh8Vb5 + Z6FwDpNu0R3yLbj7GCx0BCGmRtfe+8nnciCIyWXdLufv8Qlxf8v6z2GwpehjTUrG + Temu/j0w8Eisgzs4sHJKHlUGtmp/qxCbU/apGBLvIf7d4BlkN7FXMlYdO2jhvUUo + dfAg4oWFunfKlAnkhYVimDy8q0HudDPMjtiDvBMkS8hhHAxkXAidwLdVm2vxzQTS + XgH9hHaopVZBJwfJrDyquXO7P2m7C94qapmNUagzRhhU6U8RagoOiIjwVd84M5Fw + g/N3LE1wwCjpi9LE7m/pcXyYeuM9uVSVTFhC7toLSYkNbiUQd333VCk2dr3QSmA= + =8Tzt + -----END PGP MESSAGE----- + fp: 53EC089EF230E47A83BA8F8195949BD4B853F559 + unencrypted_suffix: _unencrypted + version: 3.7.1