Compare commits
14 Commits
d32b3857e9
...
4b5da0e0a6
Author | SHA1 | Date |
---|---|---|
Jez Cope | 4b5da0e0a6 | |
Jez Cope | 8dd4e56243 | |
Jez Cope | 4d317b078e | |
Jez Cope | 1ec73e5bc8 | |
Jez Cope | ca56f4d726 | |
Jez Cope | 9cdaeb6eb9 | |
Jez Cope | f7ebbf6dde | |
Jez Cope | f561e525f3 | |
Jez Cope | d5a7e050f9 | |
Jez Cope | 7353af8fb1 | |
Jez Cope | 73bd91135e | |
Jez Cope | f11029774f | |
Jez Cope | 57f54be370 | |
Jez Cope | 1bbcbacbd6 |
|
@ -197,7 +197,10 @@
|
|||
plugins = [ pkgs.ccid ]; # Needed for GPG + Yubikey
|
||||
};
|
||||
|
||||
virtualisation.docker.enable = true;
|
||||
virtualisation.docker = {
|
||||
enable = true;
|
||||
autoPrune.enable = true;
|
||||
};
|
||||
virtualisation.libvirtd.enable = true;
|
||||
virtualisation.spiceUSBRedirection.enable = true;
|
||||
users.groups.libvirtd.members = [ "jez" ];
|
||||
|
|
24
flake.lock
24
flake.lock
|
@ -8,11 +8,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1657103562,
|
||||
"narHash": "sha256-lSMA2B40tJxdRdAPftDxI9h+vBaS6mjlROz5nv3Ep3s=",
|
||||
"lastModified": 1658776433,
|
||||
"narHash": "sha256-QEPVVPoJ4O9sH/Z9Ofxmbv5YVXHCC2hw9Yx54YaGHKI=",
|
||||
"owner": "nix-community",
|
||||
"repo": "emacs-overlay",
|
||||
"rev": "88bfbe0c218e095f0d9e9aaa2ba18dc0df410244",
|
||||
"rev": "e6787f627285bf1963ad582c7d635c97efea524d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -44,11 +44,11 @@
|
|||
"utils": "utils"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1656927578,
|
||||
"narHash": "sha256-ZSFrM/1PlJOqCb3mN88ZUh9dkQvNLU/nkoQ2tu02/FM=",
|
||||
"lastModified": 1658751516,
|
||||
"narHash": "sha256-Y/3dHoTjbvYBtWd+TTBQJUIgDPO9d+Gqt05C5dyR7E4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "f2445620d177e295e711c1b2bc6c01ed6df26c16",
|
||||
"rev": "dbed4c794d20d51027fc1107f063ec5be027dafc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -59,11 +59,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1657020478,
|
||||
"narHash": "sha256-sU5hXEGcOcvz2xoPAuNLBQJLXjwvPpTkoddyXE8gw20=",
|
||||
"lastModified": 1658737577,
|
||||
"narHash": "sha256-xosJ5nJT9HX+b6UWsSX6R+ap4AdZOCrl/r+IKFp2ASQ=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "71a4f0dc3d80ba76f437c888c1c3d59f1df98163",
|
||||
"rev": "5a0e0d73b944157328d54c4ded1cf2f0146a86a5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -74,11 +74,11 @@
|
|||
},
|
||||
"nur": {
|
||||
"locked": {
|
||||
"lastModified": 1657106528,
|
||||
"narHash": "sha256-Jm2XUK8PSdiWfzfF6f/lIfnaOCrcq+JsT/cV5P5c1Uw=",
|
||||
"lastModified": 1658766050,
|
||||
"narHash": "sha256-c6iyt3h3crC7NPf6YTD4G+Y3HEwVjuZYOSaMSzMqVXM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "71d760099ad1a16ebae22b4ec551bf54a9e93d8e",
|
||||
"rev": "2599e014153184576a261f3d6634fed4285797c9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.wal = {
|
||||
enable = true;
|
||||
background = pkgs.fetchurl {
|
||||
# From Stefanie Buchanan's ArtStation: https://www.artstation.com/artwork/bK0kkn
|
||||
urls = [
|
||||
"https://cdnb.artstation.com/p/assets/images/images/029/712/149/large/stefanie-buchanan-img-2414.jpg"
|
||||
"http://bafybeiff7bjww2dicbqhfubiq67wma6qrjkkndk6s773glwiystzir2goe.ipfs.localhost:8080/"
|
||||
"https://bafybeiff7bjww2dicbqhfubiq67wma6qrjkkndk6s773glwiystzir2goe.ipfs.dweb.link/"
|
||||
];
|
||||
name = "wallpaper.jpg";
|
||||
sha256 =
|
||||
"b6b9b88e10715e9e7dfd33dc80ecfff90fa58f0529e6f7c88f67f34991da57e0";
|
||||
};
|
||||
shell.enable = false;
|
||||
sway.enable = true;
|
||||
};
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
|
||||
theme.name = "Equilux";
|
||||
theme.package = pkgs.equilux-theme;
|
||||
font.name = "Fira Sans Condensed Regular 10";
|
||||
font.package = pkgs.fira;
|
||||
iconTheme.name = "Flat-Remix-Green-Dark";
|
||||
iconTheme.package = pkgs.flat-remix-icon-theme;
|
||||
|
||||
gtk3.extraConfig = {
|
||||
gtk-xft-antialias = 1;
|
||||
gtk-xft-hinting = 1;
|
||||
gtk-xft-hintstyle = "hintmedium";
|
||||
gtk-xft-rgba = "rgb";
|
||||
|
||||
gtk-enable-animations = false;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -3,6 +3,8 @@
|
|||
with lib;
|
||||
|
||||
{
|
||||
imports = [ ./appearance.nix ];
|
||||
|
||||
home.keyboard = {
|
||||
layout = "us";
|
||||
options = [ "ctrl:nocaps" "compose:ralt" ];
|
||||
|
@ -17,7 +19,8 @@ with lib;
|
|||
plugins = [ pkgs.evolution pkgs.evolution-ews ];
|
||||
};
|
||||
in [
|
||||
keybase-gui
|
||||
feh
|
||||
betterlockscreen
|
||||
|
||||
gn.gnome-tweaks
|
||||
mate.atril
|
||||
|
@ -28,15 +31,13 @@ with lib;
|
|||
nyxt
|
||||
lagrange
|
||||
tor-browser-bundle-bin
|
||||
thunderbird
|
||||
evolution
|
||||
calibre
|
||||
atom
|
||||
obsidian
|
||||
logseq
|
||||
flameshot
|
||||
gitkraken
|
||||
discord
|
||||
keybase-gui
|
||||
|
||||
openshot-qt
|
||||
blender
|
||||
|
@ -109,45 +110,8 @@ with lib;
|
|||
'';
|
||||
};
|
||||
|
||||
programs.wal = {
|
||||
enable = true;
|
||||
background = pkgs.fetchurl {
|
||||
# From Stefanie Buchanan's ArtStation: https://www.artstation.com/artwork/bK0kkn
|
||||
urls = [
|
||||
"https://cdnb.artstation.com/p/assets/images/images/029/712/149/large/stefanie-buchanan-img-2414.jpg"
|
||||
"http://bafybeiff7bjww2dicbqhfubiq67wma6qrjkkndk6s773glwiystzir2goe.ipfs.localhost:8080/"
|
||||
"https://bafybeiff7bjww2dicbqhfubiq67wma6qrjkkndk6s773glwiystzir2goe.ipfs.dweb.link/"
|
||||
];
|
||||
name = "wallpaper.jpg";
|
||||
sha256 =
|
||||
"b6b9b88e10715e9e7dfd33dc80ecfff90fa58f0529e6f7c88f67f34991da57e0";
|
||||
};
|
||||
shell.enable = false;
|
||||
sway.enable = true;
|
||||
};
|
||||
|
||||
fonts.fontconfig.enable = true;
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
|
||||
theme.name = "Equilux";
|
||||
theme.package = pkgs.equilux-theme;
|
||||
font.name = "Fira Sans Condensed Regular 10";
|
||||
font.package = pkgs.fira;
|
||||
iconTheme.name = "Flat-Remix-Green-Dark";
|
||||
iconTheme.package = pkgs.flat-remix-icon-theme;
|
||||
|
||||
gtk3.extraConfig = {
|
||||
gtk-xft-antialias = 1;
|
||||
gtk-xft-hinting = 1;
|
||||
gtk-xft-hintstyle = "hintmedium";
|
||||
gtk-xft-rgba = "rgb";
|
||||
|
||||
gtk-enable-animations = false;
|
||||
};
|
||||
};
|
||||
|
||||
programs.mako = {
|
||||
enable = true;
|
||||
defaultTimeout = 10000;
|
||||
|
@ -200,8 +164,17 @@ with lib;
|
|||
terminal = pkgs.alacritty + /bin/alacritty;
|
||||
};
|
||||
|
||||
programs.chromium.enable = true;
|
||||
programs.chromium.package = pkgs.ungoogled-chromium;
|
||||
programs.chromium = {
|
||||
enable = true;
|
||||
extensions = [
|
||||
{ id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; } # uBlock origin
|
||||
{ id = "hdokiejnpimakedhajhdlcegeplioahd"; } # LastPass
|
||||
{ id = "ldgfbffkinooeloadekpmfoklnobpien"; } # raindrop.io
|
||||
{ id = "kkhfnlkhiapbiehimabddjbimfaijdhk"; } # gopass bridge
|
||||
{ id = "ldpochfccmkkmhdbclfhpagapcfdljkj"; } # DecentralEyes
|
||||
];
|
||||
};
|
||||
|
||||
programs.qutebrowser.enable = true;
|
||||
programs.element-desktop.enable = true;
|
||||
|
||||
|
|
|
@ -74,4 +74,9 @@ in {
|
|||
};
|
||||
};
|
||||
};
|
||||
|
||||
services.betterlockscreen = {
|
||||
enable = true;
|
||||
inactiveInterval = 10;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -25,49 +25,6 @@ secondary = #8ABEB7
|
|||
alert = #A54242
|
||||
disabled = #707880
|
||||
|
||||
[bar/main]
|
||||
width = 100%
|
||||
height = 24pt
|
||||
; radius = 6
|
||||
|
||||
; dpi = 96
|
||||
|
||||
background = ${colors.background}
|
||||
foreground = ${colors.foreground}
|
||||
|
||||
line-size = 3pt
|
||||
|
||||
border-size = 12pt
|
||||
border-bottom-size = 0pt
|
||||
border-color = #00000000
|
||||
|
||||
padding-left = 0
|
||||
padding-right = 1
|
||||
|
||||
module-margin = 1
|
||||
|
||||
separator = |
|
||||
separator-foreground = ${colors.disabled}
|
||||
|
||||
font-0 = monospace;2
|
||||
|
||||
modules-left = xworkspaces xwindow
|
||||
modules-center = date
|
||||
modules-right = pulseaudio xkeyboard memory cpu wlan
|
||||
|
||||
cursor-click = pointer
|
||||
cursor-scroll = ns-resize
|
||||
|
||||
enable-ipc = true
|
||||
|
||||
tray-position = right
|
||||
|
||||
; wm-restack = generic
|
||||
; wm-restack = bspwm
|
||||
wm-restack = i3
|
||||
|
||||
; override-redirect = true
|
||||
|
||||
[module/xworkspaces]
|
||||
type = internal/xworkspaces
|
||||
|
||||
|
@ -87,10 +44,34 @@ label-empty = %name%
|
|||
label-empty-foreground = ${colors.disabled}
|
||||
label-empty-padding = 1
|
||||
|
||||
pin-workspaces = true
|
||||
|
||||
[module/xwindow]
|
||||
type = internal/xwindow
|
||||
label = %title:0:60:...%
|
||||
|
||||
[module/i3]
|
||||
type = internal/i3
|
||||
|
||||
label-focused = %name%
|
||||
label-focused-background = ${colors.background-alt}
|
||||
label-focused-underline= ${colors.primary}
|
||||
label-focused-padding = 1
|
||||
|
||||
label-unfocused = %name%
|
||||
label-unfocused-padding = 1
|
||||
|
||||
label-urgent = %name%
|
||||
label-urgent-background = ${colors.alert}
|
||||
label-urgent-padding = 1
|
||||
|
||||
label-visible = %name%
|
||||
; label-visible-foreground = ${colors.disabled}
|
||||
label-visible-underline = ${colors.secondary}
|
||||
label-visible-padding = 1
|
||||
|
||||
pin-workspaces = true
|
||||
|
||||
[module/filesystem]
|
||||
type = internal/fs
|
||||
interval = 25
|
||||
|
|
|
@ -11,8 +11,52 @@
|
|||
};
|
||||
script = ''
|
||||
polybar main &
|
||||
polybar secondary &
|
||||
'';
|
||||
config = { };
|
||||
config = let
|
||||
common = {
|
||||
width = "100%";
|
||||
height = "24pt";
|
||||
|
||||
background = "\${colors.background}";
|
||||
foreground = "\${colors.foreground}";
|
||||
|
||||
line-size = "3pt";
|
||||
|
||||
border-size = "12pt";
|
||||
border-bottom-size = "0pt";
|
||||
border-color = "#00000000";
|
||||
|
||||
padding-left = 0;
|
||||
padding-right = 1;
|
||||
|
||||
module-margin = 1;
|
||||
|
||||
separator = "|";
|
||||
separator-foreground = "\${colors.disabled}";
|
||||
|
||||
font-0 = "monospace";
|
||||
|
||||
cursor-click = "pointer";
|
||||
cursor-scroll = "ns-resize";
|
||||
|
||||
enable-ipc = "true";
|
||||
|
||||
wm-restack = "i3";
|
||||
};
|
||||
in {
|
||||
"bar/main" = {
|
||||
monitor = "DisplayPort-0";
|
||||
modules-left = "i3 xwindow";
|
||||
modules-center = "date";
|
||||
modules-right = "pulseaudio xkeyboard memory cpu wlan";
|
||||
tray-position = "right";
|
||||
} // common;
|
||||
"bar/secondary" = {
|
||||
monitor = "DisplayPort-1";
|
||||
modules-left = "i3 xwindow";
|
||||
} // common;
|
||||
};
|
||||
extraConfig = lib.readFile ./polybar.ini;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -12,13 +12,6 @@ let
|
|||
passCommand = "cat ${h}/Private/Keys/Borg/passphrase";
|
||||
};
|
||||
|
||||
prune.keep = {
|
||||
within = "1w";
|
||||
daily = 14;
|
||||
weekly = 4;
|
||||
monthly = -1;
|
||||
};
|
||||
|
||||
extraInitArgs = "--make-parent-dirs";
|
||||
environment = {
|
||||
BORG_RSH = "ssh -i /home/jez/.ssh/id_rsa_u275275";
|
||||
|
@ -28,10 +21,28 @@ let
|
|||
in {
|
||||
services.borgbackup.jobs = {
|
||||
general = lib.recursiveUpdate defaults {
|
||||
paths =
|
||||
[ "${h}/Documents" "${h}/Projects" "${h}/Reference" "/etc/nixos" ];
|
||||
paths = [
|
||||
"${h}/Documents"
|
||||
"${h}/Projects"
|
||||
"${h}/Reference"
|
||||
"${h}/Notes"
|
||||
"${h}/Web"
|
||||
"/etc/nixos"
|
||||
];
|
||||
repo = "${repoRoot}/Gwydion/General";
|
||||
exclude = [ "target" ".build" ".sync" ".stfolder" ];
|
||||
|
||||
prune.keep = {
|
||||
within = "1w";
|
||||
daily = 14;
|
||||
weekly = 4;
|
||||
monthly = -1;
|
||||
};
|
||||
};
|
||||
mail = lib.recursiveUpdate defaults {
|
||||
paths = [ "${h}/Maildir" "${h}/Archive" ];
|
||||
repo = "${repoRoot}/Gwydion/Mail";
|
||||
prune.keep.daily = 3;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -22,6 +22,8 @@
|
|||
};
|
||||
};
|
||||
|
||||
virtualisation.docker.storageDriver = "zfs";
|
||||
|
||||
users.users.jez.uid = 1000;
|
||||
users.groups.jez.gid = 1000;
|
||||
|
||||
|
|
|
@ -27,6 +27,11 @@
|
|||
fsType = "zfs";
|
||||
};
|
||||
|
||||
fileSystems."/var/lib/docker" = {
|
||||
device = "trough/DATA/docker";
|
||||
fsType = "zfs";
|
||||
};
|
||||
|
||||
fileSystems."/home/jez" = {
|
||||
device = "trough/ROOT/nixos/home/jez";
|
||||
fsType = "zfs";
|
||||
|
|
38
overlay.nix
38
overlay.nix
|
@ -1,5 +1,41 @@
|
|||
final: prev:
|
||||
let inherit (final) callPackage;
|
||||
let
|
||||
inherit (final) callPackage fetchpatch buildPackages;
|
||||
# custom override for go 1.18 including the revert of CL411617, CL417615.
|
||||
# Can be dropped if/once go 1.18.5 is released with CL417615.
|
||||
# or when staging go 1.18.4 includes the revert.
|
||||
__buildGo118ModuleCL417615 = let
|
||||
fetchBase64Patch = args:
|
||||
(fetchpatch args).overrideAttrs
|
||||
(o: { postFetch = "mv $out p; base64 -d p > $out; " + o.postFetch; });
|
||||
in prev.buildGo118Module.override {
|
||||
go = buildPackages.go_1_18.overrideAttrs (oldAttrs: rec {
|
||||
patches = oldAttrs.patches or [ ] ++ [
|
||||
# https://go-review.googlesource.com/c/go/+/417615/
|
||||
(fetchBase64Patch {
|
||||
url =
|
||||
"https://go-review.googlesource.com/changes/go~417615/revisions/3/patch";
|
||||
sha256 = "sha256-Gu5eZUwGGch7et75A/BNynbs4VlQUBClVUxjxPkdjOs=";
|
||||
})
|
||||
];
|
||||
});
|
||||
};
|
||||
in {
|
||||
gopass = prev.gopass.override { buildGoModule = __buildGo118ModuleCL417615; };
|
||||
|
||||
gopass-hibp =
|
||||
prev.gopass-hibp.override { buildGoModule = __buildGo118ModuleCL417615; };
|
||||
|
||||
gopass-jsonapi = prev.gopass-jsonapi.override {
|
||||
buildGoModule = __buildGo118ModuleCL417615;
|
||||
};
|
||||
|
||||
git-credential-gopass = prev.git-credential-gopass.override {
|
||||
buildGoModule = __buildGo118ModuleCL417615;
|
||||
};
|
||||
|
||||
gopass-summon-provider = prev.gopass-summon-provider.override {
|
||||
buildGoModule = __buildGo118ModuleCL417615;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@ in {
|
|||
};
|
||||
autoScrub = {
|
||||
enable = true;
|
||||
interval = "monthly";
|
||||
interval = "weekly";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue