Compare commits
15 Commits
e2e97ac31e
...
8b988dcd8c
Author | SHA1 | Date |
---|---|---|
Oystein Kristoffer Tveit | 8b988dcd8c | |
Oystein Kristoffer Tveit | 17f019cbc0 | |
Oystein Kristoffer Tveit | db82ee3419 | |
Oystein Kristoffer Tveit | b3e782d716 | |
Oystein Kristoffer Tveit | 40d5a8af88 | |
Oystein Kristoffer Tveit | 9115c0c5c2 | |
Oystein Kristoffer Tveit | 1d8c2752f5 | |
Oystein Kristoffer Tveit | 7500197568 | |
Oystein Kristoffer Tveit | 0ea394dbf9 | |
Oystein Kristoffer Tveit | f7030546a5 | |
Oystein Kristoffer Tveit | 7d80f6941f | |
Oystein Kristoffer Tveit | ea541f2f2b | |
Oystein Kristoffer Tveit | 7d7d0868ce | |
Oystein Kristoffer Tveit | d47f1102e6 | |
Oystein Kristoffer Tveit | bd1cbe53b9 |
11
flake.nix
11
flake.nix
|
@ -95,10 +95,19 @@
|
||||||
nonrecursive-unstable-pkgs = import nixpkgs-unstable {
|
nonrecursive-unstable-pkgs = import nixpkgs-unstable {
|
||||||
inherit system;
|
inherit system;
|
||||||
config.allowUnfree = true;
|
config.allowUnfree = true;
|
||||||
|
config.segger-jlink.acceptLicense = true;
|
||||||
|
config.permittedInsecurePackages = [
|
||||||
|
"segger-jlink-qt4-794s"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
in [
|
in [
|
||||||
(self: super: {
|
(self: super: {
|
||||||
inherit (nonrecursive-unstable-pkgs) atuin wstunnel;
|
inherit (nonrecursive-unstable-pkgs)
|
||||||
|
atuin
|
||||||
|
wstunnel
|
||||||
|
nrf-udev
|
||||||
|
nrfutil
|
||||||
|
;
|
||||||
})
|
})
|
||||||
|
|
||||||
(import ./overlays/wayland-ime-integration.nix)
|
(import ./overlays/wayland-ime-integration.nix)
|
||||||
|
|
|
@ -95,7 +95,7 @@ let
|
||||||
vscode = "code.desktop";
|
vscode = "code.desktop";
|
||||||
mpv = "mpv.desktop";
|
mpv = "mpv.desktop";
|
||||||
zathura = "org.pwmt.zathura.desktop";
|
zathura = "org.pwmt.zathura.desktop";
|
||||||
sxiv = "sxiv.desktop";
|
nsxiv = "nsxiv.desktop";
|
||||||
font-viewer = "org.gnome.font-viewer.desktop";
|
font-viewer = "org.gnome.font-viewer.desktop";
|
||||||
in {
|
in {
|
||||||
xdg.configFile."mimeapps.list".force = true;
|
xdg.configFile."mimeapps.list".force = true;
|
||||||
|
@ -104,7 +104,7 @@ in {
|
||||||
# associations.added = {};
|
# associations.added = {};
|
||||||
# associations.removed = {};
|
# associations.removed = {};
|
||||||
defaultApplications =
|
defaultApplications =
|
||||||
(lib.mapAttrs' (_: v: lib.nameValuePair v sxiv) mime.image)
|
(lib.mapAttrs' (_: v: lib.nameValuePair v nsxiv) mime.image)
|
||||||
// (lib.mapAttrs' (_: v: lib.nameValuePair v mpv) mime.audio)
|
// (lib.mapAttrs' (_: v: lib.nameValuePair v mpv) mime.audio)
|
||||||
// (lib.mapAttrs' (_: v: lib.nameValuePair v mpv) mime.video)
|
// (lib.mapAttrs' (_: v: lib.nameValuePair v mpv) mime.video)
|
||||||
// (lib.mapAttrs' (_: v: lib.nameValuePair v font-viewer) mime.font)
|
// (lib.mapAttrs' (_: v: lib.nameValuePair v font-viewer) mime.font)
|
||||||
|
|
|
@ -10,17 +10,21 @@ in {
|
||||||
|
|
||||||
./programs/aria2.nix
|
./programs/aria2.nix
|
||||||
./programs/atuin.nix
|
./programs/atuin.nix
|
||||||
|
./programs/beets.nix
|
||||||
./programs/comma.nix
|
./programs/comma.nix
|
||||||
./programs/direnv
|
./programs/direnv
|
||||||
./programs/gdb.nix
|
./programs/gdb.nix
|
||||||
./programs/gh.nix
|
./programs/gh.nix
|
||||||
|
./programs/gh-dash.nix
|
||||||
./programs/git
|
./programs/git
|
||||||
./programs/gpg
|
./programs/gpg
|
||||||
|
./programs/jq.nix
|
||||||
./programs/less.nix
|
./programs/less.nix
|
||||||
./programs/neovim
|
./programs/neovim
|
||||||
./programs/nix-index
|
./programs/nix-index
|
||||||
./programs/ssh
|
./programs/ssh
|
||||||
./programs/tealdeer
|
./programs/tealdeer
|
||||||
|
./programs/thunderbird.nix
|
||||||
./programs/tmux.nix
|
./programs/tmux.nix
|
||||||
./programs/zsh
|
./programs/zsh
|
||||||
|
|
||||||
|
@ -103,6 +107,13 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
xsession = {
|
||||||
|
enable = true;
|
||||||
|
# TODO: declare using xdg config home
|
||||||
|
scriptPath = ".config/X11/xsession";
|
||||||
|
profilePath = ".config/X11/xprofile";
|
||||||
|
};
|
||||||
|
|
||||||
xdg.configFile = {
|
xdg.configFile = {
|
||||||
"ghc/ghci.conf".text = ''
|
"ghc/ghci.conf".text = ''
|
||||||
:set prompt "${extendedLib.termColors.front.magenta "[GHCi]λ"} "
|
:set prompt "${extendedLib.termColors.front.magenta "[GHCi]λ"} "
|
||||||
|
@ -176,10 +187,7 @@ in {
|
||||||
|
|
||||||
qt = mkIf graphics {
|
qt = mkIf graphics {
|
||||||
enable = true;
|
enable = true;
|
||||||
platformTheme.name = "gtk";
|
platformTheme.name = "adwaita";
|
||||||
style = {
|
style.name = "adwaita-dark";
|
||||||
name = "adwaita-dark";
|
|
||||||
package = pkgs.adwaita-qt;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
{ pkgs, config, machineVars, ... }:
|
{ pkgs, config, machineVars, ... }:
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
beets
|
|
||||||
binutils
|
binutils
|
||||||
cloc
|
cloc
|
||||||
cyme
|
cyme
|
||||||
|
@ -12,7 +11,6 @@
|
||||||
duff
|
duff
|
||||||
ffmpeg
|
ffmpeg
|
||||||
file
|
file
|
||||||
gh-dash
|
|
||||||
glances
|
glances
|
||||||
gpg-tui
|
gpg-tui
|
||||||
gping
|
gping
|
||||||
|
@ -20,7 +18,6 @@
|
||||||
hexyl
|
hexyl
|
||||||
httpie
|
httpie
|
||||||
imagemagick
|
imagemagick
|
||||||
jq
|
|
||||||
kepubify
|
kepubify
|
||||||
# keybase
|
# keybase
|
||||||
keymapviz
|
keymapviz
|
||||||
|
@ -35,7 +32,6 @@
|
||||||
mtr
|
mtr
|
||||||
neofetch
|
neofetch
|
||||||
nix-diff
|
nix-diff
|
||||||
nix-index
|
|
||||||
nix-output-monitor
|
nix-output-monitor
|
||||||
nix-tree
|
nix-tree
|
||||||
nix-update
|
nix-update
|
||||||
|
@ -85,7 +81,6 @@
|
||||||
alsa-utils
|
alsa-utils
|
||||||
anki
|
anki
|
||||||
ark
|
ark
|
||||||
birdtray
|
|
||||||
calibre
|
calibre
|
||||||
cool-retro-term
|
cool-retro-term
|
||||||
darktable
|
darktable
|
||||||
|
@ -114,6 +109,7 @@
|
||||||
mopidy-youtube
|
mopidy-youtube
|
||||||
mpc_cli
|
mpc_cli
|
||||||
naps2
|
naps2
|
||||||
|
nsxiv
|
||||||
nyxt
|
nyxt
|
||||||
obsidian
|
obsidian
|
||||||
# pcloud
|
# pcloud
|
||||||
|
@ -124,11 +120,9 @@
|
||||||
slack
|
slack
|
||||||
# sublime3
|
# sublime3
|
||||||
# swiPrologWithGui
|
# swiPrologWithGui
|
||||||
sxiv
|
|
||||||
tagainijisho
|
tagainijisho
|
||||||
|
|
||||||
tenacity
|
tenacity
|
||||||
thunderbird
|
|
||||||
# transcribe
|
# transcribe
|
||||||
wireshark
|
wireshark
|
||||||
xcalib
|
xcalib
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
programs.beets.enable = true;
|
||||||
|
}
|
|
@ -9,7 +9,7 @@ in [
|
||||||
(link "GitHub" "http://github.com")
|
(link "GitHub" "http://github.com")
|
||||||
(short "/u/" "danger/u/" "https://dangeru.us/")
|
(short "/u/" "danger/u/" "https://dangeru.us/")
|
||||||
(link "PVV" "https://www.pvv.ntnu.no/")
|
(link "PVV" "https://www.pvv.ntnu.no/")
|
||||||
(short "PVVM" "PVV Mail" "https://webmail2.pvv.ntnu.no/roundcube/")
|
(short "PVVM" "PVV Mail" "https://webmail.pvv.ntnu.no/roundcube/")
|
||||||
(short "ΩV" "Omega Verksted" "https://omegav.no/")
|
(short "ΩV" "Omega Verksted" "https://omegav.no/")
|
||||||
|
|
||||||
(dir "Nix" [
|
(dir "Nix" [
|
||||||
|
@ -31,21 +31,34 @@ in [
|
||||||
])
|
])
|
||||||
|
|
||||||
(dir "CTF" [
|
(dir "CTF" [
|
||||||
(link "HackTheBox" "https://www.hackthebox.eu/")
|
(link "Revshells" "https://revshells.com/")
|
||||||
(link "TryHackMe" "https://tryhackme.com/dashboard")
|
|
||||||
(link "OverTheWire" "https://overthewire.org/wargames/")
|
|
||||||
(link "NetGarage" "https://io.netgarage.org/")
|
|
||||||
(link "Exploit Education" "http://exploit.education/")
|
(link "Exploit Education" "http://exploit.education/")
|
||||||
|
(link "Webhook" "https://webhook.site")
|
||||||
|
(link "CyberChef" "https://gchq.github.io/CyberChef/")
|
||||||
|
(link "Aperisolve" "https://www.aperisolve.com/")
|
||||||
|
(link "how2heap" "https://github.com/shellphish/how2heap")
|
||||||
|
(link "Heap Search" "https://kissprogramming.com/heap/heap-search")
|
||||||
|
(link "CrackStation" "https://crackstation.net/")
|
||||||
|
(link "FactorDB" "http://factordb.com/")
|
||||||
|
(link "Syscalls" "https://syscalls.w3challs.com/")
|
||||||
|
(link "DogBolt" "https://dogbolt.org/")
|
||||||
|
(link "HackTricks" "https://book.hacktricks.xyz/")
|
||||||
|
(dir "Practise" [
|
||||||
|
(link "S2G" "https://s2gctf.ncr.ntnu.no")
|
||||||
|
(link "Pico CTF" "https://play.picoctf.org/practice")
|
||||||
|
(link "Pwn college" "https://pwn.college/")
|
||||||
|
(link "HackTheBox" "https://www.hackthebox.eu")
|
||||||
|
(link "Crackmes" "https://crackmes.one")
|
||||||
|
(link "Nightmare" "https://guyinatuxedo.github.io/")
|
||||||
|
])
|
||||||
])
|
])
|
||||||
|
|
||||||
(dir "Misc & Tools" [
|
(dir "Misc & Tools" [
|
||||||
(link "ASCIIFlow" "https://asciiflow.com/#/")
|
(link "ASCIIFlow" "https://asciiflow.com/#/")
|
||||||
(link "CopyChar" "https://copychar.cc/")
|
(link "CopyChar" "https://copychar.cc/")
|
||||||
(link "CyberChef" "https://gchq.github.io/CyberChef/")
|
|
||||||
(link "Device Info" "https://www.deviceinfo.me/")
|
(link "Device Info" "https://www.deviceinfo.me/")
|
||||||
(link "Diagrams" "https://app.diagrams.net/")
|
(link "Diagrams" "https://app.diagrams.net/")
|
||||||
(link "FakeMail" "http://www.fakemailgenerator.com/")
|
(link "FakeMail" "http://www.fakemailgenerator.com/")
|
||||||
(link "FilePizza" "https://file.pizza/")
|
|
||||||
(link "IPLeak" "https://ipleak.net/")
|
(link "IPLeak" "https://ipleak.net/")
|
||||||
(link "LaTeX" "https://www.codecogs.com/latex/eqneditor.php")
|
(link "LaTeX" "https://www.codecogs.com/latex/eqneditor.php")
|
||||||
(link "ManualsLib" "https://www.manualslib.com/")
|
(link "ManualsLib" "https://www.manualslib.com/")
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
programs.gh-dash.enable = true;
|
||||||
|
}
|
|
@ -53,6 +53,7 @@ in
|
||||||
forcepush = "push --force-with-lease --force-if-includes";
|
forcepush = "push --force-with-lease --force-if-includes";
|
||||||
authors = "shortlog --summary --numbered --email";
|
authors = "shortlog --summary --numbered --email";
|
||||||
si = "switch-interactive";
|
si = "switch-interactive";
|
||||||
|
subs = "submodule update --init --recursive";
|
||||||
rebase-author = "rebase -i -x \"git commit --amend --reset-author -CHEAD\"";
|
rebase-author = "rebase -i -x \"git commit --amend --reset-author -CHEAD\"";
|
||||||
git = "!git";
|
git = "!git";
|
||||||
};
|
};
|
||||||
|
@ -128,6 +129,8 @@ in
|
||||||
submodule = "log";
|
submodule = "log";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
pager.show = lib.getExe pkgs.bat;
|
||||||
|
|
||||||
status = {
|
status = {
|
||||||
showUntrackedFiles = "all";
|
showUntrackedFiles = "all";
|
||||||
relativePaths = true;
|
relativePaths = true;
|
||||||
|
@ -259,6 +262,14 @@ in
|
||||||
runtimeInputs = with pkgs; [ cfg.package coreutils ];
|
runtimeInputs = with pkgs; [ cfg.package coreutils ];
|
||||||
text = lib.fileContents ./scripts/git-tcommit.sh;
|
text = lib.fileContents ./scripts/git-tcommit.sh;
|
||||||
})
|
})
|
||||||
|
(pkgs.writeShellApplication {
|
||||||
|
name = "git-tmcommit";
|
||||||
|
runtimeInputs = with pkgs; [ cfg.package coreutils ];
|
||||||
|
text = lib.pipe ./scripts/git-tcommit.sh [
|
||||||
|
lib.fileContents
|
||||||
|
(builtins.replaceStrings ["hours" "tcommit"] ["minutes" "tmcommit"])
|
||||||
|
];
|
||||||
|
})
|
||||||
(pkgs.writeShellApplication {
|
(pkgs.writeShellApplication {
|
||||||
name = "git-switch-interactive";
|
name = "git-switch-interactive";
|
||||||
runtimeInputs = with pkgs; [ cfg.package fzf gnused coreutils ];
|
runtimeInputs = with pkgs; [ cfg.package fzf gnused coreutils ];
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
|
if [[ $# -lt 1 ]]; then
|
||||||
|
echo "Usage: git tcommit [-]<hours>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
HOUR_SHIFT="$1"
|
HOUR_SHIFT="$1"
|
||||||
shift
|
shift
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
programs.jq.enable = true;
|
||||||
|
}
|
|
@ -3,40 +3,45 @@ let
|
||||||
mkSource = tags: url: { inherit tags url; };
|
mkSource = tags: url: { inherit tags url; };
|
||||||
in {
|
in {
|
||||||
programs.newsboat.urls = [
|
programs.newsboat.urls = [
|
||||||
(mkSource [ "tech" "linux" ] "https://lukesmith.xyz/rss.xml")
|
|
||||||
(mkSource [ "tech" "vim" "old" ] "https://castel.dev/rss.xml")
|
|
||||||
(mkSource [ "tech" "linux" "nixos" ] "https://christine.website/blog.rss")
|
|
||||||
(mkSource [ "japanese" "language" "old" ] "http://feeds.feedburner.com/LocalizingJapan")
|
|
||||||
(mkSource [ "tech" "linux" ] "http://xahlee.info/comp/blog.xml")
|
|
||||||
(mkSource [ "japanese" "language" ] "https://www.outlier-linguistics.com/blogs/japanese.atom")
|
|
||||||
(mkSource [ "tech" "linux" ] "https://archlinux.org/feeds/news/")
|
(mkSource [ "tech" "linux" ] "https://archlinux.org/feeds/news/")
|
||||||
(mkSource [ "tech" "linux" ] "https://bartoszmilewski.com/feed/")
|
(mkSource [ "tech" "linux" "nixos" ] "https://nixos.org/blog/announcements-rss.xml")
|
||||||
(mkSource [ "tech" "linux" "nixos" ] "https://nixos.org//blog/announcements-rss.xml")
|
|
||||||
(mkSource [ "tech" "linux" ] "https://www.digitalneanderthal.com/index.xml")
|
|
||||||
(mkSource [ "tech" "ntnu" ] "https://omegav.no/newsrss")
|
(mkSource [ "tech" "ntnu" ] "https://omegav.no/newsrss")
|
||||||
(mkSource [ "tech" ] "https://code.visualstudio.com/feed.xml")
|
(mkSource [ "ntnu" ] "https://varsel.it.ntnu.no/subscribe/rss/")
|
||||||
|
(mkSource [ "tech" ] "https://blog.hackeriet.no/feed.xml")
|
||||||
|
(mkSource [ "tech" ] "https://fribyte.no/rss.xml")
|
||||||
|
(mkSource [ "tech" ] "https://existentialtype.wordpress.com/feed/")
|
||||||
|
(mkSource [ "tech" "linux" "ntnu" ] "https://wiki.pvv.ntnu.no/w/api.php?hidebots=1&urlversion=1&days=90&limit=50&action=feedrecentchanges&format=xml")
|
||||||
|
(mkSource [ "tech" "linux" "nixos" ] "https://dandellion.xyz/atom.xml")
|
||||||
|
(mkSource [ "tech" "linux" ] "http://xahlee.info/comp/blog.xml")
|
||||||
|
(mkSource [ "tech" ] "https://branchfree.org/feed/")
|
||||||
|
(mkSource [ "tech" ] "https://search.marginalia.nu/news.xml")
|
||||||
|
(mkSource [ "tech" "linux" ] "https://bartoszmilewski.com/feed/")
|
||||||
|
(mkSource [ "tech" "linux" "nixos" ] "https://myme.no/atom-feed.xml")
|
||||||
(mkSource [ "tech" "linux" "nixos" ] "https://blog.ysndr.de/atom.xml")
|
(mkSource [ "tech" "linux" "nixos" ] "https://blog.ysndr.de/atom.xml")
|
||||||
(mkSource [ "tech" "linux" "nixos" ] "https://kaushikc.org/atom.xml")
|
(mkSource [ "tech" "linux" "nixos" ] "https://kaushikc.org/atom.xml")
|
||||||
(mkSource [ "tech" "linux" "nixos" ] "https://ianthehenry.com/feed.xml")
|
(mkSource [ "tech" "linux" "nixos" ] "https://ianthehenry.com/feed.xml")
|
||||||
(mkSource [ "tech" "linux" "ntnu" ] "https://www.pvv.ntnu.no/w/api.php?hidebots=1&urlversion=1&days=7&limit=50&action=feedrecentchanges&feedformat=atom")
|
|
||||||
(mkSource [ "ntnu" ] "https://varsel.it.ntnu.no/subscribe/rss/")
|
|
||||||
(mkSource [ "tech" "linux" "japanese" ] "https://www.ncaq.net/feed.atom")
|
(mkSource [ "tech" "linux" "japanese" ] "https://www.ncaq.net/feed.atom")
|
||||||
(mkSource [ "tech" "linux" "haskell" "nixos" "functional-programming" ] "https://www.haskellforall.com/feeds/posts/default")
|
(mkSource [ "tech" "linux" "nixos" "emacs" "japanese" ] "https://apribase.net/program/feed")
|
||||||
(mkSource [ "tech" "haskell" "functional-programming" ] "https://williamyaoh.com/feed.atom")
|
(mkSource [ "tech" "linux" "nixos" "functional-programming" ] "https://www.haskellforall.com/feeds/posts/default")
|
||||||
(mkSource [ "tech" "haskell" "functional-programming" ] "https://www.parsonsmatt.org/feed.xml")
|
(mkSource [ "tech" "linux" "nixos" ] "https://christine.website/blog.rss")
|
||||||
(mkSource [ "tech" "haskell" "functional-programming" "python" ] "http://blog.ezyang.com/feed/")
|
(mkSource [ "tech" "functional-programming" "nixos" ] "https://markkarpov.com/feed.atom")
|
||||||
(mkSource [ "tech" "haskell" "functional-programming" ] "https://lexi-lambda.github.io/feeds/all.rss.xml")
|
(mkSource [ "tech" "functional-programming" ] "https://williamyaoh.com/feed.atom")
|
||||||
(mkSource [ "tech" "haskell" "functional-programming" ] "https://www.stephendiehl.com/feed.rss")
|
(mkSource [ "tech" "functional-programming" ] "https://www.parsonsmatt.org/feed.xml")
|
||||||
(mkSource [ "tech" "haskell" "functional-programming" "emacs" ] "https://chrisdone.com/rss.xml")
|
(mkSource [ "tech" "functional-programming" "python" ] "http://blog.ezyang.com/feed/")
|
||||||
(mkSource [ "tech" "haskell" "functional-programming" "nixos" ] "https://markkarpov.com/feed.atom")
|
(mkSource [ "tech" "functional-programming" ] "https://lexi-lambda.github.io/feeds/all.rss.xml")
|
||||||
(mkSource [ "tech" "flutter" ] "https://resocoder.com/feed/")
|
(mkSource [ "tech" "functional-programming" ] "https://www.stephendiehl.com/feed.rss")
|
||||||
(mkSource [ "tech" "compilers" ] "https://existentialtype.wordpress.com/feed/")
|
(mkSource [ "tech" "functional-programming" "emacs" ] "https://chrisdone.com/rss.xml")
|
||||||
(mkSource [ "tech" "compilers" "haskell" "functional-programming" "old" ] "https://skilpat.tumblr.com/rss")
|
(mkSource [ "tech" ] "https://go.dev/blog/feed.atom")
|
||||||
|
(mkSource [ "tech" "linux" ] "https://jfx.ac/blog/index.xml")
|
||||||
|
(mkSource [ "tech" "linux" ] "https://lukesmith.xyz/rss.xml")
|
||||||
|
(mkSource [ "japanese" "language" ] "https://www.outlier-linguistics.com/blogs/japanese.atom")
|
||||||
(mkSource [ "language" ] "https://feeds.feedburner.com/blogspot/Ckyi")
|
(mkSource [ "language" ] "https://feeds.feedburner.com/blogspot/Ckyi")
|
||||||
(mkSource [ "tech" "compilers" ] "https://go.dev/blog/feed.atom")
|
(mkSource [ "japanese" "language" "old" ] "http://feeds.feedburner.com/LocalizingJapan")
|
||||||
(mkSource [ "tech" "linux" "nixos" ] "https://myme.no/feed.xml")
|
(mkSource [ "tech" "vim" "old" ] "https://castel.dev/rss.xml")
|
||||||
(mkSource [ "tech" "linux" "nixos" "compilers" ] "https://flyx.org/feed.xml")
|
(mkSource [ "tech" "functional-programming" "old" ] "https://skilpat.tumblr.com/rss")
|
||||||
(mkSource [ "tech" "linux" ] "https://blog.jfx.ac/feed.xml")
|
(mkSource [ "tech" ] "https://resocoder.com/feed/")
|
||||||
(mkSource [ "tech" "linux" "nixos" ] "https://dandellion.xyz/atom.xml")
|
|
||||||
|
# Broken?
|
||||||
|
(mkSource [ "tech" "linux" "nixos" ] "https://flyx.org/feed.xml")
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, lib, extendedLib, ... }:
|
{ pkgs, lib, ... }:
|
||||||
let
|
let
|
||||||
adminUser = "root";
|
adminUser = "root";
|
||||||
normalUser = "oysteikt";
|
normalUser = "oysteikt";
|
||||||
|
@ -88,16 +88,17 @@ let
|
||||||
machines: pipe machines pipeline;
|
machines: pipe machines pipeline;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
programs.ssh.matchBlocks = (extendedLib.attrsets.concatAttrs [
|
programs.ssh.matchBlocks = lib.mergeAttrsList [
|
||||||
(convertMachinesWith convertNormalMachine normalMachines)
|
(convertMachinesWith convertNormalMachine normalMachines)
|
||||||
(convertMachinesWith convertAdminMachine rootMachines)
|
(convertMachinesWith convertAdminMachine rootMachines)
|
||||||
]) // {
|
{
|
||||||
"pvv-git git.pvv.ntnu.no" = {
|
"pvv-git git.pvv.ntnu.no" = {
|
||||||
hostname = "git.pvv.ntnu.no";
|
hostname = "git.pvv.ntnu.no";
|
||||||
user = "gitea";
|
user = "gitea";
|
||||||
addressFamily = "inet";
|
addressFamily = "inet";
|
||||||
port = 2222;
|
port = 2222;
|
||||||
proxyJump = "pvv";
|
proxyJump = "pvv";
|
||||||
};
|
};
|
||||||
};
|
}
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
{ config, pkgs, lib, machineVars, ... }:
|
||||||
|
let
|
||||||
|
cfg = config.programs.thunderbird;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
programs.thunderbird = {
|
||||||
|
enable = !machineVars.headless;
|
||||||
|
profiles.h7x4 = {
|
||||||
|
isDefault = true;
|
||||||
|
withExternalGnupg = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
home.packages = lib.mkIf cfg.enable (with pkgs; [
|
||||||
|
birdtray
|
||||||
|
]);
|
||||||
|
}
|
|
@ -89,7 +89,7 @@ myScratchpads = [ NS "ncmpcpp" spawnNC findNC layoutA
|
||||||
-- spawnMX = "element"
|
-- spawnMX = "element"
|
||||||
spawnFB = "thunar --class=floatingThunar"
|
spawnFB = "thunar --class=floatingThunar"
|
||||||
spawnEX = "emacs --name=floatingEmacs"
|
spawnEX = "emacs --name=floatingEmacs"
|
||||||
spawnSC = "sxiv -N floatingSchedule ~/uni/schedule.png"
|
spawnSC = "nsxiv -N floatingSchedule ~/uni/schedule.png"
|
||||||
spawnHP = "echo \"" ++ help ++ "\" | xmessage -file -"
|
spawnHP = "echo \"" ++ help ++ "\" | xmessage -file -"
|
||||||
|
|
||||||
findNC = title =? "ncmpcppScratchpad"
|
findNC = title =? "ncmpcppScratchpad"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, unstable-pkgs, lib, extendedLib, config, inputs, secrets, ... }:
|
{ config, pkgs, lib, extendedLib, ... }:
|
||||||
let
|
let
|
||||||
inherit (config) machineVars;
|
inherit (config) machineVars;
|
||||||
in {
|
in {
|
||||||
|
|
|
@ -3,6 +3,8 @@
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
|
|
||||||
|
./programs/nrfutil.nix
|
||||||
|
|
||||||
./services/avahi.nix
|
./services/avahi.nix
|
||||||
./services/docker.nix
|
./services/docker.nix
|
||||||
./services/jenkins.nix
|
./services/jenkins.nix
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
nrfutil
|
||||||
|
nrfconnect
|
||||||
|
nrf-command-line-tools
|
||||||
|
];
|
||||||
|
|
||||||
|
services.udev.packages = with pkgs; [
|
||||||
|
nrf-udev
|
||||||
|
segger-jlink
|
||||||
|
];
|
||||||
|
}
|
|
@ -11,6 +11,9 @@
|
||||||
./services/tailscale.nix
|
./services/tailscale.nix
|
||||||
./services/keybase.nix
|
./services/keybase.nix
|
||||||
|
|
||||||
|
./nspawn-containers/arch.nix
|
||||||
|
];
|
||||||
|
|
||||||
system.stateVersion = "22.05";
|
system.stateVersion = "22.05";
|
||||||
|
|
||||||
security.pam.services.hyprlock = {};
|
security.pam.services.hyprlock = {};
|
||||||
|
@ -19,6 +22,7 @@
|
||||||
"x86_64-windows"
|
"x86_64-windows"
|
||||||
"aarch64-linux"
|
"aarch64-linux"
|
||||||
"armv7l-linux"
|
"armv7l-linux"
|
||||||
|
"i686-linux"
|
||||||
];
|
];
|
||||||
|
|
||||||
nix.settings.system-features = [
|
nix.settings.system-features = [
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
systemd.targets.machines.enable = true;
|
||||||
|
|
||||||
|
systemd.nspawn."arch" = {
|
||||||
|
enable = true;
|
||||||
|
execConfig.Boot = true;
|
||||||
|
|
||||||
|
filesConfig = {
|
||||||
|
BindReadOnly = [
|
||||||
|
"/nix/store"
|
||||||
|
# "/etc/resolv.conf:/etc/resolv.conf"
|
||||||
|
];
|
||||||
|
Bind = [
|
||||||
|
"/home/h7x4/git"
|
||||||
|
"/home/h7x4/pico"
|
||||||
|
"/home/h7x4/Downloads"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
networkConfig.Private = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services."systemd-nspawn@arch" = {
|
||||||
|
enable = true;
|
||||||
|
requiredBy = [ "machines.target" ];
|
||||||
|
overrideStrategy = "asDropin";
|
||||||
|
};
|
||||||
|
}
|
|
@ -7,9 +7,6 @@ in rec {
|
||||||
mapToAttrsWithConst = constant: items:
|
mapToAttrsWithConst = constant: items:
|
||||||
listToAttrs (map (name: nameValuePair name constant) items);
|
listToAttrs (map (name: nameValuePair name constant) items);
|
||||||
|
|
||||||
# [AttrSet] -> AttrSet
|
|
||||||
concatAttrs = foldr (a: b: a // b) {};
|
|
||||||
|
|
||||||
# (Int -> String -> a -> a) -> AttrSet -> AttrSet
|
# (Int -> String -> a -> a) -> AttrSet -> AttrSet
|
||||||
imap0Attrs = f: set:
|
imap0Attrs = f: set:
|
||||||
listToAttrs (imap0 (i: attr: nameValuePair attr (f i attr set.${attr})) (attrNames set));
|
listToAttrs (imap0 (i: attr: nameValuePair attr (f i attr set.${attr})) (attrNames set));
|
||||||
|
|
Loading…
Reference in New Issue