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, ... }: {
|
||||
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
|
||||
];
|
||||
|
@ -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
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