clean up nix expressions
This commit is contained in:
parent
421f2d6407
commit
18b78f55c0
@ -1,4 +1,3 @@
|
|||||||
{ machines, ... }:
|
|
||||||
{
|
{
|
||||||
age = {
|
age = {
|
||||||
secrets = {
|
secrets = {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
{ pkgs, lib, machines, ... }:
|
{ pkgs, lib, machines, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../config/aristotle.nix
|
../../config/aristotle.nix
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
{ config, lib, pkgs, modulesPath, ... }:
|
{ config, lib, modulesPath, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ config, pkgs, lib, ... }:
|
{ lib, ... }:
|
||||||
{
|
{
|
||||||
services.paperless = {
|
services.paperless = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
{ pkgs, lib, machines, ...}:
|
{ pkgs, lib, machines, ...}:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
@ -35,7 +34,6 @@
|
|||||||
|
|
||||||
dmenu
|
dmenu
|
||||||
|
|
||||||
(pkgs.callPackage ../../builds/archutils.nix {})
|
|
||||||
(pkgs.callPackage ../../builds/sssg.nix {})
|
(pkgs.callPackage ../../builds/sssg.nix {})
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -1,8 +1,4 @@
|
|||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
{ config, lib, modulesPath, ... }:
|
||||||
# and may be overwritten by future invocations. Please make changes
|
|
||||||
# to /etc/nixos/configuration.nix instead.
|
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
{
|
{
|
||||||
# Make sure opengl is enabled
|
# Make sure opengl is enabled
|
||||||
hardware.graphics = {
|
hardware.graphics = {
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
{ lib, config, pkgs, ...}:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./wireguard.nix
|
./wireguard.nix
|
||||||
|
@ -1,24 +0,0 @@
|
|||||||
{ lib, config, pkgs, ...}:
|
|
||||||
|
|
||||||
{
|
|
||||||
services.nextcloud = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.nextcloud30;
|
|
||||||
hostName = "nextcloud.beepboop.systems";
|
|
||||||
config.adminpassFile = "/etc/nextcloud-admin";
|
|
||||||
settings.overwriteprotocol = "https";
|
|
||||||
extraApps = {
|
|
||||||
phonetrack = pkgs.fetchNextcloudApp {
|
|
||||||
sha256 = "sha256-V92f+FiS5vZEkq15A51pHoDpUOBfUOEVIcsXdP/rSMQ=";
|
|
||||||
license = "agpl3Only";
|
|
||||||
url = "https://github.com/julien-nc/phonetrack/releases/download/v0.8.1/phonetrack-0.8.1.tar.gz";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
extraAppsEnable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
services.nginx.virtualHosts."${config.services.nextcloud.hostName}".listen = [ {
|
|
||||||
addr = "10.100.0.2";
|
|
||||||
port = 5028;
|
|
||||||
} ];
|
|
||||||
}
|
|
@ -1,5 +1,4 @@
|
|||||||
{ config, machines, ... }:
|
{ config, machines, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
networking = {
|
networking = {
|
||||||
firewall.allowedUDPPorts = [ 50000 ];
|
firewall.allowedUDPPorts = [ 50000 ];
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
{ pkgs, lib, machines, ... }:
|
{ pkgs, lib, machines, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ lib, config, pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
virtualisation.docker.enable = true;
|
virtualisation.docker.enable = true;
|
||||||
|
|
||||||
|
@ -1,8 +1,4 @@
|
|||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
{ lib, ... }:
|
||||||
# and may be overwritten by future invocations. Please make changes
|
|
||||||
# to /etc/nixos/configuration.nix instead.
|
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [ ];
|
imports = [ ];
|
||||||
|
|
||||||
@ -25,10 +21,6 @@
|
|||||||
[ { device = "/dev/disk/by-uuid/57fbd850-1ced-4e21-9e52-4f3b529c61b0"; }
|
[ { device = "/dev/disk/by-uuid/57fbd850-1ced-4e21-9e52-4f3b529c61b0"; }
|
||||||
];
|
];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
|
||||||
# still possible to use this option, but it's recommended to use it in conjunction
|
|
||||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
|
||||||
networking.useDHCP = lib.mkDefault true;
|
networking.useDHCP = lib.mkDefault true;
|
||||||
# networking.interfaces.ens3.useDHCP = lib.mkDefault true;
|
# networking.interfaces.ens3.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
{ lib, config, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
services.nginx.enable = true;
|
services.nginx.enable = true;
|
||||||
services.nginx.clientMaxBodySize = "100m";
|
services.nginx.clientMaxBodySize = "100m";
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ lib, config, pkgs, ... }:
|
{ config, ... }:
|
||||||
{
|
{
|
||||||
services.radicale = {
|
services.radicale = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
{ pkgs, machines, ... }:
|
{ pkgs, machines, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
services.openssh = {
|
services.openssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
{ lib, config, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
services.sslh = {
|
services.sslh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
{ lib, config, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
services.vaultwarden.enable = true;
|
services.vaultwarden.enable = true;
|
||||||
services.vaultwarden.config = {
|
services.vaultwarden.config = {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
{ config, machines, pkgs, ... }:
|
{ config, machines, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
networking = {
|
networking = {
|
||||||
nat = {
|
nat = {
|
||||||
|
@ -1,39 +0,0 @@
|
|||||||
{ stdenv
|
|
||||||
, lib
|
|
||||||
, pkgs
|
|
||||||
, makeWrapper
|
|
||||||
, sxhkd
|
|
||||||
, bash
|
|
||||||
, feh
|
|
||||||
, jq
|
|
||||||
, fzy
|
|
||||||
, curl
|
|
||||||
, texliveFull
|
|
||||||
}:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
pname = "archutils";
|
|
||||||
version = "1.01";
|
|
||||||
|
|
||||||
src = ./archutils;
|
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
|
||||||
buildInputs = [
|
|
||||||
bash
|
|
||||||
feh
|
|
||||||
jq
|
|
||||||
curl
|
|
||||||
fzy
|
|
||||||
texliveFull
|
|
||||||
];
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/bin
|
|
||||||
|
|
||||||
for i in $(ls $src/); do
|
|
||||||
cp $src/$i $out/bin
|
|
||||||
ln -sf $out/bin/tmenu_run $out/bin/regenerate
|
|
||||||
wrapProgram $out/bin/$i --prefix PATH : ${lib.makeBinPath [ bash feh jq curl fzy texliveFull ]}
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
}
|
|
@ -1,118 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
working_directory=$(date +%Y-%m-%d)
|
|
||||||
human_readable=$(date "+%d %b %Y")
|
|
||||||
|
|
||||||
cd ~/annex/briefs/
|
|
||||||
mkdir "$working_directory"
|
|
||||||
cd "$working_directory"
|
|
||||||
|
|
||||||
cat > main.tex <<EOF
|
|
||||||
\documentclass[oneside]{article}
|
|
||||||
|
|
||||||
\usepackage{amssymb}
|
|
||||||
\usepackage[left=1.5cm, right=1.5cm, top=1.5cm, bottom=1.5cm]{geometry}
|
|
||||||
|
|
||||||
\pagenumbering{gobble}
|
|
||||||
|
|
||||||
\begin{document}
|
|
||||||
|
|
||||||
\noindent {\Large Ryan Marina} \hspace{\fill} {\Large Briefing for $human_readable}
|
|
||||||
|
|
||||||
\noindent \textsc{Internal Document System} \hspace{\fill} $ \square $ \textit{scanned?} $ \square $ \textit{not scanned?}
|
|
||||||
|
|
||||||
\noindent \textit{Digital Archive Supplement} \hspace{\fill} internal notes: \rule{3cm}{0.4pt}
|
|
||||||
|
|
||||||
\noindent \texttt{iref:annex/briefs/$working_directory}
|
|
||||||
|
|
||||||
\vspace{0.4cm}
|
|
||||||
|
|
||||||
\noindent \textsc{Schedule}
|
|
||||||
|
|
||||||
\vspace{-0.30cm}
|
|
||||||
|
|
||||||
\noindent \rule{\textwidth}{0.4pt}
|
|
||||||
|
|
||||||
EOF
|
|
||||||
|
|
||||||
schedule=$(
|
|
||||||
khal list today today --format "{calendar}|{categories}|{start-time}|{end-time}|{title}" |
|
|
||||||
grep -E '^home\|school\||band\|'
|
|
||||||
)
|
|
||||||
IFS='
|
|
||||||
'
|
|
||||||
|
|
||||||
for class in $schedule; do
|
|
||||||
echo "$class" |
|
|
||||||
awk -F'|' '{
|
|
||||||
print "\\noindent " $5 " \\hspace{\\fill} \\textit{(" $3 "-" $4 ")}\n\n"
|
|
||||||
}' >> main.tex
|
|
||||||
done
|
|
||||||
|
|
||||||
cat >> main.tex <<EOF
|
|
||||||
\vspace{0.4cm}
|
|
||||||
|
|
||||||
\noindent \textsc{Unresolved Items}
|
|
||||||
|
|
||||||
\vspace{-0.30cm}
|
|
||||||
|
|
||||||
\noindent \rule{\textwidth}{0.4pt}
|
|
||||||
|
|
||||||
|
|
||||||
EOF
|
|
||||||
|
|
||||||
todo_items=$(
|
|
||||||
todo --porcelain |
|
|
||||||
jq -r '.[].summary'
|
|
||||||
)
|
|
||||||
IFS='
|
|
||||||
'
|
|
||||||
|
|
||||||
for todo in $todo_items; do
|
|
||||||
printf '\\noindent $ \\square $ %s\n\n' "$todo" >> main.tex
|
|
||||||
done
|
|
||||||
|
|
||||||
cat >> main.tex <<EOF
|
|
||||||
\vspace{0.4cm}
|
|
||||||
|
|
||||||
EOF
|
|
||||||
|
|
||||||
# generate notices
|
|
||||||
ssh netbox df -h |
|
|
||||||
grep /dev/vda3 |
|
|
||||||
awk -F' ' '{print "\\item \\texttt{" $1 "} on \\texttt{netbox} is at " $5 " utilization."}' |
|
|
||||||
sed 's/\%/\\%/g' > notices.tex
|
|
||||||
|
|
||||||
if [ -f notices.tex ]; then
|
|
||||||
cat >> main.tex <<EOF
|
|
||||||
\noindent \textsc{Procedural Notices}
|
|
||||||
|
|
||||||
\vspace{-0.30cm}
|
|
||||||
|
|
||||||
\noindent \rule{\textwidth}{0.4pt}
|
|
||||||
|
|
||||||
\begin{enumerate}
|
|
||||||
|
|
||||||
\input{notices}
|
|
||||||
|
|
||||||
\end{enumerate}
|
|
||||||
|
|
||||||
\vspace{0.4cm}
|
|
||||||
EOF
|
|
||||||
fi
|
|
||||||
|
|
||||||
cat >> main.tex <<EOF
|
|
||||||
\noindent \textsc{Items to be Appended to the Agenda}
|
|
||||||
|
|
||||||
\vspace{-0.30cm}
|
|
||||||
|
|
||||||
\noindent \rule{\textwidth}{0.4pt}
|
|
||||||
|
|
||||||
\end{document}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
pdflatex main.tex
|
|
||||||
|
|
||||||
printf "[!] briefing generated\n"
|
|
||||||
|
|
||||||
printf "file:///home/usr/annex/briefs/%s/main.pdf\n" "$working_directory"
|
|
@ -1,11 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
temp=$(mktemp)
|
|
||||||
|
|
||||||
nvim $temp
|
|
||||||
|
|
||||||
IFS='
|
|
||||||
'
|
|
||||||
for i in $(cat $temp); do
|
|
||||||
todo new "$i"
|
|
||||||
done
|
|
@ -1,3 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
generate_daily_brief | tail -1 | sed 's|file://||g' | xargs lp -d EPSONTHING
|
|
@ -1,6 +1,4 @@
|
|||||||
{ stdenv
|
{ stdenv
|
||||||
, lib
|
|
||||||
, pkgs
|
|
||||||
, libX11
|
, libX11
|
||||||
, libXinerama
|
, libXinerama
|
||||||
, libXft
|
, libXft
|
||||||
|
@ -25,4 +25,3 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
phases = [ "buildPhase" "installPhase" ];
|
phases = [ "buildPhase" "installPhase" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
{ stdenv
|
{ stdenv
|
||||||
, lib
|
, lib
|
||||||
, pkgs
|
|
||||||
, fetchgit
|
, fetchgit
|
||||||
, makeWrapper
|
, makeWrapper
|
||||||
, bash
|
, bash
|
||||||
|
@ -1,13 +1,11 @@
|
|||||||
{ stdenv
|
{ stdenv
|
||||||
, lib
|
, lib
|
||||||
, fetchgit
|
|
||||||
, pkg-config
|
, pkg-config
|
||||||
, libX11
|
, libX11
|
||||||
, libXft
|
, libXft
|
||||||
, fontconfig
|
, fontconfig
|
||||||
, freetype
|
, freetype
|
||||||
, ncurses
|
, ncurses
|
||||||
, fantasque-sans-mono
|
|
||||||
, lightMode ? false
|
, lightMode ? false
|
||||||
, aristotle ? false
|
, aristotle ? false
|
||||||
, extraLibs ? [ ]
|
, extraLibs ? [ ]
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
{ stdenv
|
{ stdenv
|
||||||
, lib
|
, lib
|
||||||
, pkgs
|
|
||||||
# shell scripts stuff
|
# shell scripts stuff
|
||||||
, makeWrapper
|
, makeWrapper
|
||||||
, sshuttle
|
, sshuttle
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# this is the default x11 configuration
|
# this is the default x11 configuration
|
||||||
environment.etc = {
|
environment.etc = {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
{ lib, config, pkgs, ...}:
|
{ pkgs, ...}:
|
||||||
|
|
||||||
{
|
{
|
||||||
services.xserver = {
|
services.xserver = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -1,43 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# if not interactive, don't do anything
|
|
||||||
[ -z "$PS1" ] && return
|
|
||||||
|
|
||||||
# some housekeeping
|
|
||||||
alias ls="ls --color=auto --group-directories-first"
|
|
||||||
alias weather="curl https://wttr.in"
|
|
||||||
alias lynx="lynx -cfg=$LYNX_CFG_PATH/lynx.cfg"
|
|
||||||
alias elinks="TERM='xterm-color' elinks"
|
|
||||||
alias pkgsearch="nix search nixpkgs"
|
|
||||||
alias reload=". ~/.config/bash/profile"
|
|
||||||
|
|
||||||
function cd() {
|
|
||||||
builtin cd "$@" && ls --color=auto --group-directories-first
|
|
||||||
}
|
|
||||||
|
|
||||||
# history
|
|
||||||
HISTCONTROL=ignorespace:ignoredups:erasedups
|
|
||||||
HISTFILESIZE=9999999999
|
|
||||||
HISTSIZE=9999999999
|
|
||||||
|
|
||||||
# bash specific settings
|
|
||||||
set -o vi # vim mode
|
|
||||||
shopt -s autocd
|
|
||||||
shopt -s cmdhist
|
|
||||||
shopt -s histreedit
|
|
||||||
shopt -s histappend
|
|
||||||
shopt -s histverify
|
|
||||||
|
|
||||||
PS1="\w\$ "
|
|
||||||
|
|
||||||
if [ -n "$IN_NIX_SHELL" ]; then
|
|
||||||
NIX_SHELL_PS1="nix:"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$USER" = "root" ]; then
|
|
||||||
USER_PREFIX="\[\033[41m\]root:\[\033[0;0m\]"
|
|
||||||
elif [ "$USER" != "usr" ]; then
|
|
||||||
USER_PREFIX="$USER:"
|
|
||||||
fi
|
|
||||||
|
|
||||||
PS1="$USER_PREFIX\[\033[36;1m\]${NIX_SHELL_PS1}arist:$PS1\[\033[0;0m\]"
|
|
@ -1,49 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# XDG config
|
|
||||||
export XDG_CONFIG_HOME="$HOME/.config"
|
|
||||||
export XDG_CACHE_HOME="$HOME/.cache"
|
|
||||||
export XDG_DATA_HOME="$HOME/.local/share"
|
|
||||||
export XDG_STATE_HOME="$HOME/.local/state"
|
|
||||||
|
|
||||||
# paths and stuff
|
|
||||||
export PATH="$PATH:$HOME/.local/bin"
|
|
||||||
export MANPATH="$(manpath -q):$HOME/.local/share/man"
|
|
||||||
export EDITOR="nvim"
|
|
||||||
mkdir -p "$HOME/.local/bin" "$HOME/.share/man"
|
|
||||||
|
|
||||||
# program exports to keep the $HOME neat and tidy
|
|
||||||
# bash
|
|
||||||
export HISTFILE="$XDG_CONFIG_HOME/bash/hist"
|
|
||||||
export HISTFILESIZE=3000
|
|
||||||
|
|
||||||
# python
|
|
||||||
export PYTHONSTARTUP="$XDG_CONFIG_HOME/python/pythonrc.py"
|
|
||||||
|
|
||||||
# less
|
|
||||||
export LESSHISTFILE="-"
|
|
||||||
|
|
||||||
# gnupg
|
|
||||||
export GNUPGHOME="$XDG_DATA_HOME/gnupg"
|
|
||||||
|
|
||||||
# ls
|
|
||||||
export LS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:';
|
|
||||||
|
|
||||||
export $(dbus-launch)
|
|
||||||
export GTK_THEME="earth"
|
|
||||||
|
|
||||||
# elinks
|
|
||||||
export ELINKS_CONFDIR="$XDG_CONFIG_HOME/elinks"
|
|
||||||
|
|
||||||
# lynx
|
|
||||||
export LYNX_CFG_PATH="$XDG_CONFIG_HOME/lynx"
|
|
||||||
|
|
||||||
# dbus configuration
|
|
||||||
export DBUS_SESSION_BUS_ADDRESS="unix:path=$XDG_RUNTIME_DIR/bus"
|
|
||||||
|
|
||||||
# make nix-shell respect our PS1
|
|
||||||
export NIX_SHELL_PRESERVE_PROMPT=1
|
|
||||||
|
|
||||||
# source the bashrc(s)
|
|
||||||
[ -f $HOME/.config/bash/bashrc ] && . $HOME/.config/bash/bashrc
|
|
||||||
[ -f $HOME/.bashrc ] && . $HOME/.bashrc
|
|
@ -1,3 +0,0 @@
|
|||||||
set show_current_bitrate=true
|
|
||||||
set pause_on_output_change=true
|
|
||||||
set status_display_program=cmus-status-update
|
|
@ -1,78 +0,0 @@
|
|||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./sx
|
|
||||||
];
|
|
||||||
|
|
||||||
# make the bashrc go in .config/bash, not the home directory
|
|
||||||
environment.etc = {
|
|
||||||
"profile.local" = {
|
|
||||||
text = "source /home/usr/.config/bash/profile";
|
|
||||||
};
|
|
||||||
"bashrc.local" = {
|
|
||||||
text = "source /home/usr/.config/bash/bashrc";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
system.userActivationScripts = {
|
|
||||||
copyEssentialConfiguration = {
|
|
||||||
text = ''
|
|
||||||
mkdir -p /home/usr/.config/bash
|
|
||||||
${pkgs.coreutils}/bin/ln -sf /home/usr/dots/lappy-config/bash/bashrc /home/usr/.config/bash/bashrc
|
|
||||||
${pkgs.coreutils}/bin/ln -sf /home/usr/dots/lappy-config/bash/profile /home/usr/.config/bash/profile
|
|
||||||
|
|
||||||
mkdir -p /home/usr/.config/cmus
|
|
||||||
${pkgs.coreutils}/bin/ln -sf /home/usr/dots/lappy-config/cmus/rc /home/usr/.config/cmus/rc
|
|
||||||
|
|
||||||
mkdir -p /home/usr/.config/git
|
|
||||||
${pkgs.coreutils}/bin/ln -sf /home/usr/dots/lappy-config/git/config /home/usr/.config/git/config
|
|
||||||
|
|
||||||
mkdir -p /home/usr/.config/isync
|
|
||||||
${pkgs.coreutils}/bin/ln -sf /home/usr/dots/lappy-config/isync/config /home/usr/.config/isync/config
|
|
||||||
|
|
||||||
mkdir -p /home/usr/.config/khal
|
|
||||||
${pkgs.coreutils}/bin/ln -sf /home/usr/dots/lappy-config/khal/config /home/usr/.config/khal/config
|
|
||||||
|
|
||||||
mkdir -p /home/usr/.config/khard
|
|
||||||
${pkgs.coreutils}/bin/ln -sf /home/usr/dots/lappy-config/khard/khard.conf /home/usr/.config/khard/khard.conf
|
|
||||||
|
|
||||||
mkdir -p /home/usr/.config/lynx
|
|
||||||
${pkgs.coreutils}/bin/ln -sf /home/usr/dots/lappy-config/lynx/lynx.cfg /home/usr/.config/lynx/lynx.cfg
|
|
||||||
|
|
||||||
mkdir -p /home/usr/.config/msmtp
|
|
||||||
${pkgs.coreutils}/bin/ln -sf /home/usr/dots/lappy-config/msmtp/config /home/usr/.config/msmtp/config
|
|
||||||
|
|
||||||
mkdir -p /home/usr/.config/neomutt
|
|
||||||
${pkgs.coreutils}/bin/ln -sf /home/usr/dots/lappy-config/neomutt/neomuttrc /home/usr/.config/neomutt/neomuttrc
|
|
||||||
|
|
||||||
mkdir -p /home/usr/.config/nvim
|
|
||||||
${pkgs.coreutils}/bin/ln -sf /home/usr/dots/lappy-config/nvim/init.lua /home/usr/.config/nvim/init.lua
|
|
||||||
|
|
||||||
mkdir -p /home/usr/.config/python
|
|
||||||
${pkgs.coreutils}/bin/ln -sf /home/usr/dots/lappy-config/python/pythonrc.py /home/usr/.config/python/pythonrc.py
|
|
||||||
|
|
||||||
mkdir -p /home/usr/.config/rbw
|
|
||||||
${pkgs.coreutils}/bin/ln -sf /home/usr/dots/lappy-config/rbw/config.json /home/usr/.config/rbw/config.json
|
|
||||||
|
|
||||||
mkdir -p /home/usr/.config/ssh
|
|
||||||
mkdir -p /home/usr/.ssh
|
|
||||||
${pkgs.coreutils}/bin/ln -sf /home/usr/dots/lappy-config/ssh/config /home/usr/.config/ssh/config
|
|
||||||
${pkgs.coreutils}/bin/ln -sf /home/usr/dots/lappy-config/ssh/config /home/usr/.ssh/config
|
|
||||||
|
|
||||||
mkdir -p /home/usr/.config/sx
|
|
||||||
${pkgs.coreutils}/bin/ln -sf /home/usr/dots/lappy-config/sx/sxrc /home/usr/.config/sx/sxrc
|
|
||||||
|
|
||||||
mkdir -p /home/usr/.config/tmux
|
|
||||||
${pkgs.coreutils}/bin/ln -sf /home/usr/dots/lappy-config/tmux/tmux.conf /home/usr/.config/tmux/tmux.conf
|
|
||||||
|
|
||||||
mkdir -p /home/usr/.config/todoman
|
|
||||||
${pkgs.coreutils}/bin/ln -sf /home/usr/dots/lappy-config/todoman/config.py /home/usr/.config/todoman/config.py
|
|
||||||
|
|
||||||
mkdir -p /home/usr/.config/vdirsyncer
|
|
||||||
${pkgs.coreutils}/bin/ln -sf /home/usr/dots/lappy-config/vdirsyncer/config /home/usr/.config/vdirsyncer/config
|
|
||||||
'';
|
|
||||||
deps = [];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,21 +0,0 @@
|
|||||||
[user]
|
|
||||||
email = ryan@beepboop.systems
|
|
||||||
name = stupidcomputer
|
|
||||||
|
|
||||||
[credential "https://git.beepboop.systems"]
|
|
||||||
helper = !git-rbw-wrap gitea
|
|
||||||
|
|
||||||
[credential "https://github.com"]
|
|
||||||
helper = !git-rbw-wrap github-pat
|
|
||||||
|
|
||||||
[advice]
|
|
||||||
addIgnoredFile = false
|
|
||||||
|
|
||||||
[init]
|
|
||||||
defaultBranch = main
|
|
||||||
|
|
||||||
[help]
|
|
||||||
autocorrect = prompt
|
|
||||||
|
|
||||||
[push]
|
|
||||||
autoSetupRemote = true
|
|
@ -1,20 +0,0 @@
|
|||||||
IMAPStore main-remote
|
|
||||||
Host mail.beepboop.systems
|
|
||||||
Port 993
|
|
||||||
User ryan@beepboop.systems
|
|
||||||
PassCmd "rbw get mail.beepboop.systems"
|
|
||||||
SSLType IMAPS
|
|
||||||
CertificateFile /etc/ssl/certs/ca-certificates.crt
|
|
||||||
|
|
||||||
MaildirStore main-local
|
|
||||||
Path ~/pim/mail/main/
|
|
||||||
Inbox ~/pim/mail/main/INBOX
|
|
||||||
Subfolders Verbatim
|
|
||||||
|
|
||||||
Channel main
|
|
||||||
Far :main-remote:
|
|
||||||
Near :main-local:
|
|
||||||
Create Both
|
|
||||||
Expunge Both
|
|
||||||
Patterns *
|
|
||||||
SyncState *
|
|
@ -1,23 +0,0 @@
|
|||||||
[calendars]
|
|
||||||
[[home]]
|
|
||||||
path = "~/pim/calendar/personal/edfbeaf1-e9f3-4d94-a512-40cdafdbc7a0"
|
|
||||||
color = dark green
|
|
||||||
|
|
||||||
[[band]]
|
|
||||||
path = "~/pim/calendar/band"
|
|
||||||
color = light cyan
|
|
||||||
|
|
||||||
[[pco]]
|
|
||||||
path = "~/pim/calendar/pco"
|
|
||||||
color = yellow
|
|
||||||
|
|
||||||
[[school]]
|
|
||||||
path = "~/pim/calendar/school"
|
|
||||||
color = dark red
|
|
||||||
|
|
||||||
[locale]
|
|
||||||
timeformat = %H:%M
|
|
||||||
dateformat = %Y-%m-%d
|
|
||||||
longdateformat = %Y-%m-%d %a
|
|
||||||
datetimeformat = %Y-%m-%d %H:%M
|
|
||||||
longdatetimeformat = %Y-%m-%d %H:%M
|
|
@ -1,19 +0,0 @@
|
|||||||
[addressbooks]
|
|
||||||
[[main]]
|
|
||||||
path = ~/pim/people/main/20cda0dd-5922-4905-8956-859c989a6519
|
|
||||||
[general]
|
|
||||||
default_action = list
|
|
||||||
editor = nvim
|
|
||||||
merge_editor = nvim, -d
|
|
||||||
|
|
||||||
[contact table]
|
|
||||||
display = first_name
|
|
||||||
group_by_addressbook = no
|
|
||||||
reverse = no
|
|
||||||
show_nicknames = no
|
|
||||||
show_uids = yes
|
|
||||||
show_kinds = no
|
|
||||||
sort = last_name
|
|
||||||
localize_dates = yes
|
|
||||||
preferred_phone_number_type = pref, cell, home
|
|
||||||
preferred_email_address_type = pref, work, home
|
|
@ -1,12 +0,0 @@
|
|||||||
defaults
|
|
||||||
auth on
|
|
||||||
tls on
|
|
||||||
tls_trust_file /etc/ssl/certs/ca-certificates.crt
|
|
||||||
|
|
||||||
account default
|
|
||||||
host mail.beepboop.systems
|
|
||||||
port 587
|
|
||||||
tls_starttls on
|
|
||||||
from ryan@beepboop.systems
|
|
||||||
user ryan@beepboop.systems
|
|
||||||
passwordeval rbw get "mail.beepboop.systems"
|
|
@ -1,29 +0,0 @@
|
|||||||
set editor = "nvim"
|
|
||||||
|
|
||||||
set my_name = "Ryan Marina"
|
|
||||||
set fast_reply
|
|
||||||
|
|
||||||
set mbox_type = Maildir
|
|
||||||
set folder = "~/pim/mail/main"
|
|
||||||
|
|
||||||
set sidebar_visible
|
|
||||||
set sidebar_format = "%B%<F? [%F}>%* %<N?%N/>%S"
|
|
||||||
set mail_check_stats
|
|
||||||
|
|
||||||
set sendmail = "msmtp -a default -C $HOME/.config/msmtp/config"
|
|
||||||
|
|
||||||
set from = "ryan@beepboop.systems"
|
|
||||||
set spoolfile = +INBOX
|
|
||||||
set record = "+Sent"
|
|
||||||
set trash = "+Trash"
|
|
||||||
set postponed = "+Drafts"
|
|
||||||
mailboxes +SMS +INBOX "+College Messages" +"Internship 24"
|
|
||||||
|
|
||||||
unset wait_key
|
|
||||||
macro index S "<shell-escape>pimsync<enter>"
|
|
||||||
|
|
||||||
set use_threads = yes
|
|
||||||
set sort_aux = reverse-last-date-received
|
|
||||||
|
|
||||||
set imap_keepalive = 300
|
|
||||||
set query_command = "khard email --parsable --search-in-source-files '%s'"
|
|
@ -1,113 +0,0 @@
|
|||||||
-- helper functions {{{
|
|
||||||
local keymapper = vim.keymap
|
|
||||||
local globals = vim.g
|
|
||||||
local opt = vim.o
|
|
||||||
local cmd = vim.cmd
|
|
||||||
function nnoremap(l, r)
|
|
||||||
keymapper.set('n', l, r) -- noremap is implied
|
|
||||||
end
|
|
||||||
|
|
||||||
function inoremap(l, r)
|
|
||||||
keymapper.set('i', l, r)
|
|
||||||
end
|
|
||||||
|
|
||||||
function tnoremap(l, r)
|
|
||||||
keymapper.set('t', l, r)
|
|
||||||
end
|
|
||||||
-- }}}
|
|
||||||
|
|
||||||
-- custom mappings {{{
|
|
||||||
globals.mapleader = ' '
|
|
||||||
nnoremap(';', ':')
|
|
||||||
nnoremap(':', ';')
|
|
||||||
nnoremap('<leader><leader>', ':')
|
|
||||||
|
|
||||||
-- source init.vim
|
|
||||||
-- requires rebuilding the configuration first
|
|
||||||
nnoremap('<leader>rr', function()
|
|
||||||
cmd.source('~/.config/nvim/init.lua')
|
|
||||||
end)
|
|
||||||
-- edit init.vim
|
|
||||||
nnoremap('<leader>re', function()
|
|
||||||
cmd.edit('~/.config/nvim/init.lua')
|
|
||||||
end)
|
|
||||||
-- openup netrw
|
|
||||||
nnoremap('<leader>fs', function()
|
|
||||||
cmd.Lexplore()
|
|
||||||
end)
|
|
||||||
|
|
||||||
inoremap('qp', '<c-g>u<Esc>[s1z=`]a<c-g>u')
|
|
||||||
inoremap("<C-a>", "<Esc>mZ0i<Tab><Esc>`ZlA")
|
|
||||||
inoremap('jk', '<Esc>')
|
|
||||||
inoremap('zz', '<Esc>:w!<CR>a')
|
|
||||||
|
|
||||||
tnoremap('<Esc>', '<C-\\><C-n>')
|
|
||||||
-- }}}
|
|
||||||
|
|
||||||
-- vim options {{{
|
|
||||||
opt.compatible = false
|
|
||||||
opt.number = true
|
|
||||||
opt.foldmethod = 'marker'
|
|
||||||
opt.encoding = 'utf8'
|
|
||||||
opt.list = true
|
|
||||||
opt.lcs = 'tab:->,trail:_,eol:^'
|
|
||||||
opt.clipboard = 'unnamedplus'
|
|
||||||
opt.spell = true
|
|
||||||
opt.spelllang = "en_us"
|
|
||||||
opt.title = true
|
|
||||||
opt.ts = 2
|
|
||||||
opt.sw = 2
|
|
||||||
opt.hlsearch = true
|
|
||||||
opt.incsearch = true
|
|
||||||
opt.ignorecase = true
|
|
||||||
opt.smartcase = true
|
|
||||||
opt.inccommand = 'nosplit'
|
|
||||||
opt.hidden = true
|
|
||||||
opt.linebreak = true
|
|
||||||
opt.path = '.,/usr/include,**'
|
|
||||||
opt.statusline="%f %r%m%q%h%=%y 0x%02B %04l:%03c:%03p"
|
|
||||||
vim.api.nvim_exec("let &titlestring='%{expand(\"%:p\")}'", true)
|
|
||||||
|
|
||||||
globals.vimtex_view_method = 'zathura'
|
|
||||||
-- }}}
|
|
||||||
|
|
||||||
-- autocommands {{{
|
|
||||||
function setTabbing(lang, width)
|
|
||||||
vim.api.nvim_create_autocmd({"Filetype"}, {
|
|
||||||
pattern = {lang},
|
|
||||||
callback = function()
|
|
||||||
vim.bo.expandtab = true
|
|
||||||
vim.bo.tabstop = width
|
|
||||||
vim.bo.shiftwidth = width
|
|
||||||
end
|
|
||||||
})
|
|
||||||
end
|
|
||||||
|
|
||||||
setTabbing("python", 4)
|
|
||||||
setTabbing("htmldjango", 4)
|
|
||||||
setTabbing("javascript", 4)
|
|
||||||
setTabbing("css", 4)
|
|
||||||
setTabbing("html", 4)
|
|
||||||
setTabbing("nix", 2)
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd({"TermOpen"}, {
|
|
||||||
pattern = {"*"},
|
|
||||||
callback = function()
|
|
||||||
vim.wo.number = false
|
|
||||||
end
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd({"TermOpen"}, {
|
|
||||||
pattern = {"*"},
|
|
||||||
command = "setlocal nospell",
|
|
||||||
})
|
|
||||||
-- }}}
|
|
||||||
|
|
||||||
-- netrw options {{{
|
|
||||||
globals.netrw_winsize = -28
|
|
||||||
globals.netrw_banner = 0
|
|
||||||
-- for tree view
|
|
||||||
globals.netrw_liststyle = 3
|
|
||||||
-- use previous window to open files
|
|
||||||
globals.netrw_browser_split = 4
|
|
||||||
-- }}}
|
|
@ -1,17 +0,0 @@
|
|||||||
import os
|
|
||||||
import atexit
|
|
||||||
import readline
|
|
||||||
|
|
||||||
history = os.path.join(os.path.expanduser('~'), '.cache/python_history')
|
|
||||||
try:
|
|
||||||
readline.read_history_file(history)
|
|
||||||
except OSError:
|
|
||||||
pass
|
|
||||||
|
|
||||||
def write_history():
|
|
||||||
try:
|
|
||||||
readline.write_history_file(history)
|
|
||||||
except OSError:
|
|
||||||
pass
|
|
||||||
|
|
||||||
atexit.register(write_history)
|
|
@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
"base_url": "https://bitwarden.beepboop.systems",
|
|
||||||
"email": "bit@beepboop.systems",
|
|
||||||
"identity_url": null,
|
|
||||||
"lock_timeout": 3600
|
|
||||||
}
|
|
@ -1,18 +0,0 @@
|
|||||||
Host netbox
|
|
||||||
HostName beepboop.systems
|
|
||||||
User ryan
|
|
||||||
Port 443
|
|
||||||
|
|
||||||
Host copernicus-proxy
|
|
||||||
HostName 10.100.0.2
|
|
||||||
User usr
|
|
||||||
Port 2222
|
|
||||||
ProxyJump netbox
|
|
||||||
|
|
||||||
Host copernicus
|
|
||||||
User usr
|
|
||||||
Port 2222
|
|
||||||
|
|
||||||
Host aristotle
|
|
||||||
User usr
|
|
||||||
Port 2222
|
|
@ -1,16 +0,0 @@
|
|||||||
{ lib, config, pkgs, ...}:
|
|
||||||
|
|
||||||
{
|
|
||||||
services.xserver = {
|
|
||||||
enable = true;
|
|
||||||
xkb.layout = "us";
|
|
||||||
|
|
||||||
displayManager.sx.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
xorg.xset
|
|
||||||
xorg.setxkbmap
|
|
||||||
xcape
|
|
||||||
];
|
|
||||||
}
|
|
@ -1,8 +0,0 @@
|
|||||||
status &
|
|
||||||
|
|
||||||
xset r rate 200 80
|
|
||||||
setxkbmap -option caps:super
|
|
||||||
pkill xcape
|
|
||||||
xcape -e 'Super_L=Escape'
|
|
||||||
|
|
||||||
dwm
|
|
@ -1,5 +0,0 @@
|
|||||||
path = "~/pim/calendar/personal/*"
|
|
||||||
date_format = "%m-%d-%Y"
|
|
||||||
time_format = "%H:%M"
|
|
||||||
default_due = 0
|
|
||||||
default_list = "edfbeaf1-e9f3-4d94-a512-40cdafdbc7a0"
|
|
@ -1,79 +0,0 @@
|
|||||||
[general]
|
|
||||||
status_path = "~/pim/status"
|
|
||||||
|
|
||||||
[pair contacts]
|
|
||||||
a = "contacts_local"
|
|
||||||
b = "contacts_remote"
|
|
||||||
collections = ["from a", "from b"]
|
|
||||||
|
|
||||||
[pair calendar]
|
|
||||||
a = "calendar_local"
|
|
||||||
b = "calendar_remote"
|
|
||||||
collections = ["from a", "from b"]
|
|
||||||
|
|
||||||
[pair band_calendar]
|
|
||||||
a = "band_calendar_local"
|
|
||||||
b = "band_calendar_remote"
|
|
||||||
collections = null
|
|
||||||
|
|
||||||
[pair pco_calendar]
|
|
||||||
a = "pco_local"
|
|
||||||
b = "pco_remote"
|
|
||||||
collections = null
|
|
||||||
|
|
||||||
[pair school_calendar]
|
|
||||||
a = "school_local"
|
|
||||||
b = "school_remote"
|
|
||||||
collections = null
|
|
||||||
|
|
||||||
[storage contacts_local]
|
|
||||||
type = "filesystem"
|
|
||||||
path = "~/pim/people/main"
|
|
||||||
fileext = ".vcf"
|
|
||||||
|
|
||||||
[storage calendar_local]
|
|
||||||
type = "filesystem"
|
|
||||||
path = "~/pim/calendar/personal"
|
|
||||||
fileext = ".ics"
|
|
||||||
|
|
||||||
[storage band_calendar_local]
|
|
||||||
type = "filesystem"
|
|
||||||
path = "~/pim/calendar/band"
|
|
||||||
fileext = ".ics"
|
|
||||||
|
|
||||||
[storage pco_local]
|
|
||||||
type = "filesystem"
|
|
||||||
path = "~/pim/calendar/pco"
|
|
||||||
fileext = ".ics"
|
|
||||||
|
|
||||||
[storage school_local]
|
|
||||||
type = "filesystem"
|
|
||||||
path = "~/pim/calendar/school"
|
|
||||||
fileext = ".ics"
|
|
||||||
|
|
||||||
[storage contacts_remote]
|
|
||||||
type = "carddav"
|
|
||||||
|
|
||||||
url = "https://radicale.beepboop.systems/ryan/20cda0dd-5922-4905-8956-859c989a6519/"
|
|
||||||
username = "ryan"
|
|
||||||
password.fetch = ["command", "rbw", "get", "radicale"]
|
|
||||||
|
|
||||||
[storage band_calendar_remote]
|
|
||||||
type = "http"
|
|
||||||
url = "https://calendar.google.com/calendar/ical/i6bong6iferbcuf1u25jg47t7k%40group.calendar.google.com/public/basic.ics"
|
|
||||||
|
|
||||||
[storage pco_remote]
|
|
||||||
type = "http"
|
|
||||||
|
|
||||||
url.fetch = ["command", "rbw", "get", "pco-ical-sync"]
|
|
||||||
|
|
||||||
[storage school_remote]
|
|
||||||
type = "http"
|
|
||||||
|
|
||||||
url.fetch = ["command", "rbw", "get", "school-ical-sync"]
|
|
||||||
[storage calendar_remote]
|
|
||||||
type = "caldav"
|
|
||||||
|
|
||||||
url = "https://radicale.beepboop.systems/ryan/edfbeaf1-e9f3-4d94-a512-40cdafdbc7a0/"
|
|
||||||
username = "ryan"
|
|
||||||
password.fetch = ["command", "rbw", "get", "radicale"]
|
|
@ -1,5 +1,4 @@
|
|||||||
{ config, pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
git
|
git
|
||||||
|
Loading…
Reference in New Issue
Block a user