xbc5 / sys-config Goto Github PK
View Code? Open in Web Editor NEWSystem level configuration files.
License: MIT License
System level configuration files.
License: MIT License
The Qubes metalink is different, and the Regex will fail to apply &protocol=https
due to it not already having existing GET parameters.
Implemented in 898f791. Closing.
There is a ZSH plugin that does Docker completions. Perhaps add Docker as a dependency there.
Also not that you will need to set user-dirs
in the domU (so that Docker data isn't deleted on a reboot).
Additionally, possibly move the required kernel parameter into the Docker state (if it's not too much hassle).
Install:
pip --user
pip --user
export NVIM_LISTEN_ADDRESS=127.0.0.1:XXXX
so that Ranger can use RPC.
You must install both ranger
and pynvim
locally. For some reason if you install the into different site-packages paths it doesn't work -- ranger cannot find pynvim.
TODO
You must clone this on every AppVM, since it lives under .local.
Consider pinning dep versions via packer, and sharing it globally somehow. It's probably not a big deal.
Install pyenv, set the PATH
(include local user libs).
If the nvim dev state is active, then instead of creating two repositories, link the local nvim config to the development repo. It's too much work to push/pull for every feature.
Lock down permissions in all VMs.
rifle
;Move towards using qubesctl --targes foo
, where the top file looks like:
user:
dom0:
- ...
qubes:type:template:
- ...
qubes:type:appvm:
- ...
Such that you can apply a set of states to any VM, just by providing its name (i.e. not hard-coding te targets).
Right now, for example, the current system requires a state file for every domain that you wish to apply a service to -- e.g. vms/dev/docker.sls
.
Pull configs, store them in a Salt store. Also, make configs fuzzy selectable via a floating pop-up terminal that does FZF searching, set the symlink and restart the service.
Make it faster, and manage its config with Salt.
See if it's possible to use a dedicated mgmt VM (with a restricted RPC policy) to load IP blocks, and other IPs (from DNS queries) into the firewall.
Instead of settings like firewall or template name etc, don't. Rely on defaults instead. Create a state that manages qubes-prefs
(defaults).
Things like EDITOR=vim
instead of nvim; QUBES_VAULT_VM
has not place in dom0.
Set the config to /etc/xdg/kitty/
. Install kittens.
See if you can instead install it entirely in a DispVM. If not, at least turn off any services.
Also find which scripts, zsh plugins require it and make it a dependency for that state (i.e. A used ZSH plugin uses JQ).
The minimal VMs need qubes-mgmt-salt-vm-connector
. You cannot run salt against VMs without it. You will need to find a way to download and install the minimal template outside of Salt, and install this package.
Not all VMs will use Zinit (e.g. vault) and yet will execute the init script.
Move it to the user's zshrc, and use a Salt to manage it.
Also move starship init and path deduping into zshrc: starship needs to be inited after path is readd; deduping only makes sense after the entire config has loaded (including Zinit, which is the worst offender).
When using file.accumulated
or managed
, multi-line strings do not respect indentation of the surrounding context. The only thin that works is a template, and appending pillar values into that template, because the template provides the formatting. However, for some cases, where adding features to a file via file.accumulated
, this isn't possible, and you're stuck with broken indentation.
Example
foo-id:
file.managed:
- name: /foo.sh
- marker_start: "# START FOO"
- marker_end: "# END FOO"
bar-id:
file.accumulated:
- filename: /foo.sh
- text |
foobar
baz
- require_in:
- file: foo-id
# /foo.sh
if [[ 1 == 1 ]]; then
# START FOO
foobar
baz
# END FOO
fi
I have tried {{ "foobar" | indent(2) }}
, and - text |2
. The former doesn't work (probably a master config issue -- where it strips all spaces), and the latter throws a traceback.
I have also tried {{+ "foobar" | indent(2) }}
: nothing.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.