move scripts to self-contained packages

This commit is contained in:
Ivan Kirilov Dimitrov 2024-07-05 22:27:12 +02:00
parent a1ed6a69fa
commit 9286ff5044
No known key found for this signature in database
GPG Key ID: 0BDAD4B211C49294
9 changed files with 95 additions and 124 deletions

View File

@ -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

View File

@ -1,3 +0,0 @@
#!/usr/bin/env bash
chromium --proxy-server=127.0.0.1:4444

22
bin/ks
View File

@ -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

View File

@ -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

View File

@ -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
}

View File

@ -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'

View File

@ -1,35 +1,16 @@
top@{ inputs, ... }: {
imports = [ ./nixos ./home ];
imports = [ ./nixos ./home ./packages ];
systems = [ "x86_64-linux" ];
flake.stateVersion = "24.05";
perSystem = perSystem@{ config, 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 ];
};
scripts = (pkgs.buildEnv { name = "scripts"; paths = [ ./. ]; });
};
perSystem = perSystem@{ config, system, ... }: {
config._module.args = {
pkgs = import inputs.nixpkgs {
inherit system;
overlays = [
(final: prev: {
nvim = config.packages.nvim;
scripts = config.packages.scripts;
bingwp = config.packages.bingwp;
screenshot = config.packages.screenshot;
})
inputs.sal.overlays.default
];

View File

@ -253,8 +253,8 @@ toplevel@{ moduleWithSystem, ... }: {
"XF86MonBrightnessDown" = "exec doas ${pkgs.light}/bin/light -U 10";
# Programs
"${modifier}+p" = "exec ${menu}";
"${modifier}+Shift+a" = "exec screenshot area";
"${modifier}+Shift+s" = "exec screenshot";
"${modifier}+Shift+a" = "exec ${pkgs.screenshot}/bin/screenshot area";
"${modifier}+Shift+s" = "exec ${pkgs.screenshot}/bin/screenshot";
"${modifier}+c" = "exec ${pkgs.sal}/bin/sal";
"End" = "exec rofi -show calc";
# sway commands
@ -553,7 +553,7 @@ toplevel@{ moduleWithSystem, ... }: {
};
};
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 = {
Install = { WantedBy = [ "sway-session.target" ]; };

88
packages/default.nix Normal file
View 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
}
'';
};
};
}