move scripts to self-contained packages
This commit is contained in:
parent
a1ed6a69fa
commit
9286ff5044
35
bin/bingwp
35
bin/bingwp
@ -1,35 +0,0 @@
|
|||||||
#!/usr/bin/env nu
|
|
||||||
|
|
||||||
let today = (date now | format date '%Y-%m-%d')
|
|
||||||
let pic_dir = (xdg-user-dir PICTURES)
|
|
||||||
let bg_dir = $pic_dir | path join "bg"
|
|
||||||
let today_img_file = $bg_dir | path join ( [ $today, ".png" ] | str join )
|
|
||||||
let is_new = ((date now | format date "%H" | into int) >= 10)
|
|
||||||
mkdir $bg_dir
|
|
||||||
|
|
||||||
def exists [file: path] {
|
|
||||||
return ($file | path exists)
|
|
||||||
}
|
|
||||||
|
|
||||||
def is_empty [file: path] {
|
|
||||||
return ((exists $file) and ((ls $file | get size | first | into int) == 0))
|
|
||||||
}
|
|
||||||
|
|
||||||
def fetch [] {
|
|
||||||
http get ("https://bing.com" + ((http get https://www.bing.com/HPImageArchive.aspx?format=js&n=1).images.0.url)) | save $today_img_file
|
|
||||||
}
|
|
||||||
|
|
||||||
def cleanup [] {
|
|
||||||
if (is_empty $today_img_file) {
|
|
||||||
rm -rf $today_img_file
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
cleanup
|
|
||||||
|
|
||||||
if $is_new and (not (exists $today_img_file)) {
|
|
||||||
fetch
|
|
||||||
/run/current-system/sw/bin/ln -sf $today_img_file ( $pic_dir | path join "bg.png" )
|
|
||||||
}
|
|
||||||
|
|
||||||
cleanup
|
|
22
bin/ks
22
bin/ks
@ -1,22 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
doc_dir=$(xdg-user-dir DOCUMENTS)
|
|
||||||
ks_dir="$doc_dir/ks"
|
|
||||||
name="$1"
|
|
||||||
full_path="$ks_dir/$name.md.gpg"
|
|
||||||
tmpfile="/tmp/$name.md"
|
|
||||||
|
|
||||||
mkdir -p "$ks_dir"
|
|
||||||
cd "$ks_dir"
|
|
||||||
|
|
||||||
if [ -f "$full_path" ]; then
|
|
||||||
gpg --decrypt -o "$tmpfile" "$full_path"
|
|
||||||
else
|
|
||||||
touch "$tmpfile"
|
|
||||||
fi
|
|
||||||
|
|
||||||
$EDITOR "$tmpfile"
|
|
||||||
|
|
||||||
gpg --encrypt -r ivan@idimitrov.dev -o "$full_path" "$tmpfile"
|
|
||||||
|
|
||||||
git add . && git commit -m "editing $name" && git push --set-upstream origin HEAD
|
|
@ -1,5 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
cd "$HOME"
|
|
||||||
|
|
||||||
rm -rf .visualvm .bin .npm .cache .cargo .librewolf .mupdf.history .ollama .psql_history .python_history .sbt .tldrc .zcompdump .viminfo .wireguard
|
|
@ -1,30 +0,0 @@
|
|||||||
#!/usr/bin/env nu
|
|
||||||
|
|
||||||
let tmp_img = "/tmp/screen.png" | path join
|
|
||||||
let ss_dir = ((xdg-user-dir PICTURES | str trim) | path join "ss")
|
|
||||||
let pic_dir = ($ss_dir | path join ((date now | format date) | str join ".png"))
|
|
||||||
|
|
||||||
mkdir $ss_dir
|
|
||||||
|
|
||||||
def copy_image [] {
|
|
||||||
open $pic_dir | wl-copy
|
|
||||||
}
|
|
||||||
|
|
||||||
def prepare_screen [] {
|
|
||||||
let grim_id = pueue add -i -p grim $tmp_img
|
|
||||||
let imv_id = pueue add -a $grim_id -p imv -f $tmp_img
|
|
||||||
grim -g $"(slurp -b '#FFFFFF00' -c '#FF0000FF')" $pic_dir
|
|
||||||
pueue kill $imv_id $grim_id
|
|
||||||
pueue wait
|
|
||||||
pueue remove $imv_id $grim_id
|
|
||||||
}
|
|
||||||
|
|
||||||
def "main area" [] {
|
|
||||||
prepare_screen
|
|
||||||
copy_image
|
|
||||||
}
|
|
||||||
|
|
||||||
def main [] {
|
|
||||||
grim $pic_dir
|
|
||||||
copy_image
|
|
||||||
}
|
|
@ -1,3 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
ssh -n vpsfree-root 'cat /var/log/nginx/access.log' | goaccess --datetime-format='%d/%b/%Y:%H:%M:%S %z' --log-format='COMBINED'
|
|
27
default.nix
27
default.nix
@ -1,35 +1,16 @@
|
|||||||
top@{ inputs, ... }: {
|
top@{ inputs, ... }: {
|
||||||
imports = [ ./nixos ./home ];
|
imports = [ ./nixos ./home ./packages ];
|
||||||
systems = [ "x86_64-linux" ];
|
systems = [ "x86_64-linux" ];
|
||||||
flake.stateVersion = "24.05";
|
flake.stateVersion = "24.05";
|
||||||
perSystem = perSystem@{ config, system, pkgs, ... }: {
|
perSystem = perSystem@{ config, system, ... }: {
|
||||||
config.packages = {
|
|
||||||
nvim = inputs.ide.nvim.${system}.standalone.default {
|
|
||||||
autoCmd = [
|
|
||||||
{
|
|
||||||
callback.__raw = /*lua*/ ''
|
|
||||||
function() require("otter").activate() end
|
|
||||||
'';
|
|
||||||
event = [ "BufEnter" "BufWinEnter" "BufWritePost" ];
|
|
||||||
pattern = [ "*.nix" ];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
plugins.lsp.servers = {
|
|
||||||
bashls.enable = true;
|
|
||||||
pylsp.enable = true;
|
|
||||||
lua-ls.enable = true;
|
|
||||||
};
|
|
||||||
extraPlugins = with pkgs.vimPlugins; [ otter-nvim ];
|
|
||||||
};
|
|
||||||
scripts = (pkgs.buildEnv { name = "scripts"; paths = [ ./. ]; });
|
|
||||||
};
|
|
||||||
config._module.args = {
|
config._module.args = {
|
||||||
pkgs = import inputs.nixpkgs {
|
pkgs = import inputs.nixpkgs {
|
||||||
inherit system;
|
inherit system;
|
||||||
overlays = [
|
overlays = [
|
||||||
(final: prev: {
|
(final: prev: {
|
||||||
nvim = config.packages.nvim;
|
nvim = config.packages.nvim;
|
||||||
scripts = config.packages.scripts;
|
bingwp = config.packages.bingwp;
|
||||||
|
screenshot = config.packages.screenshot;
|
||||||
})
|
})
|
||||||
inputs.sal.overlays.default
|
inputs.sal.overlays.default
|
||||||
];
|
];
|
||||||
|
@ -253,8 +253,8 @@ toplevel@{ moduleWithSystem, ... }: {
|
|||||||
"XF86MonBrightnessDown" = "exec doas ${pkgs.light}/bin/light -U 10";
|
"XF86MonBrightnessDown" = "exec doas ${pkgs.light}/bin/light -U 10";
|
||||||
# Programs
|
# Programs
|
||||||
"${modifier}+p" = "exec ${menu}";
|
"${modifier}+p" = "exec ${menu}";
|
||||||
"${modifier}+Shift+a" = "exec screenshot area";
|
"${modifier}+Shift+a" = "exec ${pkgs.screenshot}/bin/screenshot area";
|
||||||
"${modifier}+Shift+s" = "exec screenshot";
|
"${modifier}+Shift+s" = "exec ${pkgs.screenshot}/bin/screenshot";
|
||||||
"${modifier}+c" = "exec ${pkgs.sal}/bin/sal";
|
"${modifier}+c" = "exec ${pkgs.sal}/bin/sal";
|
||||||
"End" = "exec rofi -show calc";
|
"End" = "exec rofi -show calc";
|
||||||
# sway commands
|
# sway commands
|
||||||
@ -553,7 +553,7 @@ toplevel@{ moduleWithSystem, ... }: {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
bingwp = {
|
bingwp = {
|
||||||
Service = { Type = "oneshot"; Environment = [ "PATH=${pkgs.xdg-user-dirs}/bin:${pkgs.nushell}/bin" ]; ExecStart = [ "${pkgs.scripts}/bin/bingwp" ]; };
|
Service = { Type = "oneshot"; Environment = [ "PATH=${pkgs.xdg-user-dirs}/bin:${pkgs.nushell}/bin" ]; ExecStart = [ "${pkgs.bingwp}/bin/bingwp" ]; };
|
||||||
};
|
};
|
||||||
rbingwp = {
|
rbingwp = {
|
||||||
Install = { WantedBy = [ "sway-session.target" ]; };
|
Install = { WantedBy = [ "sway-session.target" ]; };
|
||||||
|
88
packages/default.nix
Normal file
88
packages/default.nix
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
top@{ inputs, ... }: {
|
||||||
|
perSystem = perSystem@{ system, pkgs, ... }: {
|
||||||
|
config.packages = {
|
||||||
|
nvim = inputs.ide.nvim.${system}.standalone.default {
|
||||||
|
autoCmd = [
|
||||||
|
{
|
||||||
|
callback.__raw = /*lua*/ ''
|
||||||
|
function() require("otter").activate() end
|
||||||
|
'';
|
||||||
|
event = [ "BufEnter" "BufWinEnter" "BufWritePost" ];
|
||||||
|
pattern = [ "*.nix" ];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
plugins.lsp.servers = {
|
||||||
|
bashls.enable = true;
|
||||||
|
pylsp.enable = true;
|
||||||
|
lua-ls.enable = true;
|
||||||
|
};
|
||||||
|
extraPlugins = with pkgs.vimPlugins; [ otter-nvim ];
|
||||||
|
};
|
||||||
|
bingwp = pkgs.writers.writeNuBin "bingwp" ''
|
||||||
|
let today = (date now | format date '%Y-%m-%d')
|
||||||
|
let pic_dir = (xdg-user-dir PICTURES)
|
||||||
|
let bg_dir = $pic_dir | path join "bg"
|
||||||
|
let today_img_file = $bg_dir | path join ( [ $today, ".png" ] | str join )
|
||||||
|
let is_new = ((date now | format date "%H" | into int) >= 10)
|
||||||
|
mkdir $bg_dir
|
||||||
|
|
||||||
|
def exists [file: path] {
|
||||||
|
return ($file | path exists)
|
||||||
|
}
|
||||||
|
|
||||||
|
def is_empty [file: path] {
|
||||||
|
return ((exists $file) and ((ls $file | get size | first | into int) == 0))
|
||||||
|
}
|
||||||
|
|
||||||
|
def fetch [] {
|
||||||
|
http get ("https://bing.com" + ((http get https://www.bing.com/HPImageArchive.aspx?format=js&n=1).images.0.url)) | save $today_img_file
|
||||||
|
}
|
||||||
|
|
||||||
|
def cleanup [] {
|
||||||
|
if (is_empty $today_img_file) {
|
||||||
|
rm -rf $today_img_file
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
cleanup
|
||||||
|
|
||||||
|
if $is_new and (not (exists $today_img_file)) {
|
||||||
|
fetch
|
||||||
|
/run/current-system/sw/bin/ln -sf $today_img_file ( $pic_dir | path join "bg.png" )
|
||||||
|
}
|
||||||
|
|
||||||
|
cleanup
|
||||||
|
'';
|
||||||
|
screenshot = pkgs.writers.writeNuBin "screenshot" ''
|
||||||
|
let tmp_img = "/tmp/screen.png" | path join
|
||||||
|
let ss_dir = ((xdg-user-dir PICTURES | str trim) | path join "ss")
|
||||||
|
let pic_dir = ($ss_dir | path join ((date now | format date) | str join ".png"))
|
||||||
|
|
||||||
|
mkdir $ss_dir
|
||||||
|
|
||||||
|
def copy_image [] {
|
||||||
|
open $pic_dir | wl-copy
|
||||||
|
}
|
||||||
|
|
||||||
|
def prepare_screen [] {
|
||||||
|
let grim_id = pueue add -i -p grim $tmp_img
|
||||||
|
let imv_id = pueue add -a $grim_id -p imv -f $tmp_img
|
||||||
|
grim -g $"(slurp -b '#FFFFFF00' -c '#FF0000FF')" $pic_dir
|
||||||
|
pueue kill $imv_id $grim_id
|
||||||
|
pueue wait
|
||||||
|
pueue remove $imv_id $grim_id
|
||||||
|
}
|
||||||
|
|
||||||
|
def "main area" [] {
|
||||||
|
prepare_screen
|
||||||
|
copy_image
|
||||||
|
}
|
||||||
|
|
||||||
|
def main [] {
|
||||||
|
grim $pic_dir
|
||||||
|
copy_image
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user