update readme + sh/capture

This commit is contained in:
randomuser 2024-01-18 05:07:53 -06:00
parent 5d75c42dbe
commit 13d35c76b2
7 changed files with 44 additions and 88 deletions

56
LICENSE
View File

@ -617,59 +617,3 @@ reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee. copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attac 100 35149 100 35149 0 0 145k 0 --:--:-- --:--:-- --:--:-- 145k
h the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<https://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<https://www.gnu.org/licenses/why-not-lgpl.html>.

View File

@ -1,26 +1,35 @@
randomuser's dotfiles randomuser's dotfiles
===================== =====================
here's some dotfiles! ![an image of the desktop while editing this repo's flake.nix](./demo.png)
some features features
--------
- ``bspwm`` + ``sxhkd`` - `bspwm` + `sxhkd` + `st` + `firefox`
- ``tmenu``: terminal based ``dmenu`` replacement - most everything on the desktop save for the browser, media viewers, and desktop background, is a terminal
- uses ``pash``, the password manager - on the server, runs gitea + simple-nixos-mailserver
- no flakes (can't figure it out, lol) - built with NixOS flakes
some future things to work on are installation
------------
- remove ``polybar`` with a simpler, homegrown solution `sudo nixos-rebuild --flake .#your-flake-name-here switch`
- integrate a dynamic color switching mechanism
- make these more appealing, in general
- without compromising speed and system load
- compatibility with 'traditional' unix systems
license. if you're trying to install `virtbox`, then use the `--impure` flag:
- boring legal stuff for most items in this configuration are in the LICENSE file. `sudo nixos-rebuild --flake .#virtbox switch --impure`
- under the GPLv3
- everything under ``config/*``, ``builds/*``, and ``modules/*``, in addition to all files that are ``*.nix``. for alternate installations on non-NixOS hosts, a Makefile will be made available
- NOT in ``wallpapers/*``, those are unlicensed and their legal status is unknown
things to do
------------
- integrate `disko` and `sops-nix` into the setup
- switch from gitea to cgit
- establish backup infrastructure for `netbox`
license
-------
all materials, except `./home/wallpapers/pape.jpg`, is licensed under the GPLv3. the licensing status of `pape.jpg` is unknown.

View File

@ -9,6 +9,7 @@
, bash , bash
, feh , feh
, jq , jq
, ffmpeg
, fzy , fzy
, figlet , figlet
, curl , curl
@ -23,7 +24,7 @@ stdenv.mkDerivation rec {
src = ./utils; src = ./utils;
nativeBuildInputs = [ makeWrapper pkg-config libxcb ]; nativeBuildInputs = [ makeWrapper pkg-config libxcb ];
buildInputs = [ libxcb bash feh xrandr jq curl fzy ytfzf ]; buildInputs = [ libxcb bash feh xrandr jq curl fzy ytfzf ffmpeg ];
buildPhase = '' buildPhase = ''
ls ls
@ -36,7 +37,7 @@ stdenv.mkDerivation rec {
for i in $(ls $src/sh); do for i in $(ls $src/sh); do
cp $src/sh/$i $out/bin cp $src/sh/$i $out/bin
ln -sf $out/bin/tmenu_run $out/bin/regenerate ln -sf $out/bin/tmenu_run $out/bin/regenerate
wrapProgram $out/bin/$i --prefix PATH : ${lib.makeBinPath [ sxhkd bash feh xrandr jq figlet curl fzy ytfzf ]} wrapProgram $out/bin/$i --prefix PATH : ${lib.makeBinPath [ sxhkd bash feh xrandr jq figlet curl fzy ytfzf ffmpeg ]}
done done
cp c/status/main $out/bin/statusbar cp c/status/main $out/bin/statusbar

View File

@ -1,7 +1,7 @@
#!/bin/sh #!/bin/sh
# get screen info and temporary file # get screen info and temporary file
tmp=$(mktemp) tmp=$(mktemp -d)
res=$(xrandr | res=$(xrandr |
grep ' connected' | grep ' connected' |
awk -F' ' '{print $1 " " $4}' | awk -F' ' '{print $1 " " $4}' |
@ -11,7 +11,7 @@ res=$(xrandr |
# still or motion # still or motion
medium=$(printf ".mp4\n.png\n" | fzy) medium=$(printf ".mp4\n.png\n" | fzy)
output="$tmp$medium" output="$tmp/main$medium"
# capture # capture
case "$medium" in case "$medium" in

BIN
demo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 666 KiB

View File

@ -209,12 +209,12 @@
}, },
"locked": { "locked": {
"lastModified": 1, "lastModified": 1,
"narHash": "sha256-qcQP65622JfSlKPDPCuTCMbzCWOvKBOA3OOO426ce8I=", "narHash": "sha256-wGl3ZnqjhpAEpTkzgjWxgsbmGX9c7TPCM4I0okuOYFE=",
"path": "/nix/store/sjdqmgspwa9pkfkric4bb97vhzzib4sz-source/builds", "path": "/nix/store/z62lv62z8yn2vfgxk06aqdr7i6wmk2v0-source/builds",
"type": "path" "type": "path"
}, },
"original": { "original": {
"path": "/nix/store/sjdqmgspwa9pkfkric4bb97vhzzib4sz-source/builds", "path": "/nix/store/z62lv62z8yn2vfgxk06aqdr7i6wmk2v0-source/builds",
"type": "path" "type": "path"
} }
}, },

View File

@ -15,7 +15,9 @@
url = "./builds"; url = "./builds";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
simple-nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-23.11"; simple-nixos-mailserver = {
url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-23.11";
};
}; };
outputs = { self, nixpkgs, home-manager, firefox-addons, simple-nixos-mailserver, utilpkg, ... }@inputs: { outputs = { self, nixpkgs, home-manager, firefox-addons, simple-nixos-mailserver, utilpkg, ... }@inputs: {
@ -25,10 +27,10 @@
specialArgs = { inherit inputs; }; specialArgs = { inherit inputs; };
modules = [ modules = [
./boxes/netbox ./boxes/netbox
simple-nixos-mailserver.nixosModule simple-nixos-mailserver.nixosModule
{ {
mailserver = { mailserver = {
enable = true; enable = true;
fqdn = "mail.beepboop.systems"; fqdn = "mail.beepboop.systems";
domains = [ "beepboop.systems" ]; domains = [ "beepboop.systems" ];
loginAccounts = { loginAccounts = {
@ -41,10 +43,10 @@
"postmaster@beepboop.systems" "postmaster@beepboop.systems"
]; ];
}; };
}; };
certificateScheme = "acme-nginx"; certificateScheme = "acme-nginx";
}; };
} }
]; ];
}; };
virtbox = nixpkgs.lib.nixosSystem { virtbox = nixpkgs.lib.nixosSystem {