diff --git a/bin/bingwp b/bin/bingwp deleted file mode 100755 index 666ba8b..0000000 --- a/bin/bingwp +++ /dev/null @@ -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 diff --git a/bin/i2p b/bin/i2p deleted file mode 100755 index 2c627f8..0000000 --- a/bin/i2p +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -chromium --proxy-server=127.0.0.1:4444 diff --git a/bin/ks b/bin/ks deleted file mode 100755 index 665782c..0000000 --- a/bin/ks +++ /dev/null @@ -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 diff --git a/bin/purge-home b/bin/purge-home deleted file mode 100755 index 87f25f9..0000000 --- a/bin/purge-home +++ /dev/null @@ -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 diff --git a/bin/screenshot b/bin/screenshot deleted file mode 100755 index 37510b0..0000000 --- a/bin/screenshot +++ /dev/null @@ -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 -} diff --git a/bin/srvsts b/bin/srvsts deleted file mode 100755 index 8050549..0000000 --- a/bin/srvsts +++ /dev/null @@ -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' diff --git a/default.nix b/default.nix index d1c2335..39e7cab 100644 --- a/default.nix +++ b/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 ]; diff --git a/home/modules/default.nix b/home/modules/default.nix index 62ee831..342cd3d 100644 --- a/home/modules/default.nix +++ b/home/modules/default.nix @@ -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" ]; }; diff --git a/packages/default.nix b/packages/default.nix new file mode 100644 index 0000000..e30aea9 --- /dev/null +++ b/packages/default.nix @@ -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 + } + ''; + }; + }; +}