working on a rewrite

pull/1/head
Tudor Roman 2023-01-14 20:37:45 +01:00
parent f39d43e56b
commit 6e4a3a10db
149 changed files with 687 additions and 3648 deletions

View File

@ -1,3 +0,0 @@
#!/bin/sh
pcs() { for i in {0..7}; do echo -en "\e[${1}$((30+$i))m \u2588\u2588 \e[0m"; done; }
printf "\n%s\n%s\n\n" "$(pcs)" "$(pcs '1;')"

View File

@ -1,26 +0,0 @@
#!/usr/bin/env bash
#
# This file echoes a bunch of color codes to the
# terminal to demonstrate what's available. Each
# line is the color code of one forground color,
# out of 17 (default + 16 escapes), followed by a
# test use of that color on all nine background
# colors (default + 8 escapes).
#
T='tud' # The test text
echo -e "\n 40m 41m 42m 43m\
44m 45m 46m 47m";
for FGs in ' m' ' 1m' ' 30m' '1;30m' ' 31m' '1;31m' ' 32m' \
'1;32m' ' 33m' '1;33m' ' 34m' '1;34m' ' 35m' '1;35m' \
' 36m' '1;36m' ' 37m' '1;37m';
do FG=${FGs// /}
echo -en " $FGs \033[$FG $T "
for BG in 40m 41m 42m 43m 44m 45m 46m 47m;
do echo -en "$EINS \033[$FG\033[$BG $T \033[0m";
done
echo;
done
echo

View File

@ -1,8 +0,0 @@
#!/bin/sh
if [ -n "$WAYLAND_DISPLAY" ]; then
swaylock -f -i $HOME/wallpapers/bluescreen.png
else
i3lock -t -p win -i $HOME/wallpapers/bluescreen.png
fi
systemctl suspend

View File

@ -1,113 +0,0 @@
#!/bin/sh
## Grimshot: a helper for screenshots within sway
## Requirements:
## - `grim`: screenshot utility for wayland
## - `slurp`: to select an area
## - `swaymsg`: to read properties of current window
## - `wl-copy`: clipboard utility
## - `jq`: json uliity to parse swaymsg output
## - `notify-send`: to show notifications
## - `mktemp`: to create a temporary file
## Those are needed to be installed, if unsure, run `grimshot check`
##
## Examples:
## `grimshot copy win` - to copy current window
## `grimshot save area` - to select area and save it to default file (Pictures/Grimshot-$datetime.png)
## `grimshot save screen ~/screenshot.png` - to save screenshot under ~/screenshot.png
## `grimshot` - usage
## `grimshot check` - verify if tools are installed
ACTION=${1:-usage}
SUBJECT=${2:-screen}
FILE=${3:-$HOME/tmp/screenies/$(date +'Grimshot %Y-%m-%d %H-%M-%S.png')}
if [ "$ACTION" = "usage" ] ; then
echo "Usage:"
echo " grimshot save win|screen|area [FILE]"
echo "Troubleshoot:"
echo " grimshot check"
exit
fi
notify() {
notify-send -t 3000 -a grimshot "$@"
}
notifyOk() {
TITLE=${2:-"Screenshot"}
MESSAGE=${1:-"OK"}
notify "$TITLE" "$MESSAGE"
}
notifyError() {
TITLE=${2:-"Screenshot"}
MESSAGE=${1:-"Error taking screenshot with grim"}
notify -u critical "$TITLE" "$MESSAGE"
}
die() {
MSG=${1:-Bye}
notifyError "Error: $MSG"
exit 2
}
check() {
COMMAND=$1
if command -v "$COMMAND" > /dev/null 2>&1; then
RESULT="OK"
else
RESULT="NOT FOUND"
fi
echo " $COMMAND: $RESULT"
}
takeScreenshot() {
FILE=$1
GEOM=$2
if [ -z "$GEOM" ]; then
grim "$FILE" || die "Unable to invoke grim"
else
grim -g "$GEOM" "$FILE" || die "Unable to invoke grim"
fi
}
if [ "$ACTION" = "check" ] ; then
echo "Checking if required tools are installed. If something is missing, install it to your system and make it available in PATH..."
check grim
check slurp
check swaymsg
check wl-copy
check jq
check notify-send
check mktemp
exit
elif [ "$SUBJECT" = "area" ] ; then
GEOM=$(slurp -d)
WHAT="Area"
elif [ "$SUBJECT" = "win" ] ; then
FOCUSED=$(swaymsg -t get_tree | jq -r 'recurse(.nodes[]?, .floating_nodes[]?) | select(.focused)')
GEOM=$(echo "$FOCUSED" | jq -r '.rect | "\(.x),\(.y) \(.width)x\(.height)"')
APP_ID=$(echo "$FOCUSED" | jq -r '.app_id')
WHAT="$APP_ID window"
elif [ "$SUBJECT" = "screen" ] ; then
GEOM=""
WHAT="Screen"
else
die "Unknown subject to take a screen shot from" "$SUBJECT"
fi
if [ "$ACTION" = "copy" ] ; then
TMP=$(mktemp) || die "Unable to create temp file: is mktemp installed?"
takeScreenshot "$TMP" "$GEOM"
wl-copy --type image/png < "$TMP" || die "Clipboard error"
rm "$TMP"
notifyOk "$WHAT copied to buffer"
else
mkdir -p "$(dirname "$FILE")"
if takeScreenshot "$FILE" "$GEOM"; then
wl-copy --type image/png < "$FILE" || notifyError "Clipboard error"
TITLE="Screenshot of $SUBJECT"
MESSAGE=$(basename "$FILE")
notifyOk "$MESSAGE" "$TITLE"
else
notifyError "Error taking screenshot with grim"
fi
fi

View File

@ -1,95 +0,0 @@
#!/bin/sh
#
# Simple script for adding music files to a list and converting them in parallel
# Works on my machine (tm)
# Dependencies: ffmpeg, GNU Parallel
# Copyright (C) 2017 Tudor Ioan Roman - WTFPL
#
MUSIC_CONV_DIR="$HOME/usr/music_conv"
MUSIC_LIST="$MUSIC_CONV_DIR/list.txt"
COVERS_LIST="$MUSIC_CONV_DIR/covers.txt"
TEMP_FILE="$(mktemp /tmp/music_convXXXX.tmp)"
MUSIC_FOLDER="/storage/linux/music"
TEMP_SRC_FILE="$(mktemp /tmp/music_conv_c1XXXX.tmp)"
TEMP_DEST_FILE="$(mktemp /tmp/music_conv_c2XXXX.tmp)"
MAX_PROC="14"
test -f "$MUSIC_LIST" || :> "$MUSIC_LIST"
add_songs() {
find "$MUSIC_FOLDER" -iname '*.mp3' -o -iname '*.flac' > "$MUSIC_LIST"
}
convert_music() {
echo "Destination: '$MUSIC_CONV_DIR'"
:> "$TEMP_DEST_FILE"
:> "$TEMP_SRC_FILE"
while IFS='' read -r song; do
local new_path="${MUSIC_CONV_DIR}/$(echo "$song" | sed 's:'"$MUSIC_FOLDER"'/::')"
mkdir -p "$(dirname "$new_path")"
local ext="${song##*.}"
new_path="${new_path%.$ext}.mp3"
if [ "$ext" = "mp3" ] && [ ! -e "$new_path" ]; then
echo "Song '$song' already an mp3, copying"
cp "$song" "$new_path"
elif [ "$ext" != "mp3" ] && [ ! -e "${new_path%.$ext}" ]; then
echo "$song" >> "$TEMP_SRC_FILE"
echo "$new_path" >> "$TEMP_DEST_FILE"
else
echo "Skipping '$song'"
fi
done < "$MUSIC_LIST"
echo "Converting NOW"
parallel --link -j$MAX_PROC --progress 'ffmpeg -loglevel panic -i {1} -ab 320k {2}' :::: "$TEMP_SRC_FILE" :::: "$TEMP_DEST_FILE"
}
copy_covers() {
while IFS='' read -r cover; do
local new_path="${MUSIC_CONV_DIR}/$(echo "$cover" | sed 's:'"$MUSIC_FOLDER"'/::')"
mkdir -p "$(dirname "$new_path")"
cp "$cover" "$new_path"
done < "$COVERS_LIST"
}
usage() {
local code="$1"
echo "Usage: $0 <subcommand> [files]"
echo "Available subcommands: add list clear convert"
exit "$code"
}
[ "$#" -eq 0 ] && usage 1
subcommand="$1"
shift
case "$subcommand" in
"add")
add_songs
;;
"list")
${PAGER:-more} "$MUSIC_LIST"
;;
"clear")
:> "$MUSIC_LIST"
;;
"convert")
convert_music
;;
"covers")
copy_covers
;;
*)
echo "$(basename "$0"): invalid subcommand"
usage 1
esac
rm "$TEMP_FILE"
rm -f "$POOL_FILE"
rm -f "$TEMP_SRC_FILE"
rm -f "$TEMP_DIST_FILE"

View File

@ -1,31 +0,0 @@
#!/bin/sh
f0=''; f1=''; f2=''; f3=''; f4=''; f5=''; f6=''; f7=''
b0=''; b1=''; b2=''; b4=''; b4=''; b5=''; b6=''; b7=''
B=''
R=''
I=''
cat << EOF
$f0 ▟$f3██▙
$f0 ░░░░
$f0 ░░░░
$f0 ▟█$f3███▙
$f0 ▜██$f3████████▛
$f0 ▜███$f3███▛
$f0 █▒▒$f7▒▒█
$f0 █▒▒$f7▒▒█
$f0 █▒▒$f7▒▒█
$f0 █▒▒$f7▒▒█
$f0 █▒▒$f7▒▒█
$f0 █▒▒$f7▒▒█
$f0 █▒▒$f7▒▒█
$f0 █▒▒$f7▒▒█
$f0 ▜▒▒$f7▒▒▛
$f0 ▜▒$f7▒▛
$f0 ▜$f7▛$R
The sword of $USER anyone in possesion
of this sword will get massive upvotes
EOF

View File

@ -1,50 +0,0 @@
#!/bin/sh
#
# ufetch-arch - tiny system info for arch
#
## INFO
# user is already defined
HOST="$(hostname)"
OS="Arch Linux"
KERNEL="$(uname -sr)"
UPTIME="$(uptime -p | sed s:"up "::)"
PACKAGES="$(pacman -Q | wc -l)"
# shell is already defined
if [ -z "$WM" ]; then
WM="$(xprop -root _NET_WM_NAME | cut -d'=' -f2 | awk -F'"|"' '{print $2}')"
fi
## DEFINE COLORS
# probably don't change these
bc="$(tput bold)" # bold
c0="$(tput setaf 0)" # black
c1="$(tput setaf 1)" # red
c2="$(tput setaf 2)" # green
c3="$(tput setaf 3)" # yellow
c4="$(tput setaf 4)" # blue
c5="$(tput setaf 5)" # magenta
c6="$(tput setaf 6)" # cyan
c7="$(tput setaf 7)" # white
rc="$(tput sgr0)" # reset
# you can change these
lc="${bc}${c6}" # labels
nc="${bc}${c6}" # user and hostname
tc="${bc}${c7}" # text
fc="${bc}${c6}" # first color
sc="${c6}" # second color
## OUTPUT
cat <<EOF
${fc} /\\${rc} ${nc}${USER}${rc}${tc}@${rc}${nc}${HOST}${rc}
${fc} /^^\\${rc} ${lc}OS:${rc} ${tc}${OS}${rc}
${fc} /\ \\${rc} ${lc}KERNEL:${rc} ${tc}${KERNEL}${rc}
${fc} /${rc} ${sc}__ \\${rc} ${lc}UPTIME:${rc} ${tc}${UPTIME}${rc}
${sc} / ( ) \\${rc} ${lc}PACKAGES:${rc} ${tc}${PACKAGES}${rc}
${sc} / __| |__\\\\${rc} ${lc}SHELL:${rc} ${tc}${SHELL}${rc}
${sc} /// \\\\\\${rc} ${lc}WM:${rc} ${tc}${WM}${rc}
EOF

View File

@ -1,62 +0,0 @@
#!/usr/bin/env bash
# Let's set up some colors. By default, we won't use any color.
EYES=""
TRUNK=""
LEAVES=""
CLEAR=""
# If we're in a terminal, we can play with some color.
if [ -t 1 ]
then
# We'll choose our palette based on the number of available colors.
TERM=xterm
case $(tput colors) in
256)
EYES="$(tput setaf 240)" # A nice gray
SPOTS="$(tput setaf 15)" # Bright white
TRUNK="$(tput setaf 130)" # Brown-ish orange
LEAVES="$(tput setaf 22)" # Dark green
CLEAR="$(tput sgr0)"
;;
16)
EYES="$(tput setaf 8)" # Gray
SPOTS="$(tput setaf 15)" # Bright white
TRUNK="$(tput setaf 3)" # Dark yellow
LEAVES="$(tput setaf 10)" # Bright green
CLEAR="$(tput sgr0)"
;;
8)
EYES="$(tput setaf 7)" # White
SPOTS="$(tput setaf 7)" # White
TRUNK="$(tput setaf 3)" # Yellow
LEAVES="$(tput setaf 2)" # Green
CLEAR="$(tput sgr0)"
;;
esac
fi
if [[ "$EUID" != 0 ]]
then
# Non-root
echo "It's a weird tree."
else
# Root!
cat <<-EOF
${LEAVES} _ ${TRUNK}__
${LEAVES} / \`\\ ${TRUNK}(~._ ./ )
${LEAVES} \__/ __${TRUNK}\`-_\\__/ ./
${LEAVES} _ ${TRUNK}\\ \\${LEAVES}/ \\ ${TRUNK}\\ |_ ${LEAVES}__
${LEAVES}( ) \\__/ ${TRUNK}-^ \\ ${LEAVES}/ \\
${LEAVES} \\_/ ${TRUNK}" \\ | ${EYES}o o ${TRUNK}|${LEAVES}.. / __
${TRUNK} \\. --' ${SPOTS}==== ${TRUNK}/ || ${LEAVES}/ \\
${TRUNK} \\ ${SPOTS}. . ${TRUNK}|---${LEAVES}__${TRUNK}.${LEAVES}\\__/
${TRUNK} / ${SPOTS}: ${TRUNK}/ ${LEAVES}| |
${TRUNK} / ${SPOTS}: ${TRUNK}/ ${LEAVES}\\_/
${TRUNK} --/ ${SPOTS}:: ${TRUNK}(
${TRUNK} ( | ( (____
${TRUNK} .-- .. ----**.____)
${TRUNK} \\___/$CLEAR
EOF
fi

View File

@ -1,6 +0,0 @@
#!/bin/sh
from="$1"
to="$2"
convert "$from" -colorspace RGB -fill "$(xrq '*.color8')" -opaque black -fill "$(xrq '*.background')" -opaque white "$to"

132
bin/zalgo
View File

@ -1,132 +0,0 @@
#!/usr/bin/env python3
# For Python 3
######################################################################
################### Read from stdin and Zalgo-ify ####################
############# By MetroWind <chris.corsair {AT} gmail> ################
######################################################################
import sys, os
# Characters taken from http://str.blogsite.org/Zalgo.htm.
CHAR_UP = ['\u030D', '\u030E', '\u0304', '\u0305', '\u033F',
'\u0311', '\u0306', '\u0310', '\u0352', '\u0357',
'\u0351', '\u0307', '\u0308', '\u030A', '\u0342',
'\u0343', '\u0344', '\u034A', '\u034B', '\u034C',
'\u0303', '\u0302', '\u030C', '\u0350', '\u0300',
'\u0301', '\u030B', '\u030F', '\u0312', '\u0313',
'\u0314', '\u033D', '\u0309', '\u0363', '\u0364',
'\u0365', '\u0366', '\u0367', '\u0368', '\u0369',
'\u036A', '\u036B', '\u036C', '\u036D', '\u036E',
'\u036F', '\u033E', '\u035B', '\u0346', '\u031A']
CHAR_MID = ['\u0315', '\u031B', '\u0340', '\u0341', '\u0358',
'\u0321', '\u0322', '\u0327', '\u0328', '\u0334',
'\u0335', '\u0336', '\u034F', '\u035C', '\u035D',
'\u035E', '\u035F', '\u0360', '\u0362', '\u0338',
'\u0337', '\u0361', '\u0489']
CHAR_DOWN = ['\u0316', '\u0317', '\u0318', '\u0319', '\u031C',
'\u031D', '\u031E', '\u031F', '\u0320', '\u0324',
'\u0325', '\u0326', '\u0329', '\u032A', '\u032B',
'\u032C', '\u032D', '\u032E', '\u032F', '\u0330',
'\u0331', '\u0332', '\u0333', '\u0339', '\u033A',
'\u033B', '\u033C', '\u0345', '\u0347', '\u0348',
'\u0349', '\u034D', '\u034E', '\u0353', '\u0354',
'\u0355', '\u0356', '\u0359', '\u035A', '\u0323']
ZALGO_POS = ("up", "mid", "down")
ZALGO_CHARS = {"up": CHAR_UP, "mid": CHAR_MID, "down": CHAR_DOWN}
import random
random.seed()
def randStr(charset, count, allow_repeat=True, return_list=True):
"""Randomly chooses a subset with `count' number of characters
from `charset', and returns the resulting string. If
`allow_repeat' is False, a permutation is chosen. If
`return_list' is True, a list of chars is returned, otherwise a
string is returned.
"""
Result = list()
if allow_repeat:
for i in range(count):
Result.append(random.choice(charset))
else:
Result = random.sample(charset, count)
random.shuffle(Result)
if return_list:
return Result
else:
return ''.join(Result)
def zalgo(orig_str, intensities, excludes=(' '), rand_intensity=True,
allow_repeat=True):
"""Zalgo-ify `orig_str'. `Intensityies' is a dict in the form of
{\"up\": intense_up, \"mid\": intense_mid, \"down\":
intense_down}. \"Intense_up\" denotes the intensity of the
up-going zalgo chars, etc. If `rand_intensity' is False,
\"intense_up\" number of up-going zalgo chars are used, etc. If
`rand_intensity' is True, a random number (but less than
\"intense_up\") of up-going zalgo chars are used, etc. If
`allow_repeat' is True, repeating zalgo chars on one char in
`orig_str' is possible. Characters in `excludes' will not be
zalgo-ified.
"""
Result = []
for OrigChar in orig_str:
if OrigChar in excludes:
Result.append(OrigChar)
else:
ZalgoCounts = {"up": 0, "down": 0, "mid": 0}
for pos in ZALGO_POS:
if rand_intensity:
ZalgoCounts[pos] = random.randint(0, intensities[pos])
else:
ZalgoCounts[pos] = intensities[pos]
Result.append(OrigChar)
for pos in ZALGO_POS:
Result += randStr(ZALGO_CHARS[pos], ZalgoCounts[pos], allow_repeat)
return ''.join(Result)
def main():
Usage = "Usage: %prog [options]"
import optparse
OptParser = optparse.OptionParser(usage=Usage)
OptParser.add_option("-u", "--up-intensity", dest="IntenseUp", default=2,
type="int", metavar="NUM",
help="The number of Zalgo characters to put above"
"the original character. Default: %default")
OptParser.add_option("-m", "--mid-intensity", dest="IntenseMid", default=1,
type="int", metavar="NUM",
help="The number of Zalgo characters to put at"
"the original character. Default: %default")
OptParser.add_option("-d", "--down-intensity", dest="IntenseDown", default=5,
type="int", metavar="NUM",
help="The number of Zalgo characters to put below"
"the original character. Default: %default")
OptParser.add_option("-f", "--fix-intensity", dest="Random",
default=True, action="store_false",
help="Dont randomize the intensity.")
OptParser.add_option("-e", "--excludes", dest="Excludes",
default=' ', metavar="STR",
help="Dont Zalgo-ify characters in STR. "
"Default: \"%default\"")
(Opts, Args) = OptParser.parse_args()
Intense = {"up": Opts.IntenseUp, "mid": Opts.IntenseMid,
"down": Opts.IntenseDown}
for Line in sys.stdin:
print(zalgo(Line, Intense, tuple(Opts.Excludes), Opts.Random))
return 0
if __name__ == "__main__":
sys.exit(main())

View File

@ -1,134 +0,0 @@
#!/bin/sh
export LC_ALL=C
# ██ ████
# ░░ ░██░
# ██████ ██ ██ ██████ ██ ███████ ██████ ██████
# ██░░░░ ░░██ ██ ██░░░░ ░██░░██░░░██░░░██░ ██░░░░██
# ░░█████ ░░███ ░░█████ ░██ ░██ ░██ ░██ ░██ ░██
# ░░░░░██ ░██ ░░░░░██░██ ░██ ░██ ░██ ░██ ░██
# ██████ ██ ██████ ░██ ███ ░██ ░██ ░░██████
# ░░░░░░ ██ ░░░░░░ ░░ ░░░ ░░ ░░ ░░░░░░
# ░░
#
# ▓▓▓▓▓▓▓▓▓▓
# ░▓ author ▓ xero <x@xero.nu>
# ░▓ mod ▓ tudurom <tudor@tudorr.xyz>
# ░▓ code ▓ http://code.xero.nu/dotfiles
# ░▓ mirror ▓ http://git.io/.files
# ░▓▓▓▓▓▓▓▓▓▓
# ░░░░░░░░░░
#
#█▓▒░ vars
#FULL=▓
#EMPTY=░
#FULL=━
#EMPTY=━
#EMPTY=─
FULL=┅
EMPTY=┄
name=$USER
host=`hostname`
battery="/sys/class/power_supply/BAT0"
distro="arch linux"
kernel=`uname -r`
pkgs=`pacman -Qqs | wc -l`
colors="street"
# font="$(xrq 'URxvt.font')"
# fontsize=""
# case "$font" in
# xft:*)
# fontsize="$(echo "$font" | awk -F'[:=]' \
# '{for(i=1;i<=NF;i++) if ($i == "pixelsize") print $(i+1)}')"
# font="$(echo "$font" | cut -d':' -f2)"
# ;;
# *)
# fontsize="$(echo "$font" | cut -d'-' -f8)"
# font="$(echo "$font" | cut -d'-' -f3)"
# ;;
#esac
font="Iosevka"
fontsize="14"
wm="Openbox"
#█▓▒░ progress bar
draw()
{
perc=$1
size=$2
inc=$(( perc * size / 100 ))
out=
if [ -z $3 ]
then
color="36"
else
color="$3"
fi
for v in `seq 0 $(( size - 1 ))`; do
test "$v" -le "$inc" \
&& out="${out}\e[1;${color}m${FULL}" \
|| out="${out}\e[0;${color}m${EMPTY}"
done
printf $out
}
#█▓▒░ colors
printf "\n"
i=0
while [ $i -le 6 ]
do
printf "\e[$((i+41))m\e[$((i+30))m█▓▒░"
i=$(($i+1))
done
printf "\e[37m█\e[0m▒░\n\n"
#█▓▒░ greets
printf " \e[0m hello \e[36m$name\033[0m, i'm \e[34m$host\n"
printf " \e[0m\n"
#█▓▒░ environment
printf " \e[1;33m distro \e[0m$distro\n"
printf " \e[1;33m kernel \e[0m$kernel\n"
printf " \e[1;33m packages \e[0m$pkgs\n"
printf " \e[1;33m wm \e[0m$wm\n"
printf " \e[1;33m font \e[0m$font $fontsize\n"
printf " \e[1;33m colors \e[0m$colors\n"
printf " \e[0m\n"
#█▓▒░ cpu
cpu=$(grep 'cpu ' /proc/stat | awk '{usage=($2+$4)*100/($2+$4+$5)} END {print usage}')
c_lvl=`printf "%.0f" $cpu`
printf " \e[0;36m%-4s \e[1;36m%-5s %-25s \n" " cpu" "$c_lvl%" `draw $c_lvl 15`
#█▓▒░ ram
ram=`free | awk '/Mem:/ {print int($3/$2 * 100.0)}'`
printf " \e[0;36m%-4s \e[1;36m%-5s %-25s \n" " ram" "$ram%" `draw $ram 15`
#█▓▒░ battery
if [ -f "$battery" ]; then
b_full=$battery/charge_full
charge=`cat $battery/capacity`
case 1 in
$(($charge <= 15)))
color='31'
;;
*)
color='36'
;;
esac
printf " \e[0;${color}m%-4s \e[1;${color}m%-5s %-25s \n" " bat" "$charge%" `draw $charge 15 $color`
fi
#█▓▒░ volume
vol=`amixer -D pulse get Master | awk '$0~/%/{print $5}' | tr -d '[]%' | head -n 1`
if amixer -D pulse get Master | grep -q '\[off\]'
then
color='31'
else
color='36'
fi
printf " \e[0;${color}m%-4s \e[1;${color}m%-5s %-25s \n" " vol" "$vol%" `draw $vol 15 $color`

View File

@ -1,13 +0,0 @@
# WARN: this file will get overwritten by $ cachix use <name>
{ pkgs, lib, ... }:
let
folder = ./cachix;
toImport = name: value: folder + ("/" + name);
filterCaches = key: value: value == "regular" && lib.hasSuffix ".nix" key;
imports = lib.mapAttrsToList toImport (lib.filterAttrs filterCaches (builtins.readDir folder));
in {
inherit imports;
nix.binaryCaches = ["https://cache.nixos.org/"];
}

View File

@ -1,11 +0,0 @@
{
nix = {
binaryCaches = [
"https://nix-community.cachix.org"
];
binaryCachePublicKeys = [
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
];
};
}

View File

@ -1 +0,0 @@
private.el

View File

@ -1,70 +0,0 @@
;;; $DOOMDIR/config.el -*- lexical-binding: t; -*-
;; Place your private configuration here! Remember, you do not need to run 'doom
;; refresh' after modifying this file!
(load-file "~/.doom.d/private.el")
;; These are used for a number of things, particularly for GPG configuration,
;; some email clients, file templates and snippets.
(setq user-full-name "Tudor-Ioan Roman"
user-mail-address "tudor@tudorr.ro")
;; Doom exposes five (optional) variables for controlling fonts in Doom. Here
;; are the three important ones:
;;
;; + `doom-font'
;; + `doom-variable-pitch-font'
;; + `doom-big-font' -- used for `doom-big-font-mode'
;;
;; They all accept either a font-spec, font string ("Input Mono-12"), or xlfd
;; font string. You generally only need these two:
(setq doom-font (font-spec :family "Go Mono" :size 18))
;; There are two ways to load a theme. Both assume the theme is installed and
;; available. You can either set `doom-theme' or manually load a theme with the
;; `load-theme' function. These are the defaults.
;; (setq doom-theme 'doom-one)
(setq doom-theme 'gruvbox-light-medium)
;; If you intend to use org, it is recommended you change this!
(setq org-directory "~/usr/org/")
;; If you want to change the style of line numbers, change this to `relative' or
;; `nil' to disable it:
(setq display-line-numbers-type t)
(set-frame-parameter nil 'internal-border-width 10)
;; Here are some additional functions/macros that could help you configure Doom:
;;
;; - `load!' for loading external *.el files relative to this one
;; - `use-package' for configuring packages
;; - `after!' for running code after a package has loaded
;; - `add-load-path!' for adding directories to the `load-path', where Emacs
;; looks when you load packages with `require' or `use-package'.
;; - `map!' for binding new keys
;;
;; To get information about any of these functions/macros, move the cursor over
;; the highlighted symbol at press 'K' (non-evil users must press 'C-c g k').
;; This will open documentation for it, including demos of how they are used.
;;
;; You can also try 'gd' (or 'C-c g d') to jump to their definition and see how
;; they are implemented.
(setq mode-require-final-newline 't)
(setq initial-frame-alist '((width . 102)
(height . 40)))
(setq meson-indent-basic 4)
(after! cc
(add-hook 'c-mode-hook (lambda () (setq-default c-basic-offset 4
tab-width 4
c-default-style "k&r"))))
(add-hook 'before-save-hook 'delete-trailing-whitespace)
(setq ispell-dictionary "en")
(setq langtool-default-language "en")
(setq langtool-mother-tongue "ro")

View File

@ -1,186 +0,0 @@
;;; init.el -*- lexical-binding: t; -*-
;; This file controls what Doom modules are enabled and what order they load in.
;; Remember to run 'doom sync' after modifying it!
;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's
;; documentation. There you'll find information about all of Doom's modules
;; and what flags they support.
;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or
;; 'C-c g k' for non-vim users) to view its documentation. This works on
;; flags as well (those symbols that start with a plus).
;;
;; Alternatively, press 'gd' (or 'C-c g d') on a module to browse its
;; directory (for easy access to its source code).
(doom! :input
;;chinese
;;japanese
:completion
company ; the ultimate code completion backend
;;helm ; the *other* search engine for love and life
;;ido ; the other *other* search engine...
ivy ; a search engine for love and life
:ui
;;deft ; notational velocity for Emacs
doom ; what makes DOOM look the way it does
doom-dashboard ; a nifty splash screen for Emacs
doom-quit ; DOOM quit-message prompts when you quit Emacs
;;fill-column ; a `fill-column' indicator
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
;;hydra
indent-guides ; highlighted indent columns
modeline ; snazzy, Atom-inspired modeline, plus API
nav-flash ; blink the current line after jumping
;;neotree ; a project drawer, like NERDTree for vim
ophints ; highlight the region an operation acts on
(popup ; tame sudden yet inevitable temporary windows
+all ; catch all popups that start with an asterix
+defaults) ; default popup rules
;;pretty-code ; replace bits of code with pretty symbols
;;tabs ; an tab bar for Emacs
treemacs ; a project drawer, like neotree but cooler
unicode ; extended unicode support for various languages
vc-gutter ; vcs diff in the fringe
vi-tilde-fringe ; fringe tildes to mark beyond EOB
window-select ; visually switch windows
workspaces ; tab emulation, persistence & separate workspaces
zen ; distraction-free coding or writing
:editor
(evil +everywhere); come to the dark side, we have cookies
file-templates ; auto-snippets for empty files
fold ; (nigh) universal code folding
format ; automated prettiness
;;god ; run Emacs commands without modifier keys
;;lispy ; vim for lisp, for people who don't like vim
multiple-cursors ; editing in many places at once
;;objed ; text object editing for the innocent
;;parinfer ; turn lisp into python, sort of
rotate-text ; cycle region at point between text candidates
snippets ; my elves. They type so I don't have to
;;word-wrap ; soft wrapping with language-aware indent
:emacs
dired ; making dired pretty [functional]
electric ; smarter, keyword-based electric-indent
ibuffer ; interactive buffer management
vc ; version-control and Emacs, sitting in a tree
:term
;;eshell ; a consistent, cross-platform shell (WIP)
;;shell ; a terminal REPL for Emacs
;;term ; terminals in Emacs
vterm ; another terminals in Emacs
:checkers
syntax ; tasing you for every semicolon you forget
(spell +flyspell) ; tasing you for misspelling mispelling
grammar ; tasing grammar mistake every you make
:tools
;;ansible
;;debugger ; FIXME stepping through code, to help you add bugs
direnv
;;docker
editorconfig ; let someone else argue about tabs vs spaces
;;ein ; tame Jupyter notebooks with emacs
(eval +overlay) ; run code, run (also, repls)
;;gist ; interacting with github gists
(lookup ; helps you navigate your code and documentation
+docsets) ; ...or in Dash docsets locally
(lsp
+peek)
;;macos ; MacOS-specific commands
magit ; a git porcelain for Emacs
make ; run make tasks from Emacs
;;pass ; password manager for nerds
pdf ; pdf enhancements
;;prodigy ; FIXME managing external services & code builders
;;rgb ; creating color strings
;;terraform ; infrastructure as code
;;tmux ; an API for interacting with tmux
;;upload ; map local to remote projects via ssh/ftp
:lang
;;agda ; types of types of types of types...
;;assembly ; assembly for fun or debugging
(cc ; C/C++/Obj-C madness
+lsp)
;;clojure ; java with a lisp
;;common-lisp ; if you've seen one lisp, you've seen them all
;;coq ; proofs-as-programs
;;crystal ; ruby at the speed of c
;;csharp ; unity, .NET, and mono shenanigans
data ; config/data formats
elixir ; erlang done right
;;elm ; care for a cup of TEA?
emacs-lisp ; drown in parentheses
;;erlang ; an elegant language for a more civilized age
;;ess ; emacs speaks statistics
;;faust ; dsp, but you get to keep your soul
;;fsharp ; ML stands for Microsoft's Language
(go ; the hipster dialect
+lsp)
;;(haskell +dante) ; a language that's lazier than I am
;;hy ; readability of scheme w/ speed of python
;;idris ;
;;(java +meghanada) ; the poster child for carpal tunnel syndrome
javascript ; all(hope(abandon(ye(who(enter(here))))))
;;julia ; a better, faster MATLAB
;;kotlin ; a better, slicker Java(Script)
latex ; writing papers in Emacs has never been so fun
;;lean
;;factor
;;ledger ; an accounting system in Emacs
;;lua ; one-based indices? one-based indices
markdown ; writing docs for people to ignore
;;nim ; python + lisp at the speed of c
nix ; I hereby declare "nix geht mehr!"
;;ocaml ; an objective camel
(org ; organize your plain life in plain text
+dragndrop ; drag & drop files/images into org buffers
;; ;;+hugo ; use Emacs for hugo blogging
;; ;;+jupyter ; ipython/jupyter support for babel
+pandoc ; export-with-pandoc support
;; ;;+pomodoro ; be fruitful with the tomato technique
+pretty)
;; +roam
;; +present) ; using org-mode for presentations
;;perl ; write code no one else can comprehend
;;php ; perl's insecure younger brother
;;plantuml ; diagrams for confusing people more
;;purescript ; javascript, but functional
python ; beautiful is better than ugly
;;qt ; the 'cutest' gui framework ever
;;racket ; a DSL for DSLs
;;rest ; Emacs as a REST client
;;rst ; ReST in peace
;;ruby ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
rust ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
;;scala ; java, but good
;;scheme ; a fully conniving family of lisps
(sh ; she sells {ba,z,fi}sh shells on the C xor
+fish)
;;solidity ; do you need a blockchain? No.
;;swift ; who asked for emoji variables?
;;terra ; Earth and Moon in alignment for performance.
;;web ; the tubes
:email
;;(mu4e +gmail)
;;notmuch
;;(wanderlust +gmail)
:app
;;calendar
irc ; how neckbeards socialize
;;(rss +org) ; emacs as an RSS reader
;;twitter ; twitter client https://twitter.com/vnought
:config
;;literate
(default +bindings +smartparens))

View File

@ -1,55 +0,0 @@
;; -*- no-byte-compile: t; -*-
;;; $DOOMDIR/packages.el
;; This is where you install packages, by declaring them with the `package!'
;; macro, then running 'doom refresh' on the command line. You'll need to
;; restart Emacs for your changes to take effect! Or at least, run M-x
;; `doom/reload'.
;;
;; WARNING: Don't disable core packages listed in ~/.emacs.d/core/packages.el.
;; Doom requires these, and disabling them may have terrible side effects.
;;
;; Here are a couple examples:
;; All of Doom's packages are pinned to a specific commit, and updated from
;; release to release. To un-pin all packages and live on the edge, do:
;(setq doom-pinned-packages nil)
;; ...but to unpin a single package:
;(package! pinned-package :pin nil)
;; To install SOME-PACKAGE from MELPA, ELPA or emacsmirror:
;(package! some-package)
;; To install a package directly from a particular repo, you'll need to specify
;; a `:recipe'. You'll find documentation on what `:recipe' accepts here:
;; https://github.com/raxod502/straight.el#the-recipe-format
;(package! another-package
; :recipe (:host github :repo "username/repo"))
;; If the package you are trying to install does not contain a PACKAGENAME.el
;; file, or is located in a subdirectory of the repo, you'll need to specify
;; `:files' in the `:recipe':
;(package! this-package
; :recipe (:host github :repo "username/repo"
; :files ("some-file.el" "src/lisp/*.el")))
;; If you'd like to disable a package included with Doom, for whatever reason,
;; you can do so here with the `:disable' property:
;(package! builtin-package :disable t)
;; You can override the recipe of a built in package without having to specify
;; all the properties for `:recipe'. These will inherit the rest of its recipe
;; from Doom or MELPA/ELPA/Emacsmirror:
;(package! builtin-package :recipe (:nonrecursive t))
;(package! builtin-package-2 :recipe (:repo "myfork/package"))
;; Specify a `:branch' to install a package from a particular branch or tag.
;; This is required for some packages whose default branch isn't 'master' (which
;; our package manager can't deal with; see raxod502/straight.el#279)
;(package! builtin-package :recipe (:branch "develop"))
(package! gruvbox-theme)
(package! meson-mode)
(package! pdf-tools :built-in 'prefer)

View File

@ -1,91 +0,0 @@
{ options, config, lib, pkgs, ... }:
let
cfg = config.tudor;
cfgEraseRoot = config.tudor.system.eraseRoot;
in
with lib; {
imports = [
./modules
./cachix.nix
];
options = {
tudor.username = mkOption {
type = types.str;
default = "tudor";
};
};
config = {
nix = {
package = pkgs.nixUnstable;
autoOptimiseStore = true;
gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 10d";
};
trustedUsers = [ "tudor" ];
extraOptions = ''
experimental-features = nix-command flakes
'';
};
boot.kernelPackages = pkgs.linuxPackages_latest;
console = {
font = "Lat2-Terminus16";
keyMap = "us";
};
#nixpkgs.overlays = import ./packages;
#nixpkgs.config.allowUnfree = true;
environment.systemPackages = with pkgs; [
bind
binutils
coreutils
fd
file
gnumake
gnupg
inetutils
neovim
ripgrep
sd
tmux
tree
unzip
wget
zip
man-pages
];
documentation.man.generateCaches = true;
documentation.dev.enable = true;
users.mutableUsers = false;
users.users.root.hashedPassword = "";
users.users.${cfg.username} = {
isNormalUser = true;
extraGroups = [ "wheel" "scanner" "lp" ];
uid = 1000;
passwordFile = if cfgEraseRoot.enable then
"/persist/passwds/.${cfg.username}.passwd"
else
"/root/passwds/.${cfg.username}.passwd"; # root partition is needed for boot then
home = "/home/${cfg.username}";
shell = pkgs.fish;
};
# quick boot
systemd.services.NetworkManager-wait-online.enable = false;
home-manager.useUserPackages = true;
home-manager.useGlobalPkgs = true;
home-manager.users.${cfg.username} = lib.mkAliasDefinitions options.tudor.home;
system.stateVersion = "20.03";
};
}

13
default.nix Normal file
View File

@ -0,0 +1,13 @@
(import
(
let
lock = builtins.fromJSON (builtins.readFile ./flake.lock);
in
fetchTarball {
url = "https://github.com/edolstra/flake-compat/archive/${lock.nodes.flake-compat.locked.rev}.tar.gz";
sha256 = lock.nodes.flake-compat.locked.narHash;
}
)
{
src = ./.;
}).defaultNix

View File

@ -2,9 +2,7 @@
"nodes": {
"blog": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"nixpkgs": "nixpkgs",
"utils": "utils"
},
"locked": {
@ -21,40 +19,17 @@
"type": "github"
}
},
"bw-git-helper": {
"co-work": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"nixpkgs": "nixpkgs_2",
"utils": "utils_2"
},
"locked": {
"lastModified": 1642875478,
"narHash": "sha256-1gagkhQAaDoBT58ylMqfYhqqA9xNJTtixLD0mk/Fx7c=",
"owner": "tudurom",
"repo": "bw-git-helper",
"rev": "3ff543fa254786d4b120dc0eb53ce443a568639f",
"type": "github"
},
"original": {
"owner": "tudurom",
"repo": "bw-git-helper",
"type": "github"
}
},
"co": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"utils": "utils_3"
},
"locked": {
"lastModified": 1648128699,
"narHash": "sha256-QzjEMrBrJHtLDsqgt0tq6PQC1g59Oq69OeSnv36bjqU=",
"ref": "master",
"rev": "72d867032f943f2465391d378ffe59935ce12d1f",
"revCount": 27,
"lastModified": 1653679518,
"narHash": "sha256-DWrxMilNdFHWJxvIVaM+49eAuld91BRfcVC6TCHeL2I=",
"ref": "refs/heads/master",
"rev": "158ffbd94baae1796273a36dbb3bbcd190cb5757",
"revCount": 28,
"type": "git",
"url": "ssh://git@github.com/tudurom/co-work.git"
},
@ -64,22 +39,41 @@
}
},
"emacs-overlay": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1643800072,
"narHash": "sha256-E6DpQwVbXgAzqTCNaChCfVPQddo++LOh/SB7qnAs4z4=",
"lastModified": 1669463559,
"narHash": "sha256-aemo1lyq+vi3R0+gaCJvja9LIm/OZ3nsPKvPLrjMuVw=",
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "5a501bb198eb96a327cdd3275608305d767e489d",
"rev": "3d5e5cfa91ed10d39e0504387242750996e8b027",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "5a501bb198eb96a327cdd3275608305d767e489d",
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1668681692,
"narHash": "sha256-Ht91NGdewz8IQLtWZ9LCeNXMSXHUss+9COoqu6JLmXU=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "009399224d5e398d03b22badca40a37ac85412a1",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1650374568,
@ -97,11 +91,11 @@
},
"flake-utils": {
"locked": {
"lastModified": 1653893745,
"narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=",
"lastModified": 1667395993,
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1",
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
"type": "github"
},
"original": {
@ -112,11 +106,11 @@
},
"flake-utils_2": {
"locked": {
"lastModified": 1644229661,
"narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=",
"lastModified": 1667395993,
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797",
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
"type": "github"
},
"original": {
@ -132,70 +126,50 @@
]
},
"locked": {
"lastModified": 1655880690,
"narHash": "sha256-pO+EqUefNFolIWV1DHXPfI8NuUtD4fd7JFKoaCjVXOs=",
"owner": "nix-community",
"lastModified": 1667907331,
"narHash": "sha256-bHkAwkYlBjkupPUFcQjimNS8gxWSWjOTevEuwdnp5m0=",
"owner": "rycee",
"repo": "home-manager",
"rev": "a839432a5c3d2a762d68168093349097e6affb07",
"rev": "6639e3a837fc5deb6f99554072789724997bc8e5",
"type": "github"
},
"original": {
"owner": "nix-community",
"owner": "rycee",
"ref": "release-22.05",
"repo": "home-manager",
"type": "github"
}
},
"nix-ld": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"utils": "utils_4"
},
"locked": {
"lastModified": 1649665804,
"narHash": "sha256-g475am1T55nDIU5GqkmkATdw+qxLyIMsNN0Sk/PbOoE=",
"owner": "Mic92",
"repo": "nix-ld",
"rev": "e528b353e78bde92a9fa8d0fe30ea65b6ea29e77",
"type": "github"
},
"original": {
"owner": "Mic92",
"repo": "nix-ld",
"type": "github"
}
},
"nixos-hardware": {
"locked": {
"lastModified": 1650522846,
"narHash": "sha256-SxWHXRI3qJwswyXAtzsi6PKVY3KLNNnb072KaJthII8=",
"owner": "nixos",
"lastModified": 1669146234,
"narHash": "sha256-HEby7EG1yaq1oT2Ze6Cvok9CFju1XHkSvVHmkptLW9U=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "6b4ebea9093c997c5f275c820e679108de4871ab",
"rev": "0099253ad0b5283f06ffe31cf010af3f9ad7837d",
"type": "github"
},
"original": {
"owner": "nixos",
"owner": "NixOS",
"ref": "master",
"repo": "nixos-hardware",
"type": "github"
}
},
"nixos-wsl": {
"inputs": {
"flake-compat": "flake-compat",
"flake-utils": "flake-utils",
"flake-compat": "flake-compat_2",
"flake-utils": "flake-utils_2",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1655723343,
"narHash": "sha256-J95qdF7m30dEioJZE8fsmaOusqIp57SMJyG4U/ZKfJk=",
"lastModified": 1669401906,
"narHash": "sha256-/JlxSyN8pX4jLxJeY3HNolAwA227nfSCb3yts1uVpgo=",
"owner": "nix-community",
"repo": "NixOS-WSL",
"rev": "e178b6df72d79324a8446cd175d9d091223585ae",
"rev": "de5dd8238b591f2d39198ad036b85642bf828a29",
"type": "github"
},
"original": {
@ -206,11 +180,57 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1656007306,
"narHash": "sha256-MsC44YZ6wuBwn5Bu8T+RVoQWlp2l5BR6hhmNoAAHIEw=",
"lastModified": 1642707142,
"narHash": "sha256-BzH6xhnkn52yF4+A8C8slWFQRMInS5VYlzrH/rN1bnA=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "ccf8bdf72624521358be6bb7d9b524c4cbcf7aff",
"rev": "6f07605b6916abee5435ea1145a7541299a87c1b",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-21.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1645563607,
"narHash": "sha256-5eeld8IXF8c9HsdFTpppiZ398PRqyWCfIXTBpzaZwjc=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "c99d2a0b6e3807f5c5ddcfc136398be3ab950bac",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-21.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1669443273,
"narHash": "sha256-/Ow9P6dWfkQF/9NKD7+OnMnz5DJr2pVCAUMjU9SwFoo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "6b86759692b80e2b563e7f6c608f753de4aad3a7",
"type": "github"
},
"original": {
"id": "nixpkgs",
"type": "indirect"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1669378442,
"narHash": "sha256-nm+4PN0A4SnV0SzEchxrMyKPvI3Ld/aoom4PnHeHucs=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "0faaf0a9bb6dedb69bfd43ac06fb27fadc476c51",
"type": "github"
},
"original": {
@ -220,23 +240,23 @@
"type": "github"
}
},
"nixpkgs-unstable": {
"nixpkgs_5": {
"locked": {
"lastModified": 1650937716,
"narHash": "sha256-3Tuspfl36JKnQekMVII3kiL2afj+ngPY2iPVN3zeReU=",
"lastModified": 1642707142,
"narHash": "sha256-BzH6xhnkn52yF4+A8C8slWFQRMInS5VYlzrH/rN1bnA=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "293a5455f31039a590cca0b844d134736fedae46",
"rev": "6f07605b6916abee5435ea1145a7541299a87c1b",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixpkgs-unstable",
"ref": "nixos-21.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"nixpkgs_6": {
"locked": {
"lastModified": 1642707142,
"narHash": "sha256-BzH6xhnkn52yF4+A8C8slWFQRMInS5VYlzrH/rN1bnA=",
@ -254,8 +274,8 @@
},
"orator": {
"inputs": {
"nixpkgs": "nixpkgs_2",
"utils": "utils_5"
"nixpkgs": "nixpkgs_6",
"utils": "utils_3"
},
"locked": {
"lastModified": 1642864580,
@ -274,26 +294,21 @@
"root": {
"inputs": {
"blog": "blog",
"bw-git-helper": "bw-git-helper",
"co": "co",
"co-work": "co-work",
"emacs-overlay": "emacs-overlay",
"flake-compat": "flake-compat",
"home-manager": "home-manager",
"nix-ld": "nix-ld",
"nixos-hardware": "nixos-hardware",
"nixos-wsl": "nixos-wsl",
"nixpkgs": "nixpkgs",
"nixpkgs-unstable": "nixpkgs-unstable",
"site": "site",
"utils": "utils_7"
"nixpkgs": "nixpkgs_4",
"site": "site"
}
},
"site": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"nixpkgs": "nixpkgs_5",
"orator": "orator",
"utils": "utils_6"
"utils": "utils_4"
},
"locked": {
"lastModified": 1643801166,
@ -311,11 +326,11 @@
},
"utils": {
"locked": {
"lastModified": 1659877975,
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
"lastModified": 1642700792,
"narHash": "sha256-XqHrk7hFb+zBvRg6Ghl+AZDq03ov6OshJLiSWOoX5es=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
"rev": "846b2ae0fc4cc943637d3d1def4454213e203cba",
"type": "github"
},
"original": {
@ -326,11 +341,11 @@
},
"utils_2": {
"locked": {
"lastModified": 1659877975,
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
"lastModified": 1644229661,
"narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
"rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797",
"type": "github"
},
"original": {
@ -340,36 +355,6 @@
}
},
"utils_3": {
"locked": {
"lastModified": 1659877975,
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"utils_4": {
"locked": {
"lastModified": 1610051610,
"narHash": "sha256-U9rPz/usA1/Aohhk7Cmc2gBrEEKRzcW4nwPWMPwja4Y=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "3982c9903e93927c2164caa727cd3f6a0e6d14cc",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"utils_5": {
"locked": {
"lastModified": 1642700792,
"narHash": "sha256-XqHrk7hFb+zBvRg6Ghl+AZDq03ov6OshJLiSWOoX5es=",
@ -384,13 +369,13 @@
"type": "github"
}
},
"utils_6": {
"utils_4": {
"locked": {
"lastModified": 1659877975,
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
"lastModified": 1642700792,
"narHash": "sha256-XqHrk7hFb+zBvRg6Ghl+AZDq03ov6OshJLiSWOoX5es=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
"rev": "846b2ae0fc4cc943637d3d1def4454213e203cba",
"type": "github"
},
"original": {
@ -398,24 +383,6 @@
"repo": "flake-utils",
"type": "github"
}
},
"utils_7": {
"inputs": {
"flake-utils": "flake-utils_2"
},
"locked": {
"lastModified": 1647259887,
"narHash": "sha256-yEkMbEHVO9qydluQ3uHGWX1PkfZhgDKxnd1rhZYZ72w=",
"owner": "gytis-ivaskevicius",
"repo": "flake-utils-plus",
"rev": "06dba5f3b4fa2cc0bfc98ce9cd6f9a4d8db11d46",
"type": "github"
},
"original": {
"owner": "gytis-ivaskevicius",
"repo": "flake-utils-plus",
"type": "github"
}
}
},
"root": "root",

158
flake.nix
View File

@ -1,98 +1,96 @@
{
description = "My config";
inputs = {
nixpkgs.url = github:nixos/nixpkgs/nixos-22.05;
nixpkgs-unstable.url = github:nixos/nixpkgs/nixpkgs-unstable;
utils.url = github:gytis-ivaskevicius/flake-utils-plus;
nixpkgs.url = "github:nixos/nixpkgs/nixos-22.05";
home-manager = {
url = github:nix-community/home-manager/release-22.05;
url = "github:rycee/home-manager/release-22.05";
inputs.nixpkgs.follows = "nixpkgs";
};
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
emacs-overlay.url = "github:nix-community/emacs-overlay";
# nix-alien = {
# url = "github:thiagokokada/nix-alien";
# inputs.nixpkgs.follows = "nixpkgs";
# };
flake-compat = {
url = "github:edolstra/flake-compat";