update readme + sh/capture
This commit is contained in:
parent
5d75c42dbe
commit
13d35c76b2
56
LICENSE
56
LICENSE
|
@ -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>.
|
|
||||||
|
|
43
README.md
43
README.md
|
@ -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.
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
18
flake.nix
18
flake.nix
|
@ -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 {
|
||||||
|
|
Loading…
Reference in New Issue