Too much stuff
This commit is contained in:
parent
ad4810b7db
commit
13ad21f74c
9 changed files with 234 additions and 53 deletions
|
@ -75,9 +75,6 @@
|
|||
;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how
|
||||
;; they are implemented.
|
||||
|
||||
(use-package! dirvish
|
||||
:config (dirvish-override-dired-mode))
|
||||
|
||||
(setenv "SSH_AUTH_SOCK" "/run/user/1000/gnupg/S.gpg-agent.ssh")
|
||||
|
||||
(set-formatter! 'nix-flake "nixFormat 2>/dev/null" :modes '(nix-mode))
|
||||
|
@ -90,4 +87,9 @@
|
|||
(setq org-roam-directory (file-truename "~/roam"))
|
||||
(org-roam-db-autosync-mode)
|
||||
|
||||
(setq +tree-sitter-hl-enabled-modes t)
|
||||
(setq doom-font (font-spec :family "Fira Code" :size 16)
|
||||
doom-variable-pitch-font (font-spec :family "Fira Code")
|
||||
doom-big-font-increment 1)
|
||||
|
||||
(dotimes (workspace-number 10)
|
||||
(define-key vterm-mode-map (kbd (format "M-%d" workspace-number)) nil))
|
||||
|
|
0
doom.d/modules/.gitkeep
Normal file
0
doom.d/modules/.gitkeep
Normal file
56
flake.lock
generated
56
flake.lock
generated
|
@ -42,17 +42,34 @@
|
|||
"doom-emacs": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1660901074,
|
||||
"narHash": "sha256-3apl0eQlfBj3y0gDdoPp2M6PXYnhxs0QWOHp8B8A9sc=",
|
||||
"lastModified": 1662497747,
|
||||
"narHash": "sha256-4n7E1fqda7cn5/F2jTkOnKw1juG6XMS/FI9gqODL3aU=",
|
||||
"owner": "doomemacs",
|
||||
"repo": "doomemacs",
|
||||
"rev": "c44bc81a05f3758ceaa28921dd9c830b9c571e61",
|
||||
"rev": "3853dff5e11655e858d0bfae64b70cb12ef685ac",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "doomemacs",
|
||||
"ref": "master",
|
||||
"repo": "doomemacs",
|
||||
"rev": "3853dff5e11655e858d0bfae64b70cb12ef685ac",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"doom-modeline": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1648449595,
|
||||
"narHash": "sha256-HjULFxtNDAJ7PDpy/e2bhoDYgBjwGpBdBoTY135puYA=",
|
||||
"owner": "seagle0128",
|
||||
"repo": "doom-modeline",
|
||||
"rev": "ce9899f00af40edb78f58b9af5c3685d67c8eed2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "seagle0128",
|
||||
"repo": "doom-modeline",
|
||||
"rev": "ce9899f00af40edb78f58b9af5c3685d67c8eed2",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
|
@ -75,6 +92,7 @@
|
|||
"doomEmacs": {
|
||||
"inputs": {
|
||||
"doom-emacs": "doom-emacs",
|
||||
"doom-modeline": "doom-modeline",
|
||||
"doom-snippets": "doom-snippets",
|
||||
"emacs-overlay": "emacs-overlay",
|
||||
"emacs-so-long": "emacs-so-long",
|
||||
|
@ -101,11 +119,11 @@
|
|||
"ws-butler": "ws-butler"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1664622347,
|
||||
"narHash": "sha256-pJTnEG68PhrXjpkfz/784BlcxaHgV06b1cUVGRxhMdw=",
|
||||
"lastModified": 1666731850,
|
||||
"narHash": "sha256-yyCrh5vPqxJNj+2wt4IxHAk7blnYxwC/zkSKw/y0hg8=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-doom-emacs",
|
||||
"rev": "b65e204ce9d20b376acc38ec205d08007eccdaef",
|
||||
"rev": "17673891a41c747d485b9407cb3b50b3156395ee",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -117,11 +135,11 @@
|
|||
"emacs-overlay": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1664478431,
|
||||
"narHash": "sha256-XTPklm/+e2UfIitB0+s/fKTheMJSw3G1p+t0SsBCuo4=",
|
||||
"lastModified": 1666298449,
|
||||
"narHash": "sha256-y1SRRRK2eTVuh/HRCxwDSInMwGv0d5cPIp4YDlbcM30=",
|
||||
"owner": "nix-community",
|
||||
"repo": "emacs-overlay",
|
||||
"rev": "6c78924bc5b6daaf98c0dbe63bdfcf80e6433f4b",
|
||||
"rev": "b8e24cec99ff68f8a875b6f842a10b6b2ab398d3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -445,11 +463,11 @@
|
|||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1664435807,
|
||||
"narHash": "sha256-sYOAzHDloPQH48Nmp2hFf7mvVRv+AOlfQXNaCeBTykE=",
|
||||
"lastModified": 1666275482,
|
||||
"narHash": "sha256-P5cxOmp1Yi2miEDLQas8GLQQ4W54zYgHd2frvs+lERQ=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "8ba120420fbdd9bd35b3a5366fa0206d8c99ade3",
|
||||
"rev": "d639b2dfacdb3464faa11936a8c751ea3ff57775",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -507,11 +525,11 @@
|
|||
"org": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1664493874,
|
||||
"narHash": "sha256-8zLosjfQX0aR5HprtCeiSqN1pfB+GEUF9AULk6WRcR4=",
|
||||
"lastModified": 1666258795,
|
||||
"narHash": "sha256-k2FbWk4OJKZbih3pTvJYxkaXuauWsuaXXthV54UFqCM=",
|
||||
"owner": "emacs-straight",
|
||||
"repo": "org-mode",
|
||||
"rev": "fe1f4f2ccf040deff9c57288d987f17cc2da321f",
|
||||
"rev": "98cae03b7d9a612334d5ea461e73ac0b37b0285d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -590,11 +608,11 @@
|
|||
"revealjs": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1664012352,
|
||||
"narHash": "sha256-Pu5p6HqIO2wvWiTEhsQyIuwlWEIa1GjO3EDXosznyYE=",
|
||||
"lastModified": 1665992801,
|
||||
"narHash": "sha256-bqNgaBT6WPfumhdG1VPZ6ngn0QA9RDuVtVJtVwxbOd4=",
|
||||
"owner": "hakimel",
|
||||
"repo": "reveal.js",
|
||||
"rev": "468132320d6e072abd1297d7cc24766a2b7a832d",
|
||||
"rev": "f6f657b627f9703e32414d8d3f16fb49d41031cb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
3
hmModules/digikam/default.nix
Normal file
3
hmModules/digikam/default.nix
Normal file
|
@ -0,0 +1,3 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = [pkgs.digikam];
|
||||
}
|
|
@ -3,20 +3,81 @@
|
|||
config,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
programs.emacs = {
|
||||
enable = true;
|
||||
package = lib.mkForce (pkgs.emacs28NativeComp.override {
|
||||
# FIXME `mkForce` shouldn't be needed
|
||||
}: let
|
||||
rev = "72a94f91fd0570556ce770dc3a39e658f7588f7e"; # Current master, Emacs 29, seems a good commit
|
||||
sha256 = "e5kKIEZJB9BGbBvGtiPK3gNygFoGxkG02nRLCwnGtmk=";
|
||||
emacsMaster =
|
||||
(pkgs.emacs.override {
|
||||
nativeComp = true;
|
||||
withPgtk = true;
|
||||
withSQLite3 = true;
|
||||
withGTK3 = true;
|
||||
})
|
||||
.overrideAttrs (old: {
|
||||
src = pkgs.fetchFromSavannah {
|
||||
repo = "emacs";
|
||||
inherit rev sha256;
|
||||
};
|
||||
version = rev;
|
||||
patches = [];
|
||||
postPatch =
|
||||
old.postPatch
|
||||
+ ''
|
||||
substituteInPlace lisp/loadup.el \
|
||||
--replace '(emacs-repository-get-version)' '"${rev}"' \
|
||||
--replace '(emacs-repository-get-branch)' '"master"'
|
||||
''
|
||||
+ (lib.optionalString (old ? NATIVE_FULL_AOT)
|
||||
# TODO: remove when https://github.com/NixOS/nixpkgs/pull/193621 is merged
|
||||
(
|
||||
let
|
||||
backendPath =
|
||||
lib.concatStringsSep " "
|
||||
(builtins.map (x: ''\"-B${x}\"'') [
|
||||
# Paths necessary so the JIT compiler finds its libraries:
|
||||
"${lib.getLib pkgs.libgccjit}/lib"
|
||||
"${lib.getLib pkgs.libgccjit}/lib/gcc"
|
||||
"${lib.getLib pkgs.stdenv.cc.libc}/lib"
|
||||
|
||||
# Executable paths necessary for compilation (ld, as):
|
||||
"${lib.getBin pkgs.stdenv.cc.cc}/bin"
|
||||
"${lib.getBin pkgs.stdenv.cc.bintools}/bin"
|
||||
"${lib.getBin pkgs.stdenv.cc.bintools.bintools}/bin"
|
||||
]);
|
||||
in ''
|
||||
substituteInPlace lisp/emacs-lisp/comp.el --replace \
|
||||
"(defcustom comp-libgccjit-reproducer nil" \
|
||||
"(setq native-comp-driver-options '(${backendPath})) (defcustom comp-libgccjit-reproducer nil"
|
||||
''
|
||||
));
|
||||
});
|
||||
in {
|
||||
programs.emacs = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
programs.doom-emacs = {
|
||||
enable = true;
|
||||
emacsPackage = emacsMaster;
|
||||
doomPrivateDir = ../../doom.d;
|
||||
doomPackageDir = pkgs.linkFarm "my-doom-packages" [
|
||||
{
|
||||
name = "config.el";
|
||||
path = ../../doom.d/config.el;
|
||||
}
|
||||
{
|
||||
name = "init.el";
|
||||
path = ../../doom.d/init.el;
|
||||
}
|
||||
{
|
||||
name = "packages.el";
|
||||
path = ../../doom.d/packages.el;
|
||||
}
|
||||
{
|
||||
name = "modules";
|
||||
path = ../../doom.d/modules;
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
services.emacs = {
|
||||
|
|
|
@ -1,6 +1,12 @@
|
|||
{pkgs, ...}: {
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
package = pkgs.wrapFirefox pkgs.firefox-unwrapped {
|
||||
forceWayland = true;
|
||||
extraPolicies = {
|
||||
ExtensionSettings = {};
|
||||
};
|
||||
};
|
||||
profiles.ccr = {
|
||||
settings = {
|
||||
"browser.startup.homepage" = "https://google.it";
|
||||
|
@ -15,4 +21,9 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
home.sessionVariables = {
|
||||
MOZ_ENABLE_WAYLAND = 1;
|
||||
XDG_CURRENT_DESKTOP = "sway";
|
||||
NIXOS_OZONE_WL = 1;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -248,6 +248,15 @@
|
|||
proxyPass = "http://192.168.1.71:80";
|
||||
};
|
||||
};
|
||||
|
||||
"wstunnel.ccr.ydns.eu" = {
|
||||
enableACME = true;
|
||||
addSSL = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://localhost:8080";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -275,6 +284,17 @@
|
|||
};
|
||||
};
|
||||
|
||||
systemd.services.wstunnel = {
|
||||
description = "WSTunnel";
|
||||
wantedBy = ["multi-user.target"];
|
||||
after = ["network.target"];
|
||||
serviceConfig = {
|
||||
User = "root";
|
||||
Type = "oneshot";
|
||||
ExecStart = "${pkgs.wstunnel}/bin/wstunnel wstunnel --server ws://0.0.0.0:8080";
|
||||
};
|
||||
};
|
||||
|
||||
# TODO It seems to not work
|
||||
systemd.timers.ydnsUpdater = {
|
||||
wantedBy = ["timers.target"];
|
||||
|
|
|
@ -11,46 +11,48 @@
|
|||
./hardware-configuration.nix
|
||||
]
|
||||
++ fleetModules [
|
||||
"common"
|
||||
"ccr"
|
||||
"fonts"
|
||||
"dbus"
|
||||
"adb"
|
||||
"audio"
|
||||
"battery"
|
||||
"ssh"
|
||||
"adb"
|
||||
"qmk-udev"
|
||||
"bluetooth"
|
||||
"docker"
|
||||
"transmission"
|
||||
"fprintd"
|
||||
"binfmt"
|
||||
"udisks2"
|
||||
"bluetooth"
|
||||
"ccr"
|
||||
"common"
|
||||
"dbus"
|
||||
"docker"
|
||||
"fonts"
|
||||
"fprintd"
|
||||
"printing"
|
||||
"qmk-udev"
|
||||
"ssh"
|
||||
"transmission"
|
||||
"udisks2"
|
||||
"xdg"
|
||||
];
|
||||
|
||||
ccr = {
|
||||
enable = true;
|
||||
autologin = true;
|
||||
modules = [
|
||||
"shell"
|
||||
"sway"
|
||||
"chrome"
|
||||
"cura"
|
||||
"digikam"
|
||||
"discord"
|
||||
"element"
|
||||
"emacs"
|
||||
"mpv"
|
||||
"firefox"
|
||||
"qutebrowser"
|
||||
"git"
|
||||
"gpg"
|
||||
"password-store"
|
||||
"slack"
|
||||
"chrome"
|
||||
"vscode"
|
||||
"element"
|
||||
"udiskie"
|
||||
"discord"
|
||||
"cura"
|
||||
"xdg"
|
||||
"helix"
|
||||
"mpv"
|
||||
"password-store"
|
||||
"qutebrowser"
|
||||
"shell"
|
||||
"slack"
|
||||
"sway"
|
||||
"udiskie"
|
||||
"vscode"
|
||||
"xdg"
|
||||
];
|
||||
packages = with pkgs; [
|
||||
comma
|
||||
|
|
64
modules/wireguardClient/default.nix
Normal file
64
modules/wireguardClient/default.nix
Normal file
|
@ -0,0 +1,64 @@
|
|||
# FIXME For some reson this doesnt' work
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
networking.firewall = {
|
||||
allowedUDPPorts = [51820]; # Clients and peers can use the same port, see listenport
|
||||
};
|
||||
networking.wireguard.interfaces = {
|
||||
# "wg0" is the network interface name. You can name the interface arbitrarily.
|
||||
wg0 = {
|
||||
# Determines the IP address and subnet of the client's end of the tunnel interface.
|
||||
ips = ["10.100.0.2/24"];
|
||||
listenPort = 51820; # to match firewall allowedUDPPorts (without this wg uses random port numbers)
|
||||
|
||||
# Path to the private key file.
|
||||
#
|
||||
# Note: The private key can also be included inline via the privateKey option,
|
||||
# but this makes the private key world-readable; thus, using privateKeyFile is
|
||||
# recommended.
|
||||
privateKeyFile = "/home/ccr/wg-private"; #TODO use agenix
|
||||
|
||||
peers = [
|
||||
# For a client configuration, one peer entry for the server will suffice.
|
||||
|
||||
{
|
||||
# Public key of the server (not a file path).
|
||||
publicKey = "fCwjd75CefC9A7WqO7s3xfOk2nRcoTKfnAzDT6Lc5AA=";
|
||||
|
||||
# Forward all the traffic via VPN.
|
||||
allowedIPs = ["0.0.0.0/0"];
|
||||
# Or forward only particular subnets
|
||||
#allowedIPs = [ "10.100.0.1" "91.108.12.0/22" ];
|
||||
|
||||
# Set this to the server IP and port.
|
||||
endpoint = "ccr.ydns.eu:51820"; # ToDo: route to endpoint not automatically configured https://wiki.archlinux.org/index.php/WireGuard#Loop_routing https://discourse.nixos.org/t/solved-minimal-firewall-setup-for-wireguard-client/7577
|
||||
|
||||
# Send keepalives every 25 seconds. Important to keep NAT tables alive.
|
||||
persistentKeepalive = 25;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
networking.wg-quick.interfaces = {
|
||||
wg0 = {
|
||||
address = ["10.0.0.2/24" "fdc9:281f:04d7:9ee9::2/64"];
|
||||
dns = ["10.0.0.1" "fdc9:281f:04d7:9ee9::1"];
|
||||
privateKeyFile = "/home/ccr/wg-private";
|
||||
|
||||
peers = [
|
||||
{
|
||||
publicKey = "fCwjd75CefC9A7WqO7s3xfOk2nRcoTKfnAzDT6Lc5AA=";
|
||||
# presharedKeyFile = "/root/wireguard-keys/preshared_from_peer0_key";
|
||||
allowedIPs = ["0.0.0.0/0" "::/0"];
|
||||
endpoint = "ccr.ydns.eu:51820";
|
||||
persistentKeepalive = 25;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Add table
Reference in a new issue