added secrets
This commit is contained in:
@@ -1,7 +1,8 @@
|
|||||||
{ config, lib, ... }:
|
{ config, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
powerManagement = {
|
powerManagement = {
|
||||||
cpuFreqGovernor = lib.mkDefault "powersave";
|
enable = true;
|
||||||
|
cpuFreqGovernor = "ondemand";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
systemd.services.nbfc = {
|
systemd.services.nbfc = {
|
||||||
wantedBy = [ "multi-user.target" ];
|
|
||||||
description = "Notebook Fancontrol";
|
description = "Notebook Fancontrol";
|
||||||
|
wantedBy = lib.mkForce [];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "forking";
|
Type = "forking";
|
||||||
Restart = "on-failure";
|
Restart = "on-failure";
|
||||||
@@ -15,12 +15,24 @@
|
|||||||
services = {
|
services = {
|
||||||
tor.enable = true;
|
tor.enable = true;
|
||||||
logmein-hamachi.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;
|
|
||||||
# };
|
|
||||||
}
|
}
|
||||||
|
@@ -23,7 +23,7 @@
|
|||||||
};
|
};
|
||||||
grub = {
|
grub = {
|
||||||
enable = true;
|
enable = true;
|
||||||
useOSProber = true;
|
# useOSProber = true;
|
||||||
efiSupport = true;
|
efiSupport = true;
|
||||||
device = "nodev";
|
device = "nodev";
|
||||||
splashImage = "/etc/cirno.png"; #hehe
|
splashImage = "/etc/cirno.png"; #hehe
|
||||||
|
@@ -11,7 +11,7 @@
|
|||||||
fileSystems."/" =
|
fileSystems."/" =
|
||||||
{ device = "/dev/disk/by-uuid/4c02ddf5-d00e-4d84-856f-c327ae44d047";
|
{ device = "/dev/disk/by-uuid/4c02ddf5-d00e-4d84-856f-c327ae44d047";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
options = ["compress=zstd"];
|
options = ["compress=zstd:9"];
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot/efi" =
|
fileSystems."/boot/efi" =
|
||||||
|
@@ -5,7 +5,6 @@
|
|||||||
xclip
|
xclip
|
||||||
xorg.xkbcomp
|
xorg.xkbcomp
|
||||||
xorg.xmodmap
|
xorg.xmodmap
|
||||||
ffmpeg
|
|
||||||
p7zip
|
p7zip
|
||||||
git
|
git
|
||||||
glxinfo
|
glxinfo
|
||||||
@@ -32,11 +31,22 @@
|
|||||||
st
|
st
|
||||||
kbd
|
kbd
|
||||||
];
|
];
|
||||||
programs.steam.enable = true;
|
programs = {
|
||||||
|
steam.enable = true;
|
||||||
|
gnupg = {
|
||||||
|
agent = {
|
||||||
|
enableSSHSupport = true;
|
||||||
|
enable = true;
|
||||||
|
pinentryFlavor = "curses";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
fish.enable = true;
|
||||||
|
dconf.enable = true;
|
||||||
|
};
|
||||||
nix = {
|
nix = {
|
||||||
package = pkgs.nixUnstable;
|
package = pkgs.nixUnstable;
|
||||||
extraOptions = ''
|
extraOptions = ''
|
||||||
experimental-features = nix-command flakes
|
experimental-features = nix-command ca-references flakes
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
{lib, config, ... }:
|
{lib, config, agenix, ... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./Stuff/sound.nix
|
./Stuff/sound.nix
|
||||||
@@ -10,8 +10,8 @@
|
|||||||
time.timeZone = "Asia/Kolkata";
|
time.timeZone = "Asia/Kolkata";
|
||||||
environment = {
|
environment = {
|
||||||
sessionVariables = {
|
sessionVariables = {
|
||||||
QT_QPA_PLATFORMTHEME = "gtk3";
|
|
||||||
QT_X11_NO_MITSHM="1";
|
QT_X11_NO_MITSHM="1";
|
||||||
|
EDITOR = "nvim";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
security={
|
security={
|
||||||
@@ -32,11 +32,5 @@
|
|||||||
dates = "20:15";
|
dates = "20:15";
|
||||||
};
|
};
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
programs = {
|
|
||||||
fish.enable = true;
|
|
||||||
dconf.enable = true;
|
|
||||||
};
|
|
||||||
nixpkgs.config.allowBroken = true;
|
nixpkgs.config.allowBroken = true;
|
||||||
nix.extraOptions = ''experimental-features = nix-command flakes ca-references'';
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
32
acha.yaml
Normal file
32
acha.yaml
Normal file
@@ -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
|
67
flake.lock
generated
67
flake.lock
generated
@@ -1,5 +1,39 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"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": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -21,6 +55,20 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1599148892,
|
||||||
|
"narHash": "sha256-V76c6DlI0ZZffvbBpxGlpVSpXxZ14QpFHwAvEEujIsY=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "7ff50a7f7b9a701228f870813fe58f01950f870b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"id": "nixpkgs",
|
||||||
|
"type": "indirect"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1619464443,
|
"lastModified": 1619464443,
|
||||||
"narHash": "sha256-R7WAb8EnkIJxxaF6GTHUPytjonhB4Zm0iatyWoW169A=",
|
"narHash": "sha256-R7WAb8EnkIJxxaF6GTHUPytjonhB4Zm0iatyWoW169A=",
|
||||||
@@ -36,10 +84,27 @@
|
|||||||
"type": "github"
|
"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": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"agenix": "agenix",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs_2",
|
||||||
|
"nur": "nur",
|
||||||
"stable": "stable"
|
"stable": "stable"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
44
flake.nix
44
flake.nix
@@ -1,15 +1,24 @@
|
|||||||
{
|
{
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
stable.url = "github:nixos/nixpkgs/nixos-20.09";
|
stable.url = github:nixos/nixpkgs/nixos-20.09;
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = github:nixos/nixpkgs/nixos-unstable;
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager";
|
url = github:nix-community/home-manager;
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
nur = {
|
||||||
|
url = github:nix-community/NUR;
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
outputs = inputs@{self, nixpkgs, stable, home-manager,... }:
|
agenix.url = github:ryantm/agenix;
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = {self, nixpkgs, stable, home-manager, nur, agenix, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
|
ov = (builtins.attrValues self.overlays) ++ [ nur.overlay ];
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
overlays = {
|
overlays = {
|
||||||
@@ -20,35 +29,28 @@
|
|||||||
hm-configs = {
|
hm-configs = {
|
||||||
natto = home-manager.lib.homeManagerConfiguration {
|
natto = home-manager.lib.homeManagerConfiguration {
|
||||||
configuration = { pkgs, lib, ... }: {
|
configuration = { pkgs, lib, ... }: {
|
||||||
imports = [ ./home/natto.nix ];
|
imports = [
|
||||||
nixpkgs = {
|
./home/natto.nix
|
||||||
overlays = builtins.attrValues self.overlays;
|
];
|
||||||
};
|
nixpkgs.overlays = ov;
|
||||||
};
|
};
|
||||||
system = "${system}";
|
system = "${system}";
|
||||||
homeDirectory = "/home/natto";
|
homeDirectory = "/home/natto";
|
||||||
username = "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 {
|
nixosConfigurations.Satori = nixpkgs.lib.nixosSystem {
|
||||||
system = "${system}";
|
system = "${system}";
|
||||||
modules = [
|
modules = [
|
||||||
./Satori/configuration.nix
|
./Satori/configuration.nix
|
||||||
{ nixpkgs.overlays = builtins.attrValues self.overlays; }
|
agenix.nixosModules.age
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
|
{
|
||||||
|
nixpkgs.overlays = ov;
|
||||||
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@@ -12,7 +12,7 @@ if [ ${conf,,} == "n" ]; then
|
|||||||
echo "If this is not you, then log into your profile first!"
|
echo "If this is not you, then log into your profile first!"
|
||||||
exit 1
|
exit 1
|
||||||
else
|
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
|
./hm-result/activate
|
||||||
$elev unlink hm-result
|
$elev unlink hm-result
|
||||||
fi
|
fi
|
||||||
|
4
home/config/dwm/autostart.sh
Executable file
4
home/config/dwm/autostart.sh
Executable file
@@ -0,0 +1,4 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
picom --experimental-backends &
|
||||||
|
~/.dwm/bruhstatus.sh &
|
||||||
|
feh --bg-scale ~/Downloads/stallman.jpg
|
47
home/config/dwm/bruhstatus.sh
Executable file
47
home/config/dwm/bruhstatus.sh
Executable file
@@ -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
|
@@ -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";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
@@ -1,20 +1,41 @@
|
|||||||
{ config, pkgs, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
|
let
|
||||||
|
home = config.home.homeDirectory;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./modules/programs.nix
|
./stuff/programs.nix
|
||||||
./modules/xsession.nix
|
./stuff/xsession.nix
|
||||||
./modules/files.nix
|
./stuff/secret.nix
|
||||||
./modules/services.nix
|
./stuff/services.nix
|
||||||
./modules/gtk.nix
|
./stuff/gtk.nix
|
||||||
];
|
];
|
||||||
nixpkgs = {
|
nixpkgs = {
|
||||||
config = {
|
config = {
|
||||||
allowUnfree = true;
|
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 = {
|
home = {
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
|
ffmpeg
|
||||||
|
sox
|
||||||
|
rage
|
||||||
|
curl
|
||||||
|
pamixer
|
||||||
mpdas
|
mpdas
|
||||||
mpd
|
mpd
|
||||||
dunst
|
dunst
|
||||||
@@ -31,8 +52,30 @@
|
|||||||
tor-browser-bundle-bin
|
tor-browser-bundle-bin
|
||||||
mpc_cli
|
mpc_cli
|
||||||
flameshot
|
flameshot
|
||||||
|
hexchat
|
||||||
luajit
|
luajit
|
||||||
mpv
|
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";
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@@ -1,7 +0,0 @@
|
|||||||
{config, ...}:
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./modules/programs/nvim.nix
|
|
||||||
./modules/gtk.nix
|
|
||||||
];
|
|
||||||
}
|
|
BIN
home/secrets/fish_variables.age
Normal file
BIN
home/secrets/fish_variables.age
Normal file
Binary file not shown.
BIN
home/secrets/mpdasrc.age
Normal file
BIN
home/secrets/mpdasrc.age
Normal file
Binary file not shown.
93
home/stuff/secret.nix
Normal file
93
home/stuff/secret.nix
Normal file
@@ -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)));
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@@ -1,12 +1,14 @@
|
|||||||
{lib,stdenv,fetchFromGitHub}:
|
{lib, stdenv, fetchFromGitHub, rage, curl, sox, ffmpeg}:
|
||||||
stdenv.mkDerivation rec{
|
stdenv.mkDerivation rec{
|
||||||
name = "customscripts";
|
name = "customscripts";
|
||||||
src = fetchFromGitHub {
|
src = ./src;
|
||||||
|
/* src = fetchFromGitHub {
|
||||||
owner = "idcretard";
|
owner = "idcretard";
|
||||||
repo = "custom-scripts";
|
repo = "custom-scripts";
|
||||||
rev = "a996a52831316cc2c282904352654bd20c82f7bd";
|
rev = "a996a52831316cc2c282904352654bd20c82f7bd";
|
||||||
sha256 = "sha256-nw21YmcmQMF8NADnuHOc7eF2Yaj/r/1mYBn77fYK7s8=";
|
sha256 = "sha256-nw21YmcmQMF8NADnuHOc7eF2Yaj/r/1mYBn77fYK7s8=";
|
||||||
};
|
};*/
|
||||||
|
buildInputs = [ rage curl sox ffmpeg ];
|
||||||
unpackPhase = ":";
|
unpackPhase = ":";
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
|
12
overlays/customscripts/src/agecrypt
Normal file
12
overlays/customscripts/src/agecrypt
Normal file
@@ -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"
|
2
overlays/customscripts/src/batspec
Normal file
2
overlays/customscripts/src/batspec
Normal file
@@ -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
|
14
overlays/customscripts/src/batspecup
Normal file
14
overlays/customscripts/src/batspecup
Normal file
@@ -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
|
15
overlays/customscripts/src/battrans
Normal file
15
overlays/customscripts/src/battrans
Normal file
@@ -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
|
9
overlays/customscripts/src/compmusic
Normal file
9
overlays/customscripts/src/compmusic
Normal file
@@ -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
|
32
overlays/customscripts/src/compress
Normal file
32
overlays/customscripts/src/compress
Normal file
@@ -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"
|
13
overlays/customscripts/src/fan
Normal file
13
overlays/customscripts/src/fan
Normal file
@@ -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
|
4
overlays/customscripts/src/killmpd
Normal file
4
overlays/customscripts/src/killmpd
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
killall mpd
|
||||||
|
killall mpd_discord_richpresence
|
||||||
|
killall mpdas
|
3
overlays/customscripts/src/listalbum
Normal file
3
overlays/customscripts/src/listalbum
Normal file
@@ -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
|
||||||
|
|
4
overlays/customscripts/src/mpdp
Normal file
4
overlays/customscripts/src/mpdp
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
mpd
|
||||||
|
mpdas &
|
||||||
|
mpd_discord_richpresence &
|
5
overlays/customscripts/src/x0
Normal file
5
overlays/customscripts/src/x0
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
for x in $@; do
|
||||||
|
curl -F "file=@\"$x\"" https://x0.at/
|
||||||
|
echo " "
|
||||||
|
done
|
7
overlays/customscripts/src/ytmp3
Normal file
7
overlays/customscripts/src/ytmp3
Normal file
@@ -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"
|
@@ -14,8 +14,8 @@ final: prev: {
|
|||||||
src = prev.fetchFromGitHub {
|
src = prev.fetchFromGitHub {
|
||||||
owner = "natto1784";
|
owner = "natto1784";
|
||||||
repo = "dwm";
|
repo = "dwm";
|
||||||
rev = "cd69bb00b0ecd941cdb5d048df029f3b762eea8c";
|
rev = "a3896f13d20218ce07a7b646459cd5ce6ed2f27d";
|
||||||
sha256 = "sha256-dZyF7GnVJZzzAy8DO2pqCoIj7t1vZLdfhHm1cJKXah0=";
|
sha256 = "sha256-iyUFeZwqZ6veMs+3lBcpBLENN4r27QlkARfAL3OJvks=";
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
|
32
secrets.yaml
Normal file
32
secrets.yaml
Normal file
@@ -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
|
Reference in New Issue
Block a user