Compare commits
113 Commits
1e7cb6da53
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c3f1f0bfb1 | ||
|
|
9eddcb81db | ||
|
|
f475232dd4 | ||
|
|
a60f8e3412 | ||
|
|
170fe3a1dc | ||
|
|
bf25d47f15 | ||
|
|
f14771fe14 | ||
|
|
ef753f2450 | ||
|
|
b4055e9364 | ||
|
|
53f8093cdb | ||
|
|
cef4d8654a | ||
|
|
6fd520839b | ||
|
|
11de4c2054 | ||
|
|
b2b8ee0699 | ||
|
|
748accf147 | ||
|
|
2ee0e60f05 | ||
|
|
a04a60543d | ||
|
|
1702260451 | ||
|
|
a9b49ffbfb | ||
|
|
e48c699eeb | ||
|
|
76ccbfb451 | ||
|
|
a9338cb8b5 | ||
|
|
746f6b6402 | ||
|
|
cd2f9db375 | ||
|
|
c0af1940a3 | ||
|
|
f4aeaa9f12 | ||
|
|
d61db2ded8 | ||
|
|
dd0df124f9 | ||
|
|
d68035d1ba | ||
|
|
cf89db66c5 | ||
|
|
bdd457512a | ||
|
|
01a1c7089a | ||
|
|
39031aab84 | ||
|
|
62dd32207d | ||
|
|
807500b2ec | ||
|
|
d982906c39 | ||
|
|
cab5cebdad | ||
|
|
1ea4d41852 | ||
|
|
9c26cd9dc5 | ||
|
|
8ffd3c0de4 | ||
|
|
37e85d1980 | ||
|
|
bea4a38199 | ||
|
|
59d55a4a57 | ||
|
|
ace4589f0b | ||
|
|
68dc490280 | ||
|
|
9aed4fc0f1 | ||
|
|
36878b901b | ||
|
|
77c7c6b5b8 | ||
|
|
3b0395afc5 | ||
|
|
dff2f542ce | ||
|
|
6994a7cd81 | ||
|
|
5fb099f6fa | ||
|
|
04696bfd6d | ||
|
|
069b28a044 | ||
|
|
e590d46fb4 | ||
|
|
00656207bb | ||
|
|
9ba8a1c12c | ||
|
|
af0538d0ad | ||
|
|
b7b7575c9a | ||
|
|
fe2b03f05f | ||
|
|
bc1e5f662c | ||
|
|
1d20f77641 | ||
|
|
24efea29a8 | ||
| 40d00c42f7 | |||
|
|
57946e0735 | ||
|
|
2ac79a056a | ||
|
|
5b9124a80a | ||
| dff532246f | |||
| 7e3cbdf0cb | |||
| 6361f1666b | |||
| ff27ee7d7a | |||
| 120bdea6ca | |||
| fc29f76a8f | |||
| f078725db0 | |||
| ac836bfd4b | |||
| 7bf17aabc1 | |||
| cea298006f | |||
| 5e8cc7e3b1 | |||
| fa51599178 | |||
| a3eeb9c347 | |||
| ce0f62103a | |||
| bd927c0761 | |||
| d77a69af03 | |||
| d9c523cd53 | |||
| 5128e70e35 | |||
| cde0f30b68 | |||
| bbf3f37bac | |||
| 3f739e3b32 | |||
| 339d4af34c | |||
| 254b591a80 | |||
| a07fb93bfe | |||
| cd4dfddec5 | |||
| b6fd3e5a17 | |||
| c94f6e3956 | |||
| 34902172ee | |||
| 1b1f769d0d | |||
| 55fe8e12b1 | |||
| 444726af6c | |||
| cd9a2df603 | |||
| f03698c117 | |||
| b08d50f4c2 | |||
| eda64c4482 | |||
| 804f0fde90 | |||
| eca1c0fddb | |||
| a0c01ff9e6 | |||
| d8d07896fe | |||
| 4424978387 | |||
| dee11161e8 | |||
| 1febb52eda | |||
| c2744d9814 | |||
| 10e08a1fd8 | |||
| 16fa1884e9 | |||
| 55a9a835b9 |
30
.sops.yaml
30
.sops.yaml
@@ -1,13 +1,35 @@
|
|||||||
keys:
|
keys:
|
||||||
- &admin_ankaa age1079fszreaakwf6xnwu9kra8xcsp4e8q8ed3y99yrhjnz9n3t9pnsj05m97
|
- &admin_ankaa age1079fszreaakwf6xnwu9kra8xcsp4e8q8ed3y99yrhjnz9n3t9pnsj05m97
|
||||||
- &server_diphda age1rxqyz6watg05r3rzlme7grpgfgezhlt535gdl7psqys2ec8eegmqchfk4d
|
- &admin_alpheratz age1gdtjn3jgvvvspa86q3lnklflnvyf3s75y2rw23l7nk7hwcsfpg7qkq7msr
|
||||||
|
- &diphda age1rxqyz6watg05r3rzlme7grpgfgezhlt535gdl7psqys2ec8eegmqchfk4d
|
||||||
|
- &alpheratz age1cla0k3yffcelphkrmgz5upc0chgtdef25ne833jeqtapceux59rqkmhxf7
|
||||||
|
- &ankaa age15z4s7nts7ls5h3tu5zesghvnm3kj2qk3dsr004g8rwy578mq4q4qew7wl7
|
||||||
creation_rules:
|
creation_rules:
|
||||||
- path_regex: secrets/[^/]+\.(yaml|json|env|ini)$
|
- path_regex: secrets/[^/]+\.yaml$
|
||||||
key_groups:
|
key_groups:
|
||||||
- age:
|
- age:
|
||||||
- *admin_ankaa
|
- *admin_ankaa
|
||||||
- path_regex: secrets/diphda/[^/]+\.(yaml|json|env|ini)$
|
- *admin_alpheratz
|
||||||
|
- path_regex: secrets/shared/[^/]+\.(yaml|otf)$
|
||||||
key_groups:
|
key_groups:
|
||||||
- age:
|
- age:
|
||||||
- *admin_ankaa
|
- *admin_ankaa
|
||||||
- *server_diphda
|
- *admin_alpheratz
|
||||||
|
- *alpheratz
|
||||||
|
- *ankaa
|
||||||
|
- *diphda
|
||||||
|
- path_regex: secrets/ankaa/[^/]+\.yaml$
|
||||||
|
key_groups:
|
||||||
|
- age:
|
||||||
|
- *admin_ankaa
|
||||||
|
- path_regex: secrets/alpheratz/[^/]+\.yaml$
|
||||||
|
key_groups:
|
||||||
|
- age:
|
||||||
|
- *admin_alpheratz
|
||||||
|
- *alpheratz
|
||||||
|
- path_regex: secrets/diphda/[^/]+\.(yaml|keytab)$
|
||||||
|
key_groups:
|
||||||
|
- age:
|
||||||
|
- *admin_ankaa
|
||||||
|
- *admin_alpheratz
|
||||||
|
- *diphda
|
||||||
|
|||||||
@@ -1,122 +0,0 @@
|
|||||||
# Edit this configuration file to define what should be installed on
|
|
||||||
# your system. Help is available in the configuration.nix(5) man page, on
|
|
||||||
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
|
|
||||||
|
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports =
|
|
||||||
[ # Include the results of the hardware scan.
|
|
||||||
./hardware-configuration.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
# Use the systemd-boot EFI boot loader.
|
|
||||||
boot.loader.systemd-boot.enable = true;
|
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
|
||||||
|
|
||||||
# networking.hostName = "nixos"; # Define your hostname.
|
|
||||||
# Pick only one of the below networking options.
|
|
||||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
|
||||||
# networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
|
|
||||||
|
|
||||||
# Set your time zone.
|
|
||||||
# time.timeZone = "Europe/Amsterdam";
|
|
||||||
|
|
||||||
# Configure network proxy if necessary
|
|
||||||
# networking.proxy.default = "http://user:password@proxy:port/";
|
|
||||||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
|
||||||
|
|
||||||
# Select internationalisation properties.
|
|
||||||
# i18n.defaultLocale = "en_US.UTF-8";
|
|
||||||
# console = {
|
|
||||||
# font = "Lat2-Terminus16";
|
|
||||||
# keyMap = "us";
|
|
||||||
# useXkbConfig = true; # use xkb.options in tty.
|
|
||||||
# };
|
|
||||||
|
|
||||||
# Enable the X11 windowing system.
|
|
||||||
# services.xserver.enable = true;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Configure keymap in X11
|
|
||||||
# services.xserver.xkb.layout = "us";
|
|
||||||
# services.xserver.xkb.options = "eurosign:e,caps:escape";
|
|
||||||
|
|
||||||
# Enable CUPS to print documents.
|
|
||||||
# services.printing.enable = true;
|
|
||||||
|
|
||||||
# Enable sound.
|
|
||||||
# hardware.pulseaudio.enable = true;
|
|
||||||
# OR
|
|
||||||
# services.pipewire = {
|
|
||||||
# enable = true;
|
|
||||||
# pulse.enable = true;
|
|
||||||
# };
|
|
||||||
|
|
||||||
# Enable touchpad support (enabled default in most desktopManager).
|
|
||||||
# services.libinput.enable = true;
|
|
||||||
|
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
|
||||||
# users.users.alice = {
|
|
||||||
# isNormalUser = true;
|
|
||||||
# extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
|
|
||||||
# packages = with pkgs; [
|
|
||||||
# firefox
|
|
||||||
# tree
|
|
||||||
# ];
|
|
||||||
# };
|
|
||||||
|
|
||||||
# List packages installed in system profile. To search, run:
|
|
||||||
# $ nix search wget
|
|
||||||
# environment.systemPackages = with pkgs; [
|
|
||||||
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
|
||||||
# wget
|
|
||||||
# ];
|
|
||||||
|
|
||||||
# Some programs need SUID wrappers, can be configured further or are
|
|
||||||
# started in user sessions.
|
|
||||||
# programs.mtr.enable = true;
|
|
||||||
# programs.gnupg.agent = {
|
|
||||||
# enable = true;
|
|
||||||
# enableSSHSupport = true;
|
|
||||||
# };
|
|
||||||
|
|
||||||
# List services that you want to enable:
|
|
||||||
|
|
||||||
# Enable the OpenSSH daemon.
|
|
||||||
# services.openssh.enable = true;
|
|
||||||
|
|
||||||
# Open ports in the firewall.
|
|
||||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
|
||||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
|
||||||
# Or disable the firewall altogether.
|
|
||||||
# networking.firewall.enable = false;
|
|
||||||
|
|
||||||
# Copy the NixOS configuration file and link it from the resulting system
|
|
||||||
# (/run/current-system/configuration.nix). This is useful in case you
|
|
||||||
# accidentally delete configuration.nix.
|
|
||||||
# system.copySystemConfiguration = true;
|
|
||||||
|
|
||||||
# This option defines the first version of NixOS you have installed on this particular machine,
|
|
||||||
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
|
|
||||||
#
|
|
||||||
# Most users should NEVER change this value after the initial install, for any reason,
|
|
||||||
# even if you've upgraded your system to a new NixOS release.
|
|
||||||
#
|
|
||||||
# This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
|
|
||||||
# so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how
|
|
||||||
# to actually do that.
|
|
||||||
#
|
|
||||||
# This value being lower than the current NixOS release does NOT mean your system is
|
|
||||||
# out of date, out of support, or vulnerable.
|
|
||||||
#
|
|
||||||
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
|
|
||||||
# and migrated your data accordingly.
|
|
||||||
#
|
|
||||||
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
|
|
||||||
system.stateVersion = "24.05"; # Did you read the comment?
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
186
flake.lock
generated
186
flake.lock
generated
@@ -1,15 +1,37 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"currentSystem": {
|
"flake-compat": {
|
||||||
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1717721450,
|
"lastModified": 1747046372,
|
||||||
"narHash": "sha256-V2OISNdFOCaFrUjA6fLVe3HsZC9nn7vMjGfhKSHTRIk=",
|
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
|
||||||
"path": "/etc/nixos/hostname",
|
"owner": "edolstra",
|
||||||
"type": "path"
|
"repo": "flake-compat",
|
||||||
|
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
|
||||||
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"path": "/etc/nixos/hostname",
|
"owner": "edolstra",
|
||||||
"type": "path"
|
"repo": "flake-compat",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-parts": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1730504689,
|
||||||
|
"narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"rev": "506278e768c2a08bec68eb62932193e341f55c90",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-utils": {
|
"flake-utils": {
|
||||||
@@ -17,11 +39,11 @@
|
|||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1710146030,
|
"lastModified": 1731533236,
|
||||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -37,16 +59,16 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718530513,
|
"lastModified": 1747688870,
|
||||||
"narHash": "sha256-BmO8d0r+BVlwWtMLQEYnwmngqdXIuyFzMwvmTcLMee8=",
|
"narHash": "sha256-ypL9WAZfmJr5V70jEVzqGjjQzF0uCkz+AFQF7n9NmNc=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "a1fddf0967c33754271761d91a3d921772b30d0e",
|
"rev": "d5f1f641b289553927b3801580598d200a501863",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"ref": "release-24.05",
|
"ref": "release-24.11",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@@ -58,11 +80,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719037157,
|
"lastModified": 1761845621,
|
||||||
"narHash": "sha256-aOKd8+mhBsLQChCu1mn/W5ww79ta5cXVE59aJFrifM8=",
|
"narHash": "sha256-d+R4MHsGmdebvSMsYUFWONsZSlUbOo8Zq/wjMdMiIac=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "cd886711998fe5d9ff7979fdd4b4cbd17b1f1511",
|
"rev": "97e3022a8d2c09313fa49847f6da4d76abcfc72d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -71,61 +93,95 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"llama-cpp": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-parts": "flake-parts",
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1761867267,
|
||||||
|
"narHash": "sha256-b2vU6HzMR26JnHmnkvNZgefyfzAZOi9wLZdA+WOymHU=",
|
||||||
|
"owner": "ggerganov",
|
||||||
|
"repo": "llama.cpp",
|
||||||
|
"rev": "6eb208d17ea29bb60295d9a2b5e7122dfb8f4b55",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "ggerganov",
|
||||||
|
"repo": "llama.cpp",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nix-matlab": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": "flake-compat",
|
||||||
|
"nixpkgs": "nixpkgs_2"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1754476755,
|
||||||
|
"narHash": "sha256-vSF0VMEmPMzwNkrXIZwkhOSYmKES9BaDK/LlEe7/q8E=",
|
||||||
|
"owner": "doronbehar",
|
||||||
|
"repo": "nix-matlab",
|
||||||
|
"rev": "0e9c9fb660f9e1a1e4d59fd083e0212a15b513e2",
|
||||||
|
"type": "gitlab"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "doronbehar",
|
||||||
|
"repo": "nix-matlab",
|
||||||
|
"type": "gitlab"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718276985,
|
"lastModified": 1732014248,
|
||||||
"narHash": "sha256-u1fA0DYQYdeG+5kDm1bOoGcHtX0rtC7qs2YA2N1X++I=",
|
"narHash": "sha256-y/MEyuJ5oBWrWAic/14LaIr/u5E0wRVzyYsouYY3W6w=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "3f84a279f1a6290ce154c5531378acc827836fbb",
|
"rev": "23e89b7da85c3640bbc2173fe04f4bd114342367",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "nixpkgs-unstable",
|
"ref": "nixos-unstable",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs-lib": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1730504152,
|
||||||
|
"narHash": "sha256-lXvH/vOfb4aGYyvFmZK/HlsNsr/0CVWlwYvo2rxJk3s=",
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://github.com/NixOS/nixpkgs/archive/cc2f28000298e1269cea6612cd06ec9979dd5d7f.tar.gz"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://github.com/NixOS/nixpkgs/archive/cc2f28000298e1269cea6612cd06ec9979dd5d7f.tar.gz"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718835956,
|
"lastModified": 1751274312,
|
||||||
"narHash": "sha256-wM9v2yIxClRYsGHut5vHICZTK7xdrUGfrLkXvSuv6s4=",
|
"narHash": "sha256-/bVBlRpECLVzjV19t5KMdMFWSwKLtb5RyXdjz3LJT+g=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "dd457de7e08c6d06789b1f5b88fc9327f4d96309",
|
"rev": "50ab793786d9de88ee30ec4e4c24fb4236fc2674",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"ref": "nixos-24.05",
|
"ref": "nixos-24.11",
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs-stable_2": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1718478900,
|
|
||||||
"narHash": "sha256-v43N1gZLcGkhg3PdcrKUNIZ1L0FBzB2JqhIYEyKAHEs=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "c884223af91820615a6146af1ae1fea25c107005",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "release-23.11",
|
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718895438,
|
"lastModified": 1761672384,
|
||||||
"narHash": "sha256-k3JqJrkdoYwE3fHE6xGDY676AYmyh4U2Zw+0Bwe5DLU=",
|
"narHash": "sha256-o9KF3DJL7g7iYMZq9SWgfS1BFlNbsm6xplRjVlOCkXI=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "d603719ec6e294f034936c0d0dc06f689d91b6c3",
|
"rev": "08dacfca559e1d7da38f3cf05f1f45ee9bfd213c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -135,12 +191,43 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1754340878,
|
||||||
|
"narHash": "sha256-lgmUyVQL9tSnvvIvBp7x1euhkkCho7n3TMzgjdvgPoU=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "cab778239e705082fe97bb4990e0d24c50924c04",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"id": "nixpkgs",
|
||||||
|
"type": "indirect"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_3": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1760596604,
|
||||||
|
"narHash": "sha256-J/i5K6AAz/y5dBePHQOuzC7MbhyTOKsd/GLezSbEFiM=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "3cbe716e2346710d6e1f7c559363d14e11c32a43",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"currentSystem": "currentSystem",
|
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils",
|
||||||
"home-manager-stable": "home-manager-stable",
|
"home-manager-stable": "home-manager-stable",
|
||||||
"home-manager-unstable": "home-manager-unstable",
|
"home-manager-unstable": "home-manager-unstable",
|
||||||
|
"llama-cpp": "llama-cpp",
|
||||||
|
"nix-matlab": "nix-matlab",
|
||||||
"nixpkgs-stable": "nixpkgs-stable",
|
"nixpkgs-stable": "nixpkgs-stable",
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||||
"sops-nix": "sops-nix"
|
"sops-nix": "sops-nix"
|
||||||
@@ -148,15 +235,14 @@
|
|||||||
},
|
},
|
||||||
"sops-nix": {
|
"sops-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs_3"
|
||||||
"nixpkgs-stable": "nixpkgs-stable_2"
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718506969,
|
"lastModified": 1760998189,
|
||||||
"narHash": "sha256-Pm9I/BMQHbsucdWf6y9G3xBZh3TMlThGo4KBbeoeczg=",
|
"narHash": "sha256-ee2e1/AeGL5X8oy/HXsZQvZnae6XfEVdstGopKucYLY=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "797ce4c1f45a85df6dd3d9abdc53f2691bea9251",
|
"rev": "5a7d18b5c55642df5c432aadb757140edfeb70b3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
476
flake.nix
476
flake.nix
@@ -2,13 +2,11 @@
|
|||||||
description = "NixOS configuration";
|
description = "NixOS configuration";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
currentSystem.url = "path:/etc/nixos/hostname";
|
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11";
|
||||||
|
|
||||||
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.05";
|
|
||||||
|
|
||||||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
home-manager-stable.url = "github:nix-community/home-manager/release-24.05";
|
home-manager-stable.url = "github:nix-community/home-manager/release-24.11";
|
||||||
home-manager-stable.inputs.nixpkgs.follows = "nixpkgs-stable";
|
home-manager-stable.inputs.nixpkgs.follows = "nixpkgs-stable";
|
||||||
|
|
||||||
home-manager-unstable.url = "github:nix-community/home-manager";
|
home-manager-unstable.url = "github:nix-community/home-manager";
|
||||||
@@ -18,220 +16,302 @@
|
|||||||
|
|
||||||
sops-nix.url = "github:Mic92/sops-nix";
|
sops-nix.url = "github:Mic92/sops-nix";
|
||||||
|
|
||||||
|
llama-cpp.url = "github:ggerganov/llama.cpp";
|
||||||
|
|
||||||
|
nix-matlab.url = "gitlab:doronbehar/nix-matlab";
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs@{ self
|
outputs = inputs@{ self
|
||||||
, currentSystem
|
|
||||||
, nixpkgs-stable
|
, nixpkgs-stable
|
||||||
, nixpkgs-unstable
|
, nixpkgs-unstable
|
||||||
, home-manager-stable
|
, home-manager-stable
|
||||||
, home-manager-unstable
|
, home-manager-unstable
|
||||||
, flake-utils
|
, flake-utils
|
||||||
, sops-nix
|
, sops-nix
|
||||||
|
, llama-cpp
|
||||||
|
, nix-matlab
|
||||||
, ...
|
, ...
|
||||||
}: let
|
}:
|
||||||
inherit (self) outputs;
|
let
|
||||||
inherit (currentSystem) hostname;
|
inherit (self) outputs;
|
||||||
|
lib = nixpkgs-stable.lib;
|
||||||
|
|
||||||
overlays = import ./overlays { inherit inputs; };
|
overlays = import ./overlays { inherit inputs; };
|
||||||
utils = import ./utils;
|
utils = import ./utils;
|
||||||
|
|
||||||
configs."ankaa" = {
|
configs = [
|
||||||
system = "x86_64-linux";
|
{
|
||||||
common.nixpkgs = "unstable";
|
hostname = "ankaa";
|
||||||
|
system = "x86_64-linux";
|
||||||
openssh = {
|
nixpkgs = nixpkgs-unstable;
|
||||||
enable = true;
|
home-manager = home-manager-unstable;
|
||||||
port = 2222;
|
|
||||||
};
|
options = {
|
||||||
|
openssh = {
|
||||||
|
enable = true;
|
||||||
|
port = 2222;
|
||||||
|
};
|
||||||
|
|
||||||
backup = {
|
backup = {
|
||||||
enable = true;
|
enable = true;
|
||||||
user = "eesim";
|
user = "eesim";
|
||||||
paths = [ "/home/eesim" ];
|
paths = [ "/home/eesim" ];
|
||||||
repo = "rf030789@rf030789.repo.borgbase.com:repo";
|
repo = "rf030789@rf030789.repo.borgbase.com:repo";
|
||||||
excludes = [
|
excludes = [
|
||||||
"/home/eesim/.local/share/Steam/steamapps/common"
|
"/home/eesim/.local/share/Steam/steamapps/common"
|
||||||
"/home/eesim/.cache"
|
"/home/eesim/.cache"
|
||||||
];
|
"/home/eesim/llama/models"
|
||||||
passphrase = "/home/eesim/.ssh/borgbase_passphrase";
|
"/home/eesim/.local/share/Trash"
|
||||||
key = "/home/eesim/.ssh/id_ed25519_borgbase";
|
"/home/eesim/Games"
|
||||||
repeat = "daily";
|
"/home/eesim/nixpkgs"
|
||||||
};
|
];
|
||||||
|
passphrase = "/home/eesim/.ssh/borgbase_passphrase";
|
||||||
|
key = "/home/eesim/.ssh/id_ed25519_borgbase";
|
||||||
|
repeat = "daily";
|
||||||
|
};
|
||||||
|
|
||||||
audio = {
|
audio = {
|
||||||
pipewire.enable = true;
|
pipewire.enable = true;
|
||||||
music.enable = true;
|
music.enable = true;
|
||||||
tools = {
|
tools = {
|
||||||
helvum = true;
|
helvum = true;
|
||||||
easyeffects = true;
|
easyeffects = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
gui = {
|
term = {
|
||||||
enable = true;
|
terminal = "kitty";
|
||||||
protonmail = true;
|
font = "codelia";
|
||||||
matrix = true;
|
};
|
||||||
gtk = false;
|
|
||||||
|
|
||||||
sway = {
|
gui = {
|
||||||
enable = true;
|
enable = true;
|
||||||
desktop = true;
|
protonmail = true;
|
||||||
};
|
secrets = true;
|
||||||
|
gtk = false;
|
||||||
|
|
||||||
monitors = pkgs.lib.mkMerge [
|
sway = {
|
||||||
(utils.mkMonitor {
|
enable = true;
|
||||||
monitor = "DP-2";
|
desktop = true;
|
||||||
resolution = "3440x1440";
|
|
||||||
refreshRate = 144;
|
|
||||||
x = 1920;
|
|
||||||
wallpaper = "ship_moon.png";
|
|
||||||
})
|
|
||||||
(utils.mkMonitor {
|
|
||||||
monitor = "HDMI-A-1";
|
|
||||||
resolution = "1920x1080";
|
|
||||||
refreshRate = 75;
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
games = {
|
|
||||||
enable = true;
|
|
||||||
lutris.enable = true;
|
|
||||||
minecraft.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
common.nil.enable = true;
|
|
||||||
|
|
||||||
networking = {
|
|
||||||
wireguard.enable = true;
|
|
||||||
nameservers = [ "192.168.0.100" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
configs."alpheratz" = {
|
|
||||||
system = "x86_64-linux";
|
|
||||||
common.nixpkgs = "unstable";
|
|
||||||
|
|
||||||
audio = {
|
|
||||||
pipewire.enable = true;
|
|
||||||
music.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
gui = {
|
|
||||||
enable = true;
|
|
||||||
protonmail = true;
|
|
||||||
matrix = true;
|
|
||||||
|
|
||||||
sway = {
|
|
||||||
enable = true;
|
|
||||||
desktop = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
monitors = utils.mkMonitor {
|
|
||||||
monitor = "eDP-1";
|
|
||||||
resolution = "1920x1200";
|
|
||||||
refreshRate = 60;
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
common.nil.enable = true;
|
|
||||||
|
|
||||||
networking = {
|
|
||||||
wireguard.enable = true;
|
|
||||||
nameservers = [ "192.168.0.100" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
configs.diphda = {
|
|
||||||
system = "x86_64-linux";
|
|
||||||
common.nixpkgs = "stable";
|
|
||||||
|
|
||||||
openssh.enable = true;
|
|
||||||
|
|
||||||
gui = {
|
|
||||||
enable = false;
|
|
||||||
sway.enable = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
networking = {
|
|
||||||
firewall = {
|
|
||||||
allowedTCPPorts = [ 80 443 25565 24454 8089 ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
currentConfig = configs."${hostname}";
|
|
||||||
system = currentConfig.system;
|
|
||||||
|
|
||||||
nixpkgs = if currentConfig.common.nixpkgs == "unstable" then
|
|
||||||
nixpkgs-unstable
|
|
||||||
else
|
|
||||||
nixpkgs-stable;
|
|
||||||
|
|
||||||
home-manager = if currentConfig.common.nixpkgs == "unstable" then
|
|
||||||
home-manager-unstable
|
|
||||||
else
|
|
||||||
home-manager-stable;
|
|
||||||
|
|
||||||
pkgs = import nixpkgs {
|
|
||||||
inherit system;
|
|
||||||
overlays = with overlays; [ gamescope ];
|
|
||||||
config.allowUnfree = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
systemConfig = if builtins.pathExists (./. + "/hosts/${hostname}/system.nix") then
|
|
||||||
(./. + "/hosts/${hostname}/system.nix")
|
|
||||||
else
|
|
||||||
./hosts/default/system.nix;
|
|
||||||
|
|
||||||
homeConfig = if builtins.pathExists (./. + "/hosts/${hostname}/home.nix") then
|
|
||||||
(./. + "/hosts/${hostname}/home.nix")
|
|
||||||
else
|
|
||||||
./hosts/default/home.nix;
|
|
||||||
|
|
||||||
in {
|
|
||||||
nixosConfigurations = {
|
|
||||||
"${hostname}" = nixpkgs.lib.nixosSystem {
|
|
||||||
specialArgs = {
|
|
||||||
inherit (outputs) localPackages;
|
|
||||||
inherit pkgs;
|
|
||||||
};
|
|
||||||
modules = [
|
|
||||||
{
|
|
||||||
networking.hostName = hostname;
|
|
||||||
simmer = currentConfig;
|
|
||||||
}
|
|
||||||
systemConfig
|
|
||||||
(./. + "/hosts/${hostname}/hardware-configuration.nix")
|
|
||||||
sops-nix.nixosModules.sops
|
|
||||||
(import ./modules/nix)
|
|
||||||
(import ./modules/options)
|
|
||||||
home-manager.nixosModules.home-manager
|
|
||||||
{
|
|
||||||
home-manager.useGlobalPkgs = true;
|
|
||||||
home-manager.useUserPackages = true;
|
|
||||||
home-manager.extraSpecialArgs = {
|
|
||||||
inherit utils;
|
|
||||||
systemConfig = configs."${hostname}";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager.users.eesim = import homeConfig;
|
monitors = lib.mkMerge [
|
||||||
}
|
(utils.mkMonitor {
|
||||||
];
|
monitor = "DP-2";
|
||||||
};
|
resolution = "3440x1440";
|
||||||
};
|
refreshRate = 144;
|
||||||
localPackages = pkgs.lib.genAttrs flake-utils.lib.defaultSystems (system:
|
wallpaper = "solar_system.png";
|
||||||
{
|
})
|
||||||
kickoff-dot-desktop = pkgs.callPackage ./pkgs/kickoff-dot-desktop.nix {};
|
(utils.mkMonitor {
|
||||||
gamescope-old = pkgs.callPackage ./pkgs/gamescope-old {};
|
monitor = "HDMI-A-1";
|
||||||
gamescope-dbg = pkgs.callPackage ./pkgs/gamescope-dbg {};
|
resolution = "1920x1080";
|
||||||
|
x = 3440;
|
||||||
|
refreshRate = 75;
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
school = {
|
||||||
|
enable = true;
|
||||||
|
citrix = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
games = {
|
||||||
|
enable = true;
|
||||||
|
lutris.enable = true;
|
||||||
|
minecraft.enable = true;
|
||||||
|
vintagestory.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
common.nil.enable = true;
|
||||||
|
|
||||||
|
networking = {
|
||||||
|
wireguard.enable = true;
|
||||||
|
firewall.allowedTCPPorts = [ 8080 ];
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
hostname = "alpheratz";
|
||||||
|
system = "x86_64-linux";
|
||||||
|
nixpkgs = nixpkgs-unstable;
|
||||||
|
home-manager = home-manager-unstable;
|
||||||
|
|
||||||
|
options = {
|
||||||
|
laptop = {
|
||||||
|
powersave.enable = true;
|
||||||
|
backlight.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
audio = {
|
||||||
|
pipewire.enable = true;
|
||||||
|
music.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
gui = {
|
||||||
|
enable = true;
|
||||||
|
protonmail = true;
|
||||||
|
|
||||||
|
sway = {
|
||||||
|
enable = true;
|
||||||
|
desktop = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
monitors = utils.mkMonitor {
|
||||||
|
monitor = "eDP-1";
|
||||||
|
resolution = "1920x1200";
|
||||||
|
refreshRate = 60;
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
school = {
|
||||||
|
enable = true;
|
||||||
|
citrix = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
games = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
backup = {
|
||||||
|
user = "eesim";
|
||||||
|
paths = [ "/home/eesim" ];
|
||||||
|
repo = "t643s856@t643s856.repo.borgbase.com:repo";
|
||||||
|
excludes = [
|
||||||
|
"/home/eesim/.cache/"
|
||||||
|
"/home/eesim/configs/mc-distant-horizons"
|
||||||
|
"/home/eesim/configs/mc-arcadia"
|
||||||
|
];
|
||||||
|
key = "/home/eesim/.ssh/id_ed25519";
|
||||||
|
passphrase = "/run/secrets/borgbase/nix-alpheratz";
|
||||||
|
repeat = "daily";
|
||||||
|
};
|
||||||
|
|
||||||
|
common.nil.enable = true;
|
||||||
|
|
||||||
|
networking = {
|
||||||
|
wireguard.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
term.terminal = "kitty";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
hostname = "diphda";
|
||||||
|
system = "x86_64-linux";
|
||||||
|
nixpkgs = nixpkgs-stable;
|
||||||
|
home-manager = home-manager-stable;
|
||||||
|
|
||||||
|
options = {
|
||||||
|
openssh.enable = true;
|
||||||
|
|
||||||
|
backup = {
|
||||||
|
enable = true;
|
||||||
|
user = "eesim";
|
||||||
|
paths = [ "/home/eesim" ];
|
||||||
|
repo = "ssh://p9h977h3@p9h977h3.repo.borgbase.com/./repo";
|
||||||
|
excludes = [
|
||||||
|
"/home/eesim/.cache"
|
||||||
|
];
|
||||||
|
passphrase = "/run/secrets/backup/repo_password";
|
||||||
|
key = "/home/eesim/.ssh/id_ed25519_borgbase";
|
||||||
|
repeat = "daily";
|
||||||
|
};
|
||||||
|
|
||||||
|
networking = {
|
||||||
|
firewall = {
|
||||||
|
allowedTCPPorts = [ 80 443 3000 3843 4533 5030 6600 6722 7474 7878 8000 8080 8081 8083 8089 8096 8120 8181 8443 8787 8889 8902 8989 8998 9000 9091 9696 11112 13378 24454 25565 25600 50300 ];
|
||||||
|
allowedUDPPorts = [ 3478 10001 ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
in {
|
||||||
|
nixosConfigurations = builtins.listToAttrs (map (config:
|
||||||
|
let
|
||||||
|
inherit (config) nixpkgs home-manager system hostname;
|
||||||
|
|
||||||
|
pkgs = import nixpkgs {
|
||||||
|
inherit system;
|
||||||
|
overlays = with overlays; [ printrun shadps4 nix-matlab.overlay ];
|
||||||
|
config = {
|
||||||
|
allowUnfree = true;
|
||||||
|
permittedInsecurePackages = [
|
||||||
|
"electron-31.7.7"
|
||||||
|
# TODO: Remove when fixed https://github.com/NixOS/nixpkgs/issues/433004
|
||||||
|
"libsoup-2.74.3"
|
||||||
|
"libxml2-2.13.8"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# TODO: Remove when Citrix is fixed
|
||||||
|
pkgs_stable_tmp = import nixpkgs-stable {
|
||||||
|
inherit system;
|
||||||
|
config = {
|
||||||
|
allowUnfree = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
localPackages = pkgs.lib.genAttrs flake-utils.lib.defaultSystems (system: {
|
||||||
|
kickoff-dot-desktop = pkgs.callPackage ./pkgs/kickoff-dot-desktop.nix {};
|
||||||
|
jhelioviewer = pkgs.callPackage ./pkgs/jhelioviewer.nix {};
|
||||||
|
llama-cpp = llama-cpp.packages.${system}.rocm;
|
||||||
|
shadps4 = pkgs.callPackage ./pkgs/shadps4.nix {};
|
||||||
|
gazou = pkgs.callPackage ./pkgs/gazou.nix {};
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
systemConfig = if builtins.pathExists (./. + "/hosts/${hostname}/system.nix") then
|
||||||
|
(./. + "/hosts/${hostname}/system.nix")
|
||||||
|
else
|
||||||
|
./hosts/default/system.nix;
|
||||||
|
|
||||||
|
homeConfig = if builtins.pathExists (./. + "/hosts/${hostname}/home.nix") then
|
||||||
|
(./. + "/hosts/${hostname}/home.nix")
|
||||||
|
else
|
||||||
|
./hosts/default/home.nix;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
name = config.hostname;
|
||||||
|
value = nixpkgs.lib.nixosSystem {
|
||||||
|
specialArgs = {
|
||||||
|
inherit localPackages;
|
||||||
|
inherit pkgs;
|
||||||
|
inherit pkgs_stable_tmp;
|
||||||
|
};
|
||||||
|
modules = [
|
||||||
|
{
|
||||||
|
networking.hostName = hostname;
|
||||||
|
simmer = config.options;
|
||||||
|
nix.settings.trusted-users = [ "eesim" ];
|
||||||
|
}
|
||||||
|
systemConfig
|
||||||
|
(./. + "/hosts/${hostname}/hardware-configuration.nix")
|
||||||
|
sops-nix.nixosModules.sops
|
||||||
|
(import ./modules/nix)
|
||||||
|
(import ./modules/options)
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
|
{
|
||||||
|
home-manager.useGlobalPkgs = true;
|
||||||
|
home-manager.useUserPackages = true;
|
||||||
|
home-manager.extraSpecialArgs = {
|
||||||
|
inherit utils;
|
||||||
|
inherit localPackages;
|
||||||
|
systemConfig = config.options;
|
||||||
|
};
|
||||||
|
|
||||||
|
home-manager.users.eesim = import homeConfig;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
})
|
||||||
|
configs
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
outputs { ... }: {
|
|
||||||
# Replace with system hostname and rename to flake.nix
|
|
||||||
hostname = "<hostname>";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,13 +1,41 @@
|
|||||||
if status is-interactive
|
if status is-interactive
|
||||||
### Local environment variables
|
fish_add_path "/home/eesim/.cargo/bin/"
|
||||||
|
|
||||||
|
set fish_greeting
|
||||||
|
|
||||||
|
set fish_cursor_default block
|
||||||
|
set fish_cursor_insert line
|
||||||
|
set fish_cursor_replace_one underscore
|
||||||
|
set fish_cursor_replace underscore
|
||||||
|
set fish_cursor_external line
|
||||||
|
set fish_cursor_visual block
|
||||||
|
|
||||||
|
function fish_mode_prompt
|
||||||
|
end
|
||||||
|
|
||||||
|
### Local environment variables
|
||||||
|
set -x DENO_INSTALL "/home/eesim/.deno"
|
||||||
|
|
||||||
|
direnv hook fish | source
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
if status is-login
|
||||||
|
|
||||||
|
# SSH settings
|
||||||
|
eval (ssh-agent -c)
|
||||||
|
ssh-add /home/eesim/.ssh/id_ed25519
|
||||||
|
|
||||||
|
# Set environment variables in /etc/profile.d/
|
||||||
|
# exec bash -c "test -e /etc/profile && source /etc/profile"
|
||||||
|
|
||||||
|
# Disable GTK portal
|
||||||
|
set -x GTK_USE_PORTAL "0"
|
||||||
|
|
||||||
|
|
||||||
|
# Java fix
|
||||||
|
set -x _JAVA_AWT_WM_NONREPARENTING "1"
|
||||||
|
|
||||||
set -g fish_greeting
|
|
||||||
set -g fish_cursor_default block
|
|
||||||
set -g fish_cursor_insert line
|
|
||||||
set -g fish_cursor_replace_one underscore
|
|
||||||
set -g fish_cursor_replace underscore
|
|
||||||
set -g fish_cursor_external line
|
|
||||||
set -g fish_cursor_visual block
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -15,33 +43,3 @@ if test (tty) = "/dev/tty1"
|
|||||||
sway
|
sway
|
||||||
end
|
end
|
||||||
|
|
||||||
if status is-login
|
|
||||||
|
|
||||||
### Environment Variables
|
|
||||||
|
|
||||||
# Set nvim to default editor
|
|
||||||
set -x SUDO_EDITOR = "/usr/bin/nvim"
|
|
||||||
|
|
||||||
# Set R library location
|
|
||||||
set -x R_LIBS_USER = "/home/eesim/.local/lib/R"
|
|
||||||
|
|
||||||
# Disable GTK portal
|
|
||||||
set -x GTK_USE_PORTAL=0
|
|
||||||
|
|
||||||
# Wayland environment variables
|
|
||||||
set -x XDG_CURRENT_DESKTOP = "sway"
|
|
||||||
set -x XDG_CURRENT_SESSION = "sway"
|
|
||||||
set -x XDG_SESSION_TYPE = "wayland"
|
|
||||||
set -x ELECTRON_OZONE_PLATFORM_HINT = "auto"
|
|
||||||
set -x QT_QPA_PLATFORM = "wayland;xcb"
|
|
||||||
set -x SDL_VIDEODRIVER = "wayland,x11"
|
|
||||||
|
|
||||||
# Java fix
|
|
||||||
set -x _JAVA_AWT_WM_NONREPARENTING = "1"
|
|
||||||
|
|
||||||
### Themes
|
|
||||||
set -x QT_QPA_PLATFORMTHEME = "qt5ct"
|
|
||||||
|
|
||||||
### Start fish
|
|
||||||
exec fish
|
|
||||||
end
|
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
require('config/keymaps')
|
|
||||||
require('config/settings')
|
|
||||||
require('config/plugins')
|
|
||||||
require('config/plugins/lualine')
|
|
||||||
require('config/plugins/lspconfig')
|
|
||||||
|
|
||||||
local vimscriptpath = vim.fn.stdpath("config") .. "/lua/config/vimscript/"
|
|
||||||
|
|
||||||
vim.cmd('source' .. vimscriptpath .. 'init.vim')
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
{
|
|
||||||
"cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
|
|
||||||
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
|
||||||
"fzf-lua": { "branch": "main", "commit": "b442569ab827f72e344236c598b02cb9dc754e9f" },
|
|
||||||
"kanagawa.nvim": { "branch": "master", "commit": "860e4f80df71221d18bf2cd9ef1deb4d364274d2" },
|
|
||||||
"lazy.nvim": { "branch": "main", "commit": "8f19915175395680808de529e4220da8dafc0759" },
|
|
||||||
"lualine.nvim": { "branch": "master", "commit": "0a5a66803c7407767b799067986b4dc3036e1983" },
|
|
||||||
"nvim-autopairs": { "branch": "master", "commit": "c15de7e7981f1111642e7e53799e1211d4606cb9" },
|
|
||||||
"nvim-cmp": { "branch": "main", "commit": "5260e5e8ecadaf13e6b82cf867a909f54e15fd07" },
|
|
||||||
"nvim-lspconfig": { "branch": "master", "commit": "b972e7154bc94ab4ecdbb38c8edbccac36f83996" },
|
|
||||||
"nvim-surround": { "branch": "main", "commit": "79aaa42da1f698ed31bcbe7f83081f69dca7ba17" },
|
|
||||||
"nvim-web-devicons": { "branch": "master", "commit": "e37bb1feee9e7320c76050a55443fa843b4b6f83" },
|
|
||||||
"rust.vim": { "branch": "master", "commit": "889b9a7515db477f4cb6808bef1769e53493c578" },
|
|
||||||
"typst.vim": { "branch": "main", "commit": "d9a7650e76c85f8ba437e056d08dd43b01b8bfd6" }
|
|
||||||
}
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
vim.g.mapleader=','
|
|
||||||
vim.g.maplocalleader=','
|
|
||||||
|
|
||||||
vim.keymap.set('n', '<C-h>', '<C-w>h')
|
|
||||||
vim.keymap.set('n', '<C-j>', '<C-w>j')
|
|
||||||
vim.keymap.set('n', '<C-k>', '<C-w>k')
|
|
||||||
vim.keymap.set('n', '<C-l>', '<C-w>l')
|
|
||||||
|
|
||||||
vim.keymap.set('n', '<leader>ff', ':FzfLua files<CR>')
|
|
||||||
vim.keymap.set('n', '<leader>fb', ':FzfLua buffers<CR>')
|
|
||||||
vim.keymap.set('n', '<leader>rg', ':FzfLua grep<CR>')
|
|
||||||
|
|
||||||
vim.keymap.set('i', '<S-Tab>', '<C-d>')
|
|
||||||
|
|
||||||
vim.keymap.set('n', 'K', vim.lsp.buf.hover, opts)
|
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
local plugins = {
|
|
||||||
'rebelot/kanagawa.nvim',
|
|
||||||
|
|
||||||
'nvim-lualine/lualine.nvim',
|
|
||||||
'kyazdani42/nvim-web-devicons',
|
|
||||||
|
|
||||||
'kylechui/nvim-surround',
|
|
||||||
|
|
||||||
'ibhagwan/fzf-lua',
|
|
||||||
|
|
||||||
'neovim/nvim-lspconfig',
|
|
||||||
'hrsh7th/nvim-cmp',
|
|
||||||
'hrsh7th/cmp-nvim-lsp',
|
|
||||||
'hrsh7th/cmp-path',
|
|
||||||
|
|
||||||
'rust-lang/rust.vim',
|
|
||||||
|
|
||||||
{
|
|
||||||
'windwp/nvim-autopairs',
|
|
||||||
event = 'InsertEnter',
|
|
||||||
opts={},
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
'kaarmu/typst.vim',
|
|
||||||
ft = 'typst',
|
|
||||||
lazy = false,
|
|
||||||
},
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
|
||||||
if not vim.loop.fs_stat(lazypath) then
|
|
||||||
vim.fn.system({
|
|
||||||
"git",
|
|
||||||
"clone",
|
|
||||||
"--filter=blob:none",
|
|
||||||
"https://github.com/folke/lazy.nvim.git",
|
|
||||||
"--branch=stable", -- latest stable release
|
|
||||||
lazypath,
|
|
||||||
})
|
|
||||||
end
|
|
||||||
vim.opt.rtp:prepend(lazypath)
|
|
||||||
|
|
||||||
require("lazy").setup(plugins, opts)
|
|
||||||
@@ -1,59 +0,0 @@
|
|||||||
local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
|
||||||
capabilities.textDocument.completion.completionItem.snippetSupport = false;
|
|
||||||
|
|
||||||
local lspconfig = require('lspconfig')
|
|
||||||
|
|
||||||
lspconfig.rust_analyzer.setup {
|
|
||||||
capabilities = capabilities,
|
|
||||||
settings = {
|
|
||||||
["rust-analyzer"] = {
|
|
||||||
cargo = {
|
|
||||||
allFeatures = true,
|
|
||||||
},
|
|
||||||
imports = {
|
|
||||||
group = {
|
|
||||||
enable = false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
completion = {
|
|
||||||
postfix = {
|
|
||||||
enable = false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
local servers = {'ccls', 'typst_lsp'}
|
|
||||||
|
|
||||||
for _, lsp in ipairs(servers) do
|
|
||||||
lspconfig[lsp].setup {
|
|
||||||
capabilities = capabilities
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
local cmp = require 'cmp'
|
|
||||||
|
|
||||||
cmp.setup {
|
|
||||||
preselect = cmp.PreselectMode.None,
|
|
||||||
mapping = cmp.mapping.preset.insert({
|
|
||||||
['<Tab>'] = cmp.mapping(function(fallback)
|
|
||||||
if cmp.visible() then
|
|
||||||
cmp.select_next_item()
|
|
||||||
else
|
|
||||||
fallback()
|
|
||||||
end
|
|
||||||
end, { 'i', 's' }),
|
|
||||||
['<S-Tab>'] = cmp.mapping(function(fallback)
|
|
||||||
if cmp.visible() then
|
|
||||||
cmp.select_prev_item()
|
|
||||||
else
|
|
||||||
fallback()
|
|
||||||
end
|
|
||||||
end, { 'i', 's' }),
|
|
||||||
}),
|
|
||||||
sources = {
|
|
||||||
{ name = 'nvim_lsp' },
|
|
||||||
{ name = 'path' },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
require('lualine').setup {
|
|
||||||
options = {
|
|
||||||
icons_enabled = true,
|
|
||||||
theme = 'wombat',
|
|
||||||
component_separators = { left = '', right = ''},
|
|
||||||
section_separators = { left = '', right = ''},
|
|
||||||
disabled_filetypes = {},
|
|
||||||
always_divide_middle = true,
|
|
||||||
globalstatus = true,
|
|
||||||
},
|
|
||||||
sections = {
|
|
||||||
lualine_a = {'mode'},
|
|
||||||
lualine_b = {'branch', 'diff', 'diagnostics'},
|
|
||||||
lualine_c = {'filename'},
|
|
||||||
lualine_x = {'encoding', 'fileformat', 'filetype'},
|
|
||||||
lualine_y = {'progress'},
|
|
||||||
lualine_z = {'location'}
|
|
||||||
},
|
|
||||||
inactive_sections = {
|
|
||||||
lualine_a = {},
|
|
||||||
lualine_b = {},
|
|
||||||
lualine_c = {'filename'},
|
|
||||||
lualine_x = {'location'},
|
|
||||||
lualine_y = {},
|
|
||||||
lualine_z = {}
|
|
||||||
},
|
|
||||||
tabline = {
|
|
||||||
lualine_a = {'buffers'},
|
|
||||||
lualine_b = {'branch'},
|
|
||||||
lualine_c = {'filename'},
|
|
||||||
lualine_x = {},
|
|
||||||
lualine_y = {},
|
|
||||||
lualine_z = {'tabs'}
|
|
||||||
},
|
|
||||||
extensions = {}
|
|
||||||
}
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
vim.opt.cursorline=true
|
|
||||||
vim.opt.relativenumber=true
|
|
||||||
vim.opt.number=true
|
|
||||||
|
|
||||||
vim.opt.scrolloff=10
|
|
||||||
|
|
||||||
vim.opt.autoindent=true
|
|
||||||
vim.opt.expandtab=true
|
|
||||||
vim.opt.softtabstop=4
|
|
||||||
vim.opt.shiftwidth=4
|
|
||||||
vim.opt.shiftround=true
|
|
||||||
|
|
||||||
vim.opt.backspace={'indent','eol','start'}
|
|
||||||
vim.opt.hidden=true
|
|
||||||
vim.opt.laststatus=2
|
|
||||||
vim.opt.display='lastline'
|
|
||||||
|
|
||||||
vim.opt.showmode=true
|
|
||||||
vim.opt.showcmd=true
|
|
||||||
|
|
||||||
vim.opt.incsearch=true
|
|
||||||
vim.opt.ignorecase=true
|
|
||||||
vim.opt.smartcase=true
|
|
||||||
|
|
||||||
vim.opt.ttyfast=true
|
|
||||||
vim.opt.updatetime=300
|
|
||||||
|
|
||||||
vim.opt.splitright=true
|
|
||||||
|
|
||||||
vim.opt.wrapscan=true
|
|
||||||
vim.opt.report=0
|
|
||||||
|
|
||||||
vim.opt.list=true
|
|
||||||
vim.opt.completeopt=menuone,noselect
|
|
||||||
|
|
||||||
vim.opt.undofile=true
|
|
||||||
|
|
||||||
vim.g['loaded_perl_provider']=0
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
filetype plugin indent on
|
|
||||||
syntax on
|
|
||||||
colorscheme kanagawa
|
|
||||||
|
|
||||||
if has('multi_byte') && &encoding ==# 'utf-8'
|
|
||||||
let &listchars = 'tab:▸ ,extends:❯,precedes:❮,nbsp:±'
|
|
||||||
else
|
|
||||||
let &listchars = 'tab:> ,extends:>,precedes:<,nbsp:.'
|
|
||||||
endif
|
|
||||||
@@ -120,7 +120,7 @@ bindsym $mod+Shift+9 move container to workspace number 9
|
|||||||
bindsym $mod+Shift+0 move container to workspace number 10
|
bindsym $mod+Shift+0 move container to workspace number 10
|
||||||
|
|
||||||
for_window [app_id="simmer505.waywrite"] floating enable
|
for_window [app_id="simmer505.waywrite"] floating enable
|
||||||
for_window [app_id="org.speedcrunch.speedcrunch"] floating enable
|
for_window [app_id="org.speedcrunch."] floating enable
|
||||||
|
|
||||||
# Horizontal and vertical splits
|
# Horizontal and vertical splits
|
||||||
bindsym $mod+b splith
|
bindsym $mod+b splith
|
||||||
|
|||||||
@@ -31,6 +31,13 @@
|
|||||||
options = [ "subvol=nix" ];
|
options = [ "subvol=nix" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Remove comments for optical drive in wine
|
||||||
|
# fileSystems."/mnt/drive0" =
|
||||||
|
# { device = "/dev/sr0";
|
||||||
|
# fsType = "auto";
|
||||||
|
# options = [ "ro" "user" "noauto" "unhide" ];
|
||||||
|
# };
|
||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [ ];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
|||||||
@@ -20,8 +20,8 @@
|
|||||||
|
|
||||||
home.file.".config/nvim".source = ../shared/dotfiles/nvim;
|
home.file.".config/nvim".source = ../shared/dotfiles/nvim;
|
||||||
home.file.".tmux.conf".source = ../shared/dotfiles/tmux;
|
home.file.".tmux.conf".source = ../shared/dotfiles/tmux;
|
||||||
|
home.file.".config/fish/config.fish".source = ../shared/dotfiles/fish/gui-config.fish;
|
||||||
home.file.".config/waybar".source = ./dotfiles/waybar;
|
home.file.".config/waybar".source = ./dotfiles/waybar;
|
||||||
home.file.".config/fish/config.fish".source = ./dotfiles/fish/config.fish;
|
|
||||||
|
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
|
|
||||||
|
|||||||
36
hosts/alpheratz/incommon-rsa-ca2.pem
Normal file
36
hosts/alpheratz/incommon-rsa-ca2.pem
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIGSjCCBDKgAwIBAgIRAINbdhUgbS1uCX4LbkCf78AwDQYJKoZIhvcNAQEMBQAw
|
||||||
|
gYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5MRQwEgYDVQQHEwtK
|
||||||
|
ZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMS4wLAYD
|
||||||
|
VQQDEyVVU0VSVHJ1c3QgUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTIy
|
||||||
|
MTExNjAwMDAwMFoXDTMyMTExNTIzNTk1OVowRDELMAkGA1UEBhMCVVMxEjAQBgNV
|
||||||
|
BAoTCUludGVybmV0MjEhMB8GA1UEAxMYSW5Db21tb24gUlNBIFNlcnZlciBDQSAy
|
||||||
|
MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAifBcxDi60DRXr5dVoPQi
|
||||||
|
Q/w+GBE62216UiEGMdbUt7eSiIaFj/iZ/xiFop0rWuH4BCFJ3kSvQF+aIhEsOnuX
|
||||||
|
R6mViSpUx53HM5ApIzFIVbd4GqY6tgwaPzu/XRI/4Dmz+hoLW/i/zD19iXvS95qf
|
||||||
|
NU8qP7/3/USf2/VNSUNmuMKlaRgwkouue0usidYK7V8W3ze+rTFvWR2JtWKNTInc
|
||||||
|
NyWD3GhVy/7G09PwTAu7h0qqRyTkETLf+z7FWtc8c12f+SfvmKHKFVqKpNPtgMkr
|
||||||
|
wqwaOgOOD4Q00AihVT+UzJ6MmhNPGg+/Xf0BavmXKCGDTv5uzQeOdD35o/Zw16V4
|
||||||
|
C4J4toj1WLY7hkVhrzKG+UWJiSn8Hv3dUTj4dkneJBNQrUfcIfTHV3gCtKwXn1eX
|
||||||
|
mrxhH+tWu9RVwsDegRG0s28OMdVeOwljZvYrUjRomutNO5GzynveVxJVCn3Cbn7a
|
||||||
|
c4L+5vwPNgs04DdOAGzNYdG5t6ryyYPosSLH2B8qDNzxAgMBAAGjggFwMIIBbDAf
|
||||||
|
BgNVHSMEGDAWgBRTeb9aqitKz1SA4dibwJ3ysgNmyzAdBgNVHQ4EFgQU70wAkqb7
|
||||||
|
di5eleLJX4cbGdVN4tkwDgYDVR0PAQH/BAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8C
|
||||||
|
AQAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMCIGA1UdIAQbMBkwDQYL
|
||||||
|
KwYBBAGyMQECAmcwCAYGZ4EMAQICMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9j
|
||||||
|
cmwudXNlcnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9uQXV0aG9y
|
||||||
|
aXR5LmNybDBxBggrBgEFBQcBAQRlMGMwOgYIKwYBBQUHMAKGLmh0dHA6Ly9jcnQu
|
||||||
|
dXNlcnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FBQUFDQS5jcnQwJQYIKwYBBQUHMAGG
|
||||||
|
GWh0dHA6Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJKoZIhvcNAQEMBQADggIBACaA
|
||||||
|
DTTkHq4ivq8+puKE+ca3JbH32y+odcJqgqzDts5bgsapBswRYypjmXLel11Q2U6w
|
||||||
|
rySldlIjBRDZ8Ah8NOs85A6MKJQLaU9qHzRyG6w2UQTzRwx2seY30Mks3ZdIe9rj
|
||||||
|
s5rEYliIOh9Dwy8wUTJxXzmYf/A1Gkp4JJp0xIhCVR1gCSOX5JW6185kwid242bs
|
||||||
|
Lm0vCQBAA/rQgxvLpItZhC9US/r33lgtX/cYFzB4jGOd+Xs2sEAUlGyu8grLohYh
|
||||||
|
kgWN6hqyoFdOpmrl8yu7CSGV7gmVQf9viwVBDIKm+2zLDo/nhRkk8xA0Bb1BqPzy
|
||||||
|
bPESSVh4y5rZ5bzB4Lo2YN061HV9+HDnnIDBffNIicACdv4JGyGfpbS6xsi3UCN1
|
||||||
|
5ypaG43PJqQ0UnBQDuR60io1ApeSNkYhkaHQ9Tk/0C4A+EM3MW/KFuU53eHLVlX9
|
||||||
|
ss1iG2AJfVktaZ2l/SbY7py8JUYMkL/jqZBRjNkD6srsmpJ6utUMmAlt7m1+cTX8
|
||||||
|
6/VEBc5Dp9VfuD6hNbNKDSg7YxyEVaBqBEtN5dppj4xSiCrs6LxLHnNo3rG8VJRf
|
||||||
|
NVQdgFbMb7dOIBokklzfmU69lS0kgyz2mZMJmW2G/hhEdddJWHh3FcLi2MaeYiOV
|
||||||
|
RFrLHtJvXEdf2aEaZ0LOb2Xo3zO6BJvjXldv2woN
|
||||||
|
-----END CERTIFICATE-----
|
||||||
@@ -6,6 +6,7 @@
|
|||||||
lib,
|
lib,
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
localPackages,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
|
|
||||||
@@ -22,13 +23,69 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
sops = {
|
||||||
|
defaultSopsFile = ../../secrets/alpheratz/secrets.yaml;
|
||||||
|
age.keyFile = "/etc/sops.key";
|
||||||
|
|
||||||
|
secrets."wireguard/private" = {};
|
||||||
|
secrets."wireguard/preshared" = {};
|
||||||
|
secrets."borgbase/nix-alpheratz" = {
|
||||||
|
owner = "eesim";
|
||||||
|
};
|
||||||
|
|
||||||
|
secrets."Codelia-Regular.otf" = {
|
||||||
|
format = "binary";
|
||||||
|
sopsFile = ../../secrets/shared/Codelia-Regular;
|
||||||
|
owner = "eesim";
|
||||||
|
path = "/home/eesim/.local/share/fonts/Codelia Regular.otf";
|
||||||
|
};
|
||||||
|
|
||||||
|
secrets."Codelia-Bold.otf" = {
|
||||||
|
format = "binary";
|
||||||
|
sopsFile = ../../secrets/shared/Codelia-Bold;
|
||||||
|
owner = "eesim";
|
||||||
|
path = "/home/eesim/.local/share/fonts/Codelia Bold.otf";
|
||||||
|
};
|
||||||
|
|
||||||
|
secrets."Codelia-Italic.otf" = {
|
||||||
|
format = "binary";
|
||||||
|
sopsFile = ../../secrets/shared/Codelia-Italic;
|
||||||
|
owner = "eesim";
|
||||||
|
path = "/home/eesim/.local/share/fonts/Codelia Italic.otf";
|
||||||
|
};
|
||||||
|
|
||||||
|
secrets."Codelia-BoldItalic.otf" = {
|
||||||
|
format = "binary";
|
||||||
|
sopsFile = ../../secrets/shared/Codelia-BoldItalic;
|
||||||
|
owner = "eesim";
|
||||||
|
path = "/home/eesim/.local/share/fonts/Codelia BoldItalic.ttf";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
localPackages.x86_64-linux.jhelioviewer
|
||||||
|
bottles
|
||||||
|
matlab
|
||||||
|
discord
|
||||||
|
wine
|
||||||
|
matlab-language-server
|
||||||
|
];
|
||||||
|
|
||||||
|
services.printing.enable = false;
|
||||||
|
services.avahi = {
|
||||||
|
enable = true;
|
||||||
|
nssmdns4 = true;
|
||||||
|
openFirewall = true;
|
||||||
|
};
|
||||||
|
|
||||||
# Use the systemd-boot EFI boot loader.
|
# Use the systemd-boot EFI boot loader.
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.systemd-boot.enable = true;
|
||||||
boot.loader.systemd-boot.xbootldrMountPoint = "/boot";
|
boot.loader.systemd-boot.xbootldrMountPoint = "/boot";
|
||||||
boot.loader.efi.efiSysMountPoint = "/efi";
|
boot.loader.efi.efiSysMountPoint = "/efi";
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
|
||||||
powerManagement.powertop.enable = true;
|
hardware.bluetooth.enable = true;
|
||||||
|
hardware.bluetooth.powerOnBoot = true;
|
||||||
|
|
||||||
fileSystems = {
|
fileSystems = {
|
||||||
"/".options = [ "compress=zstd" ];
|
"/".options = [ "compress=zstd" ];
|
||||||
@@ -36,24 +93,23 @@
|
|||||||
"/nix".options = [ "compress=zstd" "noatime" ];
|
"/nix".options = [ "compress=zstd" "noatime" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
# networking.wg-quick.interfaces = {
|
networking.wg-quick.interfaces = {
|
||||||
# wg0 = {
|
wg0 = {
|
||||||
# address = [ "10.6.0.5" ];
|
address = [ "10.137.175.3/32" ];
|
||||||
# listenPort = 51820;
|
listenPort = 51820;
|
||||||
# privateKeyFile = "/root/wireguard-keys/wg0/private";
|
privateKeyFile = "/run/secrets/wireguard/private";
|
||||||
# dns = [ "10.2.0.100" ];
|
dns = [ "10.137.175.1" ];
|
||||||
|
autostart = true;
|
||||||
|
|
||||||
# peers = [
|
peers = [
|
||||||
# {
|
{
|
||||||
# publicKey = "pEWHugUnnhWXkJzCIhXryRRZMoCAuvAITDeP4ItenQk=";
|
publicKey = "sWdXHlBqH+tAgSl0Tqr46sfKvgFN/vMDiuN08HjzaSg=";
|
||||||
# presharedKeyFile = "/root/wireguard-keys/wg0/preshared";
|
allowedIPs = [ "0.0.0.0/0" "::/0" ];
|
||||||
# allowedIPs = [ "10.2.0.0/24" "192.168.0.0/24" ];
|
endpoint = "mc.simmer505.com:51820";
|
||||||
# endpoint = "simmer505.com:51820";
|
}
|
||||||
# persistentKeepalive = 25;
|
];
|
||||||
# }
|
};
|
||||||
# ];
|
};
|
||||||
# };
|
|
||||||
# };
|
|
||||||
|
|
||||||
# Set your time zone.
|
# Set your time zone.
|
||||||
time.timeZone = "America/Chicago";
|
time.timeZone = "America/Chicago";
|
||||||
@@ -64,7 +120,7 @@
|
|||||||
# Define a user account.
|
# Define a user account.
|
||||||
users.users.eesim = {
|
users.users.eesim = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
extraGroups = [ "wheel" "video" "audo" "networkmanager" ];
|
extraGroups = [ "wheel" "video" "audio" "networkmanager" "cdrom" ];
|
||||||
shell = pkgs.fish;
|
shell = pkgs.fish;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -13,30 +13,18 @@ if status is-interactive
|
|||||||
function fish_mode_prompt
|
function fish_mode_prompt
|
||||||
end
|
end
|
||||||
|
|
||||||
### Local environment variables
|
|
||||||
set -x DENO_INSTALL "/home/eesim/.deno"
|
|
||||||
|
|
||||||
direnv hook fish | source
|
direnv hook fish | source
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
if status is-login
|
if status is-login
|
||||||
|
|
||||||
# SSH settings
|
|
||||||
eval (ssh-agent -c)
|
|
||||||
ssh-add /home/eesim/.ssh/id_ed25519
|
|
||||||
|
|
||||||
# Set environment variables in /etc/profile.d/
|
|
||||||
# exec bash -c "test -e /etc/profile && source /etc/profile"
|
|
||||||
|
|
||||||
# Disable GTK portal
|
# Disable GTK portal
|
||||||
set -x GTK_USE_PORTAL "0"
|
set -x GTK_USE_PORTAL "0"
|
||||||
|
|
||||||
|
|
||||||
# Java fix
|
# Java fix
|
||||||
set -x _JAVA_AWT_WM_NONREPARENTING "1"
|
set -x _JAVA_AWT_WM_NONREPARENTING "1"
|
||||||
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
if test (tty) = "/dev/tty1"
|
if test (tty) = "/dev/tty1"
|
||||||
|
|||||||
247
hosts/ankaa/dotfiles/lemurs/config.toml
Normal file
247
hosts/ankaa/dotfiles/lemurs/config.toml
Normal file
@@ -0,0 +1,247 @@
|
|||||||
|
# Lemurs configuration file.
|
||||||
|
# Contains all the customization options of lemurs.
|
||||||
|
#
|
||||||
|
# Note: that as of now you need to have all options in the selected
|
||||||
|
# configuration file. Otherwise Lemurs will not work.
|
||||||
|
#
|
||||||
|
# Colors:
|
||||||
|
# ---------
|
||||||
|
# There is a list of predefined colors. These include:
|
||||||
|
# - black
|
||||||
|
# - white
|
||||||
|
# - (dark) gray
|
||||||
|
# - (light) red
|
||||||
|
# - (light) blue
|
||||||
|
# - (light) green
|
||||||
|
# - (light) magenta
|
||||||
|
# - (light) cyan
|
||||||
|
# - (light) yellow
|
||||||
|
# - orange
|
||||||
|
#
|
||||||
|
# You can also utilize custom colors with hex color codes.
|
||||||
|
# "#87CEEB" will create a Sky Blue color.
|
||||||
|
#
|
||||||
|
# Note: If the color wasn't recognized, it will default to white.
|
||||||
|
# ---------
|
||||||
|
#
|
||||||
|
# Modifiers:
|
||||||
|
# ---------
|
||||||
|
# There is a number of modifiers you can use. These can be combined by
|
||||||
|
# delimiting them with a comma (e.g. "bold,italic"). The modifiers are:
|
||||||
|
# - bold
|
||||||
|
# - dim
|
||||||
|
# - italic
|
||||||
|
# - underlined
|
||||||
|
# - reverse
|
||||||
|
# - crossed out
|
||||||
|
# - hidden
|
||||||
|
# ---------
|
||||||
|
#
|
||||||
|
|
||||||
|
# The tty which contains lemurs. This has to be mirrored in the lemurs.service
|
||||||
|
tty = 2
|
||||||
|
|
||||||
|
# The PAM service that should be used to login
|
||||||
|
pam_service = "lemurs"
|
||||||
|
|
||||||
|
# Focus behaviour of fields when Lemurs is initially started
|
||||||
|
#
|
||||||
|
# Possible values:
|
||||||
|
# - default: Initially focus on first non-cached value
|
||||||
|
# - no-focus: No initial focus
|
||||||
|
# - environment: Initially focus on the environment selector
|
||||||
|
# - username: Initially focus on the username field
|
||||||
|
# - password: Initially focus on the password field
|
||||||
|
focus_behaviour = "default"
|
||||||
|
|
||||||
|
[power_controls]
|
||||||
|
# Allow for the shutdown option to be used
|
||||||
|
allow_shutdown = true
|
||||||
|
# The text in the top-left to display how to shutdown. The text '%key%' will be
|
||||||
|
# replaced with the shutdown_key.
|
||||||
|
shutdown_hint = "Shutdown %key%"
|
||||||
|
|
||||||
|
# The color and modifiers of the hint in the top-left corner
|
||||||
|
shutdown_hint_color = "dark gray"
|
||||||
|
shutdown_hint_modifiers = ""
|
||||||
|
|
||||||
|
# The key used to shutdown. Possibilities are F1 to F12.
|
||||||
|
shutdown_key = "F1"
|
||||||
|
# The command that is executed when the key is pressed
|
||||||
|
shutdown_cmd = "systemctl poweroff -l"
|
||||||
|
|
||||||
|
# Allow for the reboot option to be used
|
||||||
|
allow_reboot = true
|
||||||
|
|
||||||
|
# The text in the top-left to display how to reboot. The text '%key%' will be
|
||||||
|
# replaced with the shutdown_key.
|
||||||
|
reboot_hint = "Reboot %key%"
|
||||||
|
|
||||||
|
# The color and modifiers of the hint in the top-left corner
|
||||||
|
reboot_hint_color = "dark gray"
|
||||||
|
reboot_hint_modifiers = ""
|
||||||
|
|
||||||
|
# The key used to reboot. Possibilities are F1 to F12.
|
||||||
|
reboot_key = "F2"
|
||||||
|
# The command that is executed when the key is pressed
|
||||||
|
reboot_cmd = "systemctl reboot -l"
|
||||||
|
|
||||||
|
# The margin between the shutdown and reboot hints
|
||||||
|
hint_margin = 2
|
||||||
|
|
||||||
|
# Setting for the selector of the desktop environment you are using.
|
||||||
|
[environment_switcher]
|
||||||
|
# Terms:
|
||||||
|
# ---------
|
||||||
|
# Movers: indicators which show which direction one can move whilst selecting
|
||||||
|
# the desktop environment
|
||||||
|
# Selected: The currently selected desktop environment.
|
||||||
|
# Neighbours: The adjacent desktop environment to the one current selected
|
||||||
|
#
|
||||||
|
# Visualisation:
|
||||||
|
#
|
||||||
|
# < i3 bspwm awesome >
|
||||||
|
#
|
||||||
|
# ^ ^ ^ ^ ^
|
||||||
|
# | | | | |
|
||||||
|
# mover | selected | mover
|
||||||
|
# | |
|
||||||
|
# neighbour neighbour
|
||||||
|
# ---------
|
||||||
|
#
|
||||||
|
|
||||||
|
# Show an option for the TTY shell when logging in as one of the environments.
|
||||||
|
# NOTE: it is always shown when no viable options are found.
|
||||||
|
include_tty_shell = false
|
||||||
|
|
||||||
|
# Remember the selected environment after logging in for the next time
|
||||||
|
remember = true
|
||||||
|
|
||||||
|
# Enables showing the movers
|
||||||
|
show_movers = true
|
||||||
|
|
||||||
|
# Mover's color and modifiers whilst the selector is unfocused
|
||||||
|
mover_color = "dark gray"
|
||||||
|
mover_modifiers = ""
|
||||||
|
|
||||||
|
# Mover's color and modifiers whilst the selector is focused
|
||||||
|
mover_color_focused = "orange"
|
||||||
|
mover_modifiers_focused = "bold"
|
||||||
|
|
||||||
|
# The characters used to display the movers. Suggestions are:
|
||||||
|
# - "<" ">"
|
||||||
|
# - "<-" "->"
|
||||||
|
# - "<<" ">>"
|
||||||
|
# - "[" "]"
|
||||||
|
left_mover = "<"
|
||||||
|
right_mover = ">"
|
||||||
|
|
||||||
|
# The margin between the movers and the neighbours or selected (depending on
|
||||||
|
# `show_neighbours`)
|
||||||
|
mover_margin = 1
|
||||||
|
|
||||||
|
# Enables showing the neighbours
|
||||||
|
show_neighbours = true
|
||||||
|
|
||||||
|
# Neighbours' color and modifiers whilst the selector is unfocused
|
||||||
|
neighbour_color = "dark gray"
|
||||||
|
neighbour_modifiers = ""
|
||||||
|
|
||||||
|
# Neighbours' color and modifiers whilst the selector is focused
|
||||||
|
neighbour_color_focused = "gray"
|
||||||
|
neighbour_modifiers_focused = ""
|
||||||
|
|
||||||
|
# Margin between neighbours and selected
|
||||||
|
neighbour_margin = 1
|
||||||
|
|
||||||
|
# Selected's color and modifiers whilst the selector is unfocused
|
||||||
|
selected_color = "gray"
|
||||||
|
selected_modifiers = "underlined"
|
||||||
|
|
||||||
|
# Selected's color and modifiers whilst the selector is focused
|
||||||
|
selected_color_focused = "white"
|
||||||
|
selected_modifiers_focused = "bold"
|
||||||
|
|
||||||
|
# The length of the name of the desktop environment which is displayed.
|
||||||
|
max_display_length = 8
|
||||||
|
|
||||||
|
# The text used when no desktop environments are available
|
||||||
|
no_envs_text = "No environments..."
|
||||||
|
|
||||||
|
# The color and modifiers of the 'no desktop environments available text'
|
||||||
|
# whilst the selector is unfocused
|
||||||
|
no_envs_color = "white"
|
||||||
|
no_envs_modifiers = ""
|
||||||
|
|
||||||
|
# The color and modifiers of the 'no desktop environments available text'
|
||||||
|
# whilst the selector is focused
|
||||||
|
no_envs_color_focused = "red"
|
||||||
|
no_envs_modifiers_focused = ""
|
||||||
|
|
||||||
|
[username_field]
|
||||||
|
|
||||||
|
# Remember the username for the next time after a successful login attempt.
|
||||||
|
remember = true
|
||||||
|
|
||||||
|
[username_field.style]
|
||||||
|
# Enables showing a title
|
||||||
|
show_title = true
|
||||||
|
# The text used within the title
|
||||||
|
title = "Login"
|
||||||
|
|
||||||
|
# The title's color and modifiers whilst the username field is unfocused
|
||||||
|
title_color = "white"
|
||||||
|
content_color = "white"
|
||||||
|
|
||||||
|
# The title's color and modifiers whilst the username field is focused
|
||||||
|
title_color_focused = "orange"
|
||||||
|
content_color_focused = "orange"
|
||||||
|
|
||||||
|
# Enables showing the borders
|
||||||
|
show_border = true
|
||||||
|
# The borders' color and modifiers whilst the username field is unfocused
|
||||||
|
border_color = "white"
|
||||||
|
# The borders' color and modifiers whilst the username field is focused
|
||||||
|
border_color_focused = "orange"
|
||||||
|
|
||||||
|
# Constrain the width of the username field
|
||||||
|
use_max_width = true
|
||||||
|
# The contraint of the username field's width
|
||||||
|
max_width = 48
|
||||||
|
|
||||||
|
[password_field]
|
||||||
|
|
||||||
|
# The character used for replacement when typing a password. Leave empty for no
|
||||||
|
# feedback.
|
||||||
|
# Note: Only one character is accepted.
|
||||||
|
content_replacement_character = "*"
|
||||||
|
|
||||||
|
[password_field.style]
|
||||||
|
# Enables showing a title
|
||||||
|
show_title = true
|
||||||
|
# The text used within the title
|
||||||
|
title = "Password"
|
||||||
|
|
||||||
|
# The title's color and modifiers whilst the password field is unfocused
|
||||||
|
title_color = "white"
|
||||||
|
content_color = "white"
|
||||||
|
|
||||||
|
# The title's color and modifiers whilst the password field is focused
|
||||||
|
title_color_focused = "orange"
|
||||||
|
content_color_focused = "orange"
|
||||||
|
|
||||||
|
# Enables showing the borders
|
||||||
|
show_border = true
|
||||||
|
# The borders' color and modifiers whilst the username field is unfocused
|
||||||
|
border_color = "white"
|
||||||
|
# The borders' color and modifiers whilst the username field is focused
|
||||||
|
border_color_focused = "orange"
|
||||||
|
|
||||||
|
# Constrain the width of the password field
|
||||||
|
use_max_width = true
|
||||||
|
# The contraint of the password field's width
|
||||||
|
max_width = 48
|
||||||
|
|
||||||
|
[wayland]
|
||||||
|
|
||||||
|
scripts_path = "/etc/lemurs/wayland"
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
require('config/keymaps')
|
|
||||||
require('config/settings')
|
|
||||||
require('config/plugins')
|
|
||||||
require('config/plugins/lualine')
|
|
||||||
require('config/plugins/lspconfig')
|
|
||||||
|
|
||||||
local vimscriptpath = vim.fn.stdpath("config") .. "/lua/config/vimscript/"
|
|
||||||
|
|
||||||
vim.cmd('source' .. vimscriptpath .. 'init.vim')
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
vim.g.mapleader=','
|
|
||||||
vim.g.maplocalleader=','
|
|
||||||
|
|
||||||
vim.keymap.set('n', '<C-h>', '<C-w>h')
|
|
||||||
vim.keymap.set('n', '<C-j>', '<C-w>j')
|
|
||||||
vim.keymap.set('n', '<C-k>', '<C-w>k')
|
|
||||||
vim.keymap.set('n', '<C-l>', '<C-w>l')
|
|
||||||
|
|
||||||
vim.keymap.set('n', '<leader>ff', ':FzfLua files<CR>')
|
|
||||||
vim.keymap.set('n', '<leader>fb', ':FzfLua buffers<CR>')
|
|
||||||
vim.keymap.set('n', '<leader>rg', ':FzfLua grep_project<CR>')
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
vim.keymap.set('i', '<S-Tab>', '<C-d>')
|
|
||||||
|
|
||||||
vim.keymap.set('n', 'K', vim.lsp.buf.hover, opts)
|
|
||||||
@@ -1,53 +0,0 @@
|
|||||||
local plugins = {
|
|
||||||
'rebelot/kanagawa.nvim',
|
|
||||||
|
|
||||||
'nvim-lualine/lualine.nvim',
|
|
||||||
'kyazdani42/nvim-web-devicons',
|
|
||||||
|
|
||||||
'kylechui/nvim-surround',
|
|
||||||
|
|
||||||
'ibhagwan/fzf-lua',
|
|
||||||
|
|
||||||
'neovim/nvim-lspconfig',
|
|
||||||
'hrsh7th/nvim-cmp',
|
|
||||||
'hrsh7th/cmp-nvim-lsp',
|
|
||||||
'hrsh7th/cmp-path',
|
|
||||||
'L3MON4D3/LuaSnip',
|
|
||||||
|
|
||||||
{
|
|
||||||
'windwp/nvim-autopairs',
|
|
||||||
event = 'InsertEnter',
|
|
||||||
opts = {},
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
'kaarmu/typst.vim',
|
|
||||||
ft = 'typst',
|
|
||||||
lazy = false,
|
|
||||||
},
|
|
||||||
|
|
||||||
'jalvesaq/Nvim-R',
|
|
||||||
|
|
||||||
{
|
|
||||||
'RaafatTurki/hex.nvim',
|
|
||||||
config = function()
|
|
||||||
require('hex').setup()
|
|
||||||
end
|
|
||||||
},
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
|
||||||
if not vim.loop.fs_stat(lazypath) then
|
|
||||||
vim.fn.system({
|
|
||||||
"git",
|
|
||||||
"clone",
|
|
||||||
"--filter=blob:none",
|
|
||||||
"https://github.com/folke/lazy.nvim.git",
|
|
||||||
"--branch=stable", -- latest stable release
|
|
||||||
lazypath,
|
|
||||||
})
|
|
||||||
end
|
|
||||||
vim.opt.rtp:prepend(lazypath)
|
|
||||||
|
|
||||||
require("lazy").setup(plugins, opts)
|
|
||||||
@@ -1,67 +0,0 @@
|
|||||||
local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
|
||||||
capabilities.textDocument.completion.completionItem.snippetSupport = false;
|
|
||||||
|
|
||||||
local lspconfig = require('lspconfig')
|
|
||||||
|
|
||||||
lspconfig.rust_analyzer.setup {
|
|
||||||
capabilities = capabilities,
|
|
||||||
settings = {
|
|
||||||
["rust-analyzer"] = {
|
|
||||||
cargo = {
|
|
||||||
allFeatures = true,
|
|
||||||
},
|
|
||||||
imports = {
|
|
||||||
group = {
|
|
||||||
enable = false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
completion = {
|
|
||||||
postfix = {
|
|
||||||
enable = false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
lspconfig.omnisharp.setup {
|
|
||||||
cmd = { "dotnet", "/usr/lib/omnisharp-roslyn/OmniSharp.dll"}
|
|
||||||
}
|
|
||||||
|
|
||||||
local default_servers = {'pylsp', 'ccls', 'typst_lsp', 'r_language_server', 'lua_ls', 'nil_ls'}
|
|
||||||
|
|
||||||
for _, lsp in ipairs(default_servers) do
|
|
||||||
lspconfig[lsp].setup {
|
|
||||||
capabilities = capabilities
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
local luasnip = require 'luasnip'
|
|
||||||
local cmp = require 'cmp'
|
|
||||||
|
|
||||||
|
|
||||||
cmp.setup {
|
|
||||||
preselect = cmp.PreselectMode.None,
|
|
||||||
mapping = cmp.mapping.preset.insert({
|
|
||||||
['<Tab>'] = cmp.mapping(function(fallback)
|
|
||||||
if cmp.visible() then
|
|
||||||
cmp.select_next_item()
|
|
||||||
else
|
|
||||||
fallback()
|
|
||||||
end
|
|
||||||
end, { 'i', 's' }),
|
|
||||||
['<S-Tab>'] = cmp.mapping(function(fallback)
|
|
||||||
if cmp.visible() then
|
|
||||||
cmp.select_prev_item()
|
|
||||||
else
|
|
||||||
fallback()
|
|
||||||
end
|
|
||||||
end, { 'i', 's' }),
|
|
||||||
}),
|
|
||||||
sources = {
|
|
||||||
{ name = 'nvim_lsp' },
|
|
||||||
{ name = 'path' },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
require('lualine').setup {
|
|
||||||
options = {
|
|
||||||
icons_enabled = true,
|
|
||||||
theme = 'wombat',
|
|
||||||
component_separators = { left = '', right = ''},
|
|
||||||
section_separators = { left = '', right = ''},
|
|
||||||
disabled_filetypes = {},
|
|
||||||
always_divide_middle = true,
|
|
||||||
globalstatus = true,
|
|
||||||
},
|
|
||||||
sections = {
|
|
||||||
lualine_a = {'mode'},
|
|
||||||
lualine_b = {'branch', 'diff', 'diagnostics'},
|
|
||||||
lualine_c = {'filename'},
|
|
||||||
lualine_x = {'encoding', 'fileformat', 'filetype'},
|
|
||||||
lualine_y = {'progress'},
|
|
||||||
lualine_z = {'location'}
|
|
||||||
},
|
|
||||||
inactive_sections = {
|
|
||||||
lualine_a = {},
|
|
||||||
lualine_b = {},
|
|
||||||
lualine_c = {'filename'},
|
|
||||||
lualine_x = {'location'},
|
|
||||||
lualine_y = {},
|
|
||||||
lualine_z = {}
|
|
||||||
},
|
|
||||||
tabline = {
|
|
||||||
lualine_a = {'buffers'},
|
|
||||||
lualine_b = {'branch'},
|
|
||||||
lualine_c = {'filename'},
|
|
||||||
lualine_x = {},
|
|
||||||
lualine_y = {},
|
|
||||||
lualine_z = {'tabs'}
|
|
||||||
},
|
|
||||||
extensions = {}
|
|
||||||
}
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
vim.opt.cursorline=true
|
|
||||||
vim.opt.relativenumber=true
|
|
||||||
vim.opt.number=true
|
|
||||||
|
|
||||||
vim.opt.scrolloff=10
|
|
||||||
|
|
||||||
vim.opt.autoindent=true
|
|
||||||
vim.opt.expandtab=true
|
|
||||||
vim.opt.softtabstop=4
|
|
||||||
vim.opt.shiftwidth=4
|
|
||||||
vim.opt.shiftround=true
|
|
||||||
|
|
||||||
vim.opt.backspace={'indent','eol','start'}
|
|
||||||
vim.opt.hidden=true
|
|
||||||
vim.opt.laststatus=2
|
|
||||||
vim.opt.display='lastline'
|
|
||||||
|
|
||||||
vim.opt.showmode=true
|
|
||||||
vim.opt.showcmd=true
|
|
||||||
|
|
||||||
vim.opt.incsearch=true
|
|
||||||
vim.opt.ignorecase=true
|
|
||||||
vim.opt.smartcase=true
|
|
||||||
|
|
||||||
vim.opt.ttyfast=true
|
|
||||||
vim.opt.updatetime=300
|
|
||||||
|
|
||||||
vim.opt.splitright=true
|
|
||||||
|
|
||||||
vim.opt.wrapscan=true
|
|
||||||
vim.opt.report=0
|
|
||||||
|
|
||||||
vim.opt.list=true
|
|
||||||
vim.opt.completeopt=menuone,noselect
|
|
||||||
|
|
||||||
vim.opt.undofile=true
|
|
||||||
|
|
||||||
vim.g['loaded_perl_provider']=0
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
filetype plugin indent on
|
|
||||||
syntax on
|
|
||||||
colorscheme kanagawa
|
|
||||||
|
|
||||||
if has('multi_byte') && &encoding ==# 'utf-8'
|
|
||||||
let &listchars = 'tab:▸ ,extends:❯,precedes:❮,nbsp:±'
|
|
||||||
else
|
|
||||||
let &listchars = 'tab:> ,extends:>,precedes:<,nbsp:.'
|
|
||||||
endif
|
|
||||||
Binary file not shown.
Binary file not shown.
@@ -1,2 +0,0 @@
|
|||||||
Host git.simmer505.com
|
|
||||||
Port 222
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
|
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [ ];
|
||||||
boot.kernelModules = [ "kvm-amd" "wl" ];
|
boot.kernelModules = [ "kvm-amd" "wl" ];
|
||||||
boot.extraModulePackages = [ config.boot.kernelPackages.broadcom_sta ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" =
|
||||||
{ device = "/dev/disk/by-uuid/c9d87455-b02f-465d-8d63-1858dc2164fe";
|
{ device = "/dev/disk/by-uuid/c9d87455-b02f-465d-8d63-1858dc2164fe";
|
||||||
|
|||||||
@@ -20,10 +20,10 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
home.file.".config/nvim".source = ../shared/dotfiles/nvim;
|
home.file.".config/nvim".source = ../shared/dotfiles/nvim;
|
||||||
|
home.file.".config/fish/config.fish".source = ../shared/dotfiles/fish/gui-config.fish;
|
||||||
|
|
||||||
home.file.".config/waybar".source = ./dotfiles/waybar;
|
home.file.".config/waybar".source = ./dotfiles/waybar;
|
||||||
home.file.".config/fish/config.fish".source = ./dotfiles/fish/config.fish;
|
|
||||||
home.file.".config/alacritty/alacritty.toml".source = ./dotfiles/alacritty/alacritty.toml;
|
home.file.".config/alacritty/alacritty.toml".source = ./dotfiles/alacritty/alacritty.toml;
|
||||||
home.file.".ssh/config".source = ./dotfiles/ssh/config;
|
|
||||||
|
|
||||||
# Fix for slow steam download speeds https://old.reddit.com/r/linux_gaming/comments/16e1l4h/slow_steam_downloads_try_this/
|
# Fix for slow steam download speeds https://old.reddit.com/r/linux_gaming/comments/16e1l4h/slow_steam_downloads_try_this/
|
||||||
home.file.".steam/steam/steam_dev.cfg".source = ./dotfiles/steam/steam_dev.cfg;
|
home.file.".steam/steam/steam_dev.cfg".source = ./dotfiles/steam/steam_dev.cfg;
|
||||||
|
|||||||
@@ -16,10 +16,65 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware.opengl.extraPackages = with pkgs; [
|
sops = {
|
||||||
|
defaultSopsFile = ../../secrets/ankaa/secrets.yaml;
|
||||||
|
age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
||||||
|
|
||||||
|
secrets."Codelia-Regular.otf" = {
|
||||||
|
format = "binary";
|
||||||
|
sopsFile = ../../secrets/shared/Codelia-Regular;
|
||||||
|
owner = "eesim";
|
||||||
|
path = "/home/eesim/.local/share/fonts/Codelia Regular.otf";
|
||||||
|
};
|
||||||
|
|
||||||
|
secrets."Codelia-Bold.otf" = {
|
||||||
|
format = "binary";
|
||||||
|
sopsFile = ../../secrets/shared/Codelia-Bold;
|
||||||
|
owner = "eesim";
|
||||||
|
path = "/home/eesim/.local/share/fonts/Codelia Bold.otf";
|
||||||
|
};
|
||||||
|
|
||||||
|
secrets."Codelia-Italic.otf" = {
|
||||||
|
format = "binary";
|
||||||
|
sopsFile = ../../secrets/shared/Codelia-Italic;
|
||||||
|
owner = "eesim";
|
||||||
|
path = "/home/eesim/.local/share/fonts/Codelia Italic.otf";
|
||||||
|
};
|
||||||
|
|
||||||
|
secrets."Codelia-BoldItalic.otf" = {
|
||||||
|
format = "binary";
|
||||||
|
sopsFile = ../../secrets/shared/Codelia-BoldItalic;
|
||||||
|
owner = "eesim";
|
||||||
|
path = "/home/eesim/.local/share/fonts/Codelia BoldItalic.ttf";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
localPackages.x86_64-linux.jhelioviewer
|
||||||
|
pciutils
|
||||||
|
bottles
|
||||||
|
inkscape
|
||||||
|
orca-slicer
|
||||||
|
qemu
|
||||||
|
protonvpn-gui
|
||||||
|
anki
|
||||||
|
];
|
||||||
|
|
||||||
|
services.hardware.openrgb.enable = true;
|
||||||
|
services.avahi.enable = true;
|
||||||
|
|
||||||
|
services.udev.extraRules = ''
|
||||||
|
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl"
|
||||||
|
'';
|
||||||
|
|
||||||
|
hardware.graphics.extraPackages = with pkgs; [
|
||||||
rocmPackages.clr.icd
|
rocmPackages.clr.icd
|
||||||
];
|
];
|
||||||
|
|
||||||
|
systemd.tmpfiles.rules = [
|
||||||
|
"L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}"
|
||||||
|
];
|
||||||
|
|
||||||
# Use the systemd-boot EFI boot loader.
|
# Use the systemd-boot EFI boot loader.
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.systemd-boot.enable = true;
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
@@ -30,18 +85,21 @@
|
|||||||
"/nix".options = [ "compress=zstd" "noatime" ];
|
"/nix".options = [ "compress=zstd" "noatime" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
virtualisation.docker = {
|
||||||
|
enable = true;
|
||||||
|
storageDriver = "btrfs";
|
||||||
|
};
|
||||||
|
|
||||||
# Set your time zone.
|
# Set your time zone.
|
||||||
time.timeZone = "America/Chicago";
|
time.timeZone = "America/Chicago";
|
||||||
|
|
||||||
# Select internationalisation properties.
|
# Select internationalisation properties.
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
|
||||||
programs.ssh.startAgent = true;
|
|
||||||
|
|
||||||
# Define a user account.
|
# Define a user account.
|
||||||
users.users.eesim = {
|
users.users.eesim = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
extraGroups = [ "wheel" "video" "audo" "networkmanager" ];
|
extraGroups = [ "wheel" "video" "audio" "networkmanager" "dialout" ];
|
||||||
packages = with pkgs; [];
|
packages = with pkgs; [];
|
||||||
shell = pkgs.fish;
|
shell = pkgs.fish;
|
||||||
openssh.authorizedKeys.keys = [
|
openssh.authorizedKeys.keys = [
|
||||||
|
|||||||
@@ -15,11 +15,12 @@
|
|||||||
|
|
||||||
home = {
|
home = {
|
||||||
username = "eesim";
|
username = "eesim";
|
||||||
# homeDirectory = "/home/eesim";
|
homeDirectory = "/home/eesim";
|
||||||
};
|
};
|
||||||
|
|
||||||
home.file.".config/nvim".source = ../shared/dotfiles/nvim;
|
home.file.".config/nvim".source = ../shared/dotfiles/nvim;
|
||||||
home.file.".tmux.conf".source = ../shared/dotfiles/tmux;
|
home.file.".tmux.conf".source = ../shared/dotfiles/tmux;
|
||||||
|
home.file.".config/fish/config.fish".source = ../shared/dotfiles/fish/cli-config.fish;
|
||||||
|
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
|
|
||||||
|
|||||||
@@ -37,6 +37,11 @@
|
|||||||
options = [ "fmask=0022" "dmask=0022" ];
|
options = [ "fmask=0022" "dmask=0022" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
fileSystems."/media" =
|
||||||
|
{ device = "10.137.177.10:/volume1/Media";
|
||||||
|
fsType = "nfs";
|
||||||
|
};
|
||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [ ];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
|||||||
19
hosts/diphda/mc-dh-backup.yaml
Normal file
19
hosts/diphda/mc-dh-backup.yaml
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
source_directories:
|
||||||
|
- /home/eesim/configs/mc-distant-horizons/
|
||||||
|
|
||||||
|
repositories:
|
||||||
|
- path: ssh://lxojwl95@lxojwl95.repo.borgbase.com/./repo
|
||||||
|
label: "Minecraft-DH borgbase"
|
||||||
|
|
||||||
|
exclude_if_present:
|
||||||
|
- .nobackup
|
||||||
|
|
||||||
|
compression: auto,zstd
|
||||||
|
archive_name_format: '{hostname}-{now:%Y-%m-%d-%H%M%S}'
|
||||||
|
encryption_passcommand: 'cat /run/secrets/mc-dh/repo_password'
|
||||||
|
|
||||||
|
keep_hourly: 24
|
||||||
|
keep_daily: 7
|
||||||
|
keep_weekly: 4
|
||||||
|
keep_monthly: 2
|
||||||
|
keep_yearly: 1
|
||||||
@@ -16,6 +16,52 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
sops = {
|
||||||
|
defaultSopsFile = ../../secrets/diphda/secrets.yaml;
|
||||||
|
age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
||||||
|
|
||||||
|
secrets."backup/repo_password" = {
|
||||||
|
owner = "eesim";
|
||||||
|
};
|
||||||
|
|
||||||
|
secrets."mc-arcadia/repo_password" = {};
|
||||||
|
secrets."mc-dh/repo_password" = {};
|
||||||
|
|
||||||
|
secrets."tandoor/secret_key" = {
|
||||||
|
owner = "tandoor";
|
||||||
|
};
|
||||||
|
secrets."tandoor/db_password" = {
|
||||||
|
owner = "tandoor";
|
||||||
|
};
|
||||||
|
secrets."porkbun.keytab" = {
|
||||||
|
format = "binary";
|
||||||
|
sopsFile = ../../secrets/diphda/porkbun.keytab;
|
||||||
|
};
|
||||||
|
secrets."caddy/porkbun_api_key" = {};
|
||||||
|
secrets."caddy/porkbun_secret_key" = {};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services."qbit-update-port" = {
|
||||||
|
enable = true;
|
||||||
|
path = [ pkgs.bash pkgs.docker pkgs.curl pkgs.netcat ];
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "oneshot";
|
||||||
|
User = "root";
|
||||||
|
Group = "root";
|
||||||
|
ExecStart = ''
|
||||||
|
/home/eesim/configs/qbittorrent/update-port.sh
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.timers."qbit-update-port" = {
|
||||||
|
wantedBy = [ "timers.target" ];
|
||||||
|
timerConfig = {
|
||||||
|
OnCalendar = "*:0/5";
|
||||||
|
Persistent = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
# Use the systemd-boot EFI boot loader.
|
# Use the systemd-boot EFI boot loader.
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.systemd-boot.enable = true;
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
@@ -33,6 +79,7 @@
|
|||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
docker-compose
|
docker-compose
|
||||||
|
beets-unstable
|
||||||
];
|
];
|
||||||
|
|
||||||
# Set your time zone.
|
# Set your time zone.
|
||||||
@@ -48,9 +95,22 @@
|
|||||||
shell = pkgs.fish;
|
shell = pkgs.fish;
|
||||||
openssh.authorizedKeys.keys = [
|
openssh.authorizedKeys.keys = [
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEO9a9lCSa84Acv0SqOI608IJGa61dT5Frbw2Y/ABCB9 eesim@ankaa"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEO9a9lCSa84Acv0SqOI608IJGa61dT5Frbw2Y/ABCB9 eesim@ankaa"
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDvWgI2hkcjZvI9LcBEbH+1OuC3ULImTmd1qzOgcIuE7 eesim@alpheratz"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
users.users.tandoor = {
|
||||||
|
uid = 701;
|
||||||
|
group = "services";
|
||||||
|
extraGroups = [ "keys" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
users.groups = {
|
||||||
|
services = {
|
||||||
|
gid = 1001;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
system.stateVersion = "23.11";
|
system.stateVersion = "23.11";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
32
hosts/shared/dotfiles/fish/cli-config.fish
Normal file
32
hosts/shared/dotfiles/fish/cli-config.fish
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
if status is-interactive
|
||||||
|
fish_add_path "/home/eesim/.cargo/bin/"
|
||||||
|
|
||||||
|
abbr ll 'eza'
|
||||||
|
|
||||||
|
set fish_greeting
|
||||||
|
|
||||||
|
set -g fish_key_bindings fish_vi_key_bindings
|
||||||
|
|
||||||
|
set fish_cursor_default block
|
||||||
|
set fish_cursor_insert line
|
||||||
|
set fish_cursor_replace_one underscore
|
||||||
|
set fish_cursor_replace underscore
|
||||||
|
set fish_cursor_external line
|
||||||
|
set fish_cursor_visual block
|
||||||
|
|
||||||
|
function fish_mode_prompt
|
||||||
|
end
|
||||||
|
|
||||||
|
direnv hook fish | source
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
if status is-login
|
||||||
|
|
||||||
|
# Disable GTK portal
|
||||||
|
set -x GTK_USE_PORTAL "0"
|
||||||
|
|
||||||
|
# Java fix
|
||||||
|
set -x _JAVA_AWT_WM_NONREPARENTING "1"
|
||||||
|
|
||||||
|
end
|
||||||
37
hosts/shared/dotfiles/fish/gui-config.fish
Normal file
37
hosts/shared/dotfiles/fish/gui-config.fish
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
if status is-interactive
|
||||||
|
fish_add_path "/home/eesim/.cargo/bin/"
|
||||||
|
|
||||||
|
abbr ll 'eza'
|
||||||
|
|
||||||
|
set fish_greeting
|
||||||
|
|
||||||
|
set -g fish_key_bindings fish_vi_key_bindings
|
||||||
|
|
||||||
|
set fish_cursor_default block
|
||||||
|
set fish_cursor_insert line
|
||||||
|
set fish_cursor_replace_one underscore
|
||||||
|
set fish_cursor_replace underscore
|
||||||
|
set fish_cursor_external line
|
||||||
|
set fish_cursor_visual block
|
||||||
|
|
||||||
|
function fish_mode_prompt
|
||||||
|
end
|
||||||
|
|
||||||
|
direnv hook fish | source
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
if status is-login
|
||||||
|
|
||||||
|
# Disable GTK portal
|
||||||
|
set -x GTK_USE_PORTAL "0"
|
||||||
|
|
||||||
|
# Java fix
|
||||||
|
set -x _JAVA_AWT_WM_NONREPARENTING "1"
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
if test (tty) = "/dev/tty1"
|
||||||
|
sway
|
||||||
|
end
|
||||||
|
|
||||||
@@ -3,6 +3,7 @@ require('config/settings')
|
|||||||
require('config/plugins')
|
require('config/plugins')
|
||||||
require('config/plugins/lualine')
|
require('config/plugins/lualine')
|
||||||
require('config/plugins/lspconfig')
|
require('config/plugins/lspconfig')
|
||||||
|
require('config/plugins/iron')
|
||||||
|
|
||||||
local vimscriptpath = vim.fn.stdpath("config") .. "/lua/config/vimscript/"
|
local vimscriptpath = vim.fn.stdpath("config") .. "/lua/config/vimscript/"
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,9 @@ vim.keymap.set('n', '<leader>ff', ':FzfLua files<CR>')
|
|||||||
vim.keymap.set('n', '<leader>fb', ':FzfLua buffers<CR>')
|
vim.keymap.set('n', '<leader>fb', ':FzfLua buffers<CR>')
|
||||||
vim.keymap.set('n', '<leader>rg', ':FzfLua grep_project<CR>')
|
vim.keymap.set('n', '<leader>rg', ':FzfLua grep_project<CR>')
|
||||||
|
|
||||||
|
vim.keymap.set('n', 'ga', '<Plug>(EasyAlign)')
|
||||||
|
vim.keymap.set('x', 'ga', '<Plug>(EasyAlign)')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
vim.keymap.set('i', '<S-Tab>', '<C-d>')
|
vim.keymap.set('i', '<S-Tab>', '<C-d>')
|
||||||
|
|||||||
@@ -35,6 +35,10 @@ local plugins = {
|
|||||||
end
|
end
|
||||||
},
|
},
|
||||||
|
|
||||||
|
'Vigemus/iron.nvim',
|
||||||
|
|
||||||
|
'junegunn/vim-easy-align',
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||||
|
|||||||
61
hosts/shared/dotfiles/nvim/lua/config/plugins/iron.lua
Normal file
61
hosts/shared/dotfiles/nvim/lua/config/plugins/iron.lua
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
local iron = require("iron.core")
|
||||||
|
|
||||||
|
iron.setup {
|
||||||
|
config = {
|
||||||
|
-- Whether a repl should be discarded or not
|
||||||
|
scratch_repl = true,
|
||||||
|
-- Your repl definitions come here
|
||||||
|
repl_definition = {
|
||||||
|
sh = {
|
||||||
|
-- Can be a table or a function that
|
||||||
|
-- returns a table (see below)
|
||||||
|
command = {"fish"}
|
||||||
|
},
|
||||||
|
python = {
|
||||||
|
command = { "python3" }, -- or { "ipython", "--no-autoindent" }
|
||||||
|
format = require("iron.fts.common").bracketed_paste_python
|
||||||
|
},
|
||||||
|
matlab = {
|
||||||
|
command = {
|
||||||
|
"matlab",
|
||||||
|
"-nosplash",
|
||||||
|
"-nodesktop"
|
||||||
|
},
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
-- How the repl window will be displayed
|
||||||
|
-- See below for more information
|
||||||
|
repl_open_cmd = require('iron.view').split.vertical.rightbelow("%40"),
|
||||||
|
},
|
||||||
|
-- Iron doesn't set keymaps by default anymore.
|
||||||
|
-- You can set them here or manually add keymaps to the functions in iron.core
|
||||||
|
keymaps = {
|
||||||
|
send_motion = "<space>sc",
|
||||||
|
visual_send = "<space>sc",
|
||||||
|
send_file = "<space>sf",
|
||||||
|
send_line = "<space>sl",
|
||||||
|
send_paragraph = "<space>sp",
|
||||||
|
send_until_cursor = "<space>su",
|
||||||
|
send_mark = "<space>sm",
|
||||||
|
mark_motion = "<space>mc",
|
||||||
|
mark_visual = "<space>mc",
|
||||||
|
remove_mark = "<space>md",
|
||||||
|
cr = "<space>s<cr>",
|
||||||
|
interrupt = "<space>s<space>",
|
||||||
|
exit = "<space>sq",
|
||||||
|
clear = "<space>cl",
|
||||||
|
},
|
||||||
|
-- If the highlight is on, you can change how it looks
|
||||||
|
-- For the available options, check nvim_set_hl
|
||||||
|
highlight = {
|
||||||
|
italic = true
|
||||||
|
},
|
||||||
|
ignore_blank_lines = true, -- ignore blank lines when sending visual select lines
|
||||||
|
}
|
||||||
|
|
||||||
|
-- iron also has a list of commands, see :h iron-commands for all available commands
|
||||||
|
vim.keymap.set('n', '<space>rs', '<cmd>IronRepl<cr>')
|
||||||
|
vim.keymap.set('n', '<space>rr', '<cmd>IronRestart<cr>')
|
||||||
|
vim.keymap.set('n', '<space>rf', '<cmd>IronFocus<cr>')
|
||||||
|
vim.keymap.set('n', '<space>rh', '<cmd>IronHide<cr>')
|
||||||
@@ -24,11 +24,21 @@ lspconfig.rust_analyzer.setup {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
lspconfig.matlab_ls.setup {
|
||||||
|
capabilities = capabilities,
|
||||||
|
settings = {
|
||||||
|
MATLAB = {
|
||||||
|
indexWorkspace = false,
|
||||||
|
installPath = "",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
lspconfig.omnisharp.setup {
|
lspconfig.omnisharp.setup {
|
||||||
cmd = { "dotnet", "/usr/lib/omnisharp-roslyn/OmniSharp.dll"}
|
cmd = { "dotnet", "/usr/lib/omnisharp-roslyn/OmniSharp.dll"}
|
||||||
}
|
}
|
||||||
|
|
||||||
local default_servers = {'pylsp', 'ccls', 'typst_lsp', 'r_language_server', 'lua_ls', 'nil_ls'}
|
local default_servers = {'pylsp', 'ccls', 'r_language_server', 'lua_ls', 'nil_ls', 'tinymist'}
|
||||||
|
|
||||||
for _, lsp in ipairs(default_servers) do
|
for _, lsp in ipairs(default_servers) do
|
||||||
lspconfig[lsp].setup {
|
lspconfig[lsp].setup {
|
||||||
|
|||||||
@@ -10,6 +10,16 @@ vim.opt.softtabstop=4
|
|||||||
vim.opt.shiftwidth=4
|
vim.opt.shiftwidth=4
|
||||||
vim.opt.shiftround=true
|
vim.opt.shiftround=true
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd(
|
||||||
|
{ "FileType" },
|
||||||
|
{ pattern = "nix",
|
||||||
|
callback = function()
|
||||||
|
vim.opt.softtabstop=2
|
||||||
|
vim.opt.shiftwidth=2
|
||||||
|
end
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
vim.opt.backspace={'indent','eol','start'}
|
vim.opt.backspace={'indent','eol','start'}
|
||||||
vim.opt.hidden=true
|
vim.opt.hidden=true
|
||||||
vim.opt.laststatus=2
|
vim.opt.laststatus=2
|
||||||
|
|||||||
@@ -12,5 +12,6 @@
|
|||||||
./qt.nix
|
./qt.nix
|
||||||
./sway.nix
|
./sway.nix
|
||||||
./gtk.nix
|
./gtk.nix
|
||||||
|
./term.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,13 +14,32 @@ in
|
|||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = true;
|
default = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
jujutsu = {
|
||||||
|
enable = mkOption {
|
||||||
|
description = "Whether to install and configure jujutsu";
|
||||||
|
type = types.bool;
|
||||||
|
default = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
programs.git = {
|
config = {
|
||||||
|
programs.git = mkIf cfg.enable {
|
||||||
enable = true;
|
enable = true;
|
||||||
userName = "Ethan Simmons";
|
userName = "Ethan Simmons";
|
||||||
userEmail = "eesimmons9105@gmail.com";
|
userEmail = "contact@esimmons.me";
|
||||||
|
};
|
||||||
|
programs.jujutsu = mkIf cfg.jujutsu.enable {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
user = {
|
||||||
|
name = "Ethan Simmons";
|
||||||
|
email = "contact@esimmons.me";
|
||||||
|
};
|
||||||
|
ui.paginate = "never";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
with lib; let
|
with lib; let
|
||||||
gui = systemConfig.gui;
|
gui = config.simmer.gui;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
config = {
|
config = {
|
||||||
@@ -18,7 +18,7 @@ in
|
|||||||
};
|
};
|
||||||
iconTheme = {
|
iconTheme = {
|
||||||
name = "awaidta-dark";
|
name = "awaidta-dark";
|
||||||
package = pkgs.gnome.adwaita-icon-theme;
|
package = pkgs.adwaita-icon-theme;
|
||||||
};
|
};
|
||||||
theme = {
|
theme = {
|
||||||
name = "adw-gtk3-dark";
|
name = "adw-gtk3-dark";
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
{ lib
|
{ lib
|
||||||
, pkgs
|
, pkgs
|
||||||
|
, localPackages
|
||||||
, config
|
, config
|
||||||
, systemConfig
|
, systemConfig
|
||||||
, utils
|
, utils
|
||||||
@@ -8,6 +9,8 @@
|
|||||||
|
|
||||||
with lib; let
|
with lib; let
|
||||||
gui = config.simmer.gui;
|
gui = config.simmer.gui;
|
||||||
|
term = config.simmer.term;
|
||||||
|
laptop = config.simmer.laptop;
|
||||||
modifier = "Mod4";
|
modifier = "Mod4";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
@@ -15,11 +18,30 @@ in
|
|||||||
services.swayidle = {
|
services.swayidle = {
|
||||||
enable = true;
|
enable = true;
|
||||||
timeouts = [
|
timeouts = [
|
||||||
{
|
(mkIf gui.sway.desktop {
|
||||||
timeout = 600;
|
timeout = 600;
|
||||||
command = "${pkgs.sway}/bin/swaymsg 'output * dpms off'";
|
command = "${pkgs.sway}/bin/swaymsg 'output * dpms off'";
|
||||||
resumeCommand = "${pkgs.sway}/bin/swaymsg 'output * dpms on'";
|
resumeCommand = "${pkgs.sway}/bin/swaymsg 'output * dpms on'";
|
||||||
}
|
})
|
||||||
|
(mkIf (!gui.sway.desktop) {
|
||||||
|
timeout = 300;
|
||||||
|
command = "${pkgs.swaylock}/bin/swaylock -f -c 000000";
|
||||||
|
})
|
||||||
|
(mkIf (!gui.sway.desktop) {
|
||||||
|
timeout = 420;
|
||||||
|
command = "${pkgs.sway}/bin/swaymsg 'output * dpms off'";
|
||||||
|
resumeCommand = "${pkgs.sway}/bin/swaymsg 'output * dpms on'";
|
||||||
|
})
|
||||||
|
(mkIf (!gui.sway.desktop) {
|
||||||
|
timeout = 600;
|
||||||
|
command = "systemctl suspend";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
events = [
|
||||||
|
(mkIf (!gui.sway.desktop) {
|
||||||
|
event = "before-sleep";
|
||||||
|
command = "${pkgs.swaylock}/bin/swaylock -f -c 000000";
|
||||||
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
};
|
};
|
||||||
@@ -29,76 +51,88 @@ in
|
|||||||
|
|
||||||
config = {
|
config = {
|
||||||
modifier = modifier;
|
modifier = modifier;
|
||||||
keybindings = {
|
keybindings = mkMerge [
|
||||||
"XF86AudioRaiseVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5%";
|
{
|
||||||
"XF86AudioLowerVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5%";
|
"XF86AudioRaiseVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5%";
|
||||||
"XF86AudioMute" = "exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle";
|
"XF86AudioLowerVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5%";
|
||||||
"XF86AudioMicMute" = "exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle";
|
"XF86AudioMute" = "exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle";
|
||||||
"XF86AudioPause" = "exec playerctl play-pause";
|
"XF86AudioMicMute" = "exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle";
|
||||||
"XF86AudioNext" = "exec playerctl next";
|
"${modifier}+space" = "exec \"kickoff-dot-desktop | ${pkgs.kickoff}/bin/kickoff --from-stdin --stdout | xargs -d '\\n' ${pkgs.sway}/bin/swaymsg exec\"";
|
||||||
"XF86AudioPrev" = "exec playerctl previous";
|
"${modifier}+Return" = "exec ${term.terminal}";
|
||||||
"${modifier}+space" = "exec \"kickoff-dot-desktop | ${pkgs.kickoff}/bin/kickoff --from-stdin --stdout | xargs -d '\\n' ${pkgs.sway}/bin/swaymsg exec\"";
|
"${modifier}+Control+f" = "exec MOZ_ENABLE_WAYLAND=1 firefox";
|
||||||
"${modifier}+Return" = "exec alacritty ";
|
"${modifier}+Control+t" = "exec thunar";
|
||||||
"${modifier}+Control+f" = "exec MOZ_ENABLE_WAYLAND=1 firefox";
|
"${modifier}+Control+h" = "exec helvum";
|
||||||
"${modifier}+Control+s" = "exec steam";
|
"${modifier}+Control+p" = "exec pavucontrol";
|
||||||
"${modifier}+Control+t" = "exec thunar";
|
"${modifier}+h" = "focus left";
|
||||||
"${modifier}+Control+d" = "exec vesktop --enable-features=WebRTCPipeWireCapturer";
|
"${modifier}+j" = "focus down";
|
||||||
"${modifier}+Control+x" = "exec feishin";
|
"${modifier}+k" = "focus up";
|
||||||
"${modifier}+Control+h" = "exec helvum";
|
"${modifier}+l" = "focus right";
|
||||||
"${modifier}+Control+p" = "exec pavucontrol";
|
"${modifier}+Left" = "focus left";
|
||||||
"${modifier}+Shift+s" = "exec grip -g $(slurp)";
|
"${modifier}+Down" = "focus down";
|
||||||
"${modifier}+Shift+q" = "kill";
|
"${modifier}+Up" = "focus up";
|
||||||
"${modifier}+h" = "focus left";
|
"${modifier}+Right" = "focus right";
|
||||||
"${modifier}+j" = "focus down";
|
"${modifier}+Shift+h" = "move left 30px";
|
||||||
"${modifier}+k" = "focus up";
|
"${modifier}+Shift+j" = "move down 30px";
|
||||||
"${modifier}+l" = "focus right";
|
"${modifier}+Shift+k" = "move up 30px";
|
||||||
"${modifier}+Left" = "focus left";
|
"${modifier}+Shift+l" = "move right 30px";
|
||||||
"${modifier}+Down" = "focus down";
|
"${modifier}+Shift+Left" = "move left";
|
||||||
"${modifier}+Up" = "focus up";
|
"${modifier}+Shift+Down" = "move down";
|
||||||
"${modifier}+Right" = "focus right";
|
"${modifier}+Shift+Up" = "move up";
|
||||||
"${modifier}+Shift+h" = "move left";
|
"${modifier}+Shift+Right" = "move right";
|
||||||
"${modifier}+Shift+j" = "move down";
|
"${modifier}+b" = "split h";
|
||||||
"${modifier}+Shift+k" = "move up";
|
"${modifier}+v" = "split v";
|
||||||
"${modifier}+Shift+l" = "move right";
|
"${modifier}+r" = "mode 'resize'";
|
||||||
"${modifier}+Shift+Left" = "move left";
|
"${modifier}+f" = "fullscreen toggle";
|
||||||
"${modifier}+Shift+Down" = "move down";
|
"${modifier}+Shift+space" = "floating toggle";
|
||||||
"${modifier}+Shift+Up" = "move up";
|
"${modifier}+s" = "layout stacking";
|
||||||
"${modifier}+Shift+Right" = "move right";
|
"${modifier}+w" = "layout tabbed";
|
||||||
"${modifier}+b" = "split h";
|
"${modifier}+e" = "layout toggle split";
|
||||||
"${modifier}+v" = "split v";
|
"${modifier}+a" = "focus parent";
|
||||||
"${modifier}+r" = "mode 'resize'";
|
"${modifier}+1" = "workspace 1 ";
|
||||||
"${modifier}+f" = "fullscreen toggle";
|
"${modifier}+2" = "workspace 2";
|
||||||
"${modifier}+Shift+space" = "floating toggle";
|
"${modifier}+3" = "workspace 3";
|
||||||
"${modifier}+s" = "layout stacking";
|
"${modifier}+4" = "workspace 4";
|
||||||
"${modifier}+w" = "layout tabbed";
|
"${modifier}+5" = "workspace 5";
|
||||||
"${modifier}+e" = "layout toggle split";
|
"${modifier}+6" = "workspace 6";
|
||||||
"${modifier}+a" = "focus parent";
|
"${modifier}+7" = "workspace 7";
|
||||||
"${modifier}+1" = "workspace 1 ";
|
"${modifier}+8" = "workspace 8";
|
||||||
"${modifier}+2" = "workspace 2";
|
"${modifier}+9" = "workspace 9";
|
||||||
"${modifier}+3" = "workspace 3";
|
"${modifier}+0" = "workspace 10";
|
||||||
"${modifier}+4" = "workspace 4";
|
"${modifier}+Shift+1" = "move container to workspace 1";
|
||||||
"${modifier}+5" = "workspace 5";
|
"${modifier}+Shift+2" = "move container to workspace 2";
|
||||||
"${modifier}+6" = "workspace 6";
|
"${modifier}+Shift+3" = "move container to workspace 3";
|
||||||
"${modifier}+7" = "workspace 7";
|
"${modifier}+Shift+4" = "move container to workspace 4";
|
||||||
"${modifier}+8" = "workspace 8";
|
"${modifier}+Shift+5" = "move container to workspace 5";
|
||||||
"${modifier}+9" = "workspace 9";
|
"${modifier}+Shift+6" = "move container to workspace 6";
|
||||||
"${modifier}+0" = "workspace 10";
|
"${modifier}+Shift+7" = "move container to workspace 7";
|
||||||
"${modifier}+Shift+1" = "move container to workspace 1";
|
"${modifier}+Shift+8" = "move container to workspace 8";
|
||||||
"${modifier}+Shift+2" = "move container to workspace 2";
|
"${modifier}+Shift+9" = "move container to workspace 9";
|
||||||
"${modifier}+Shift+3" = "move container to workspace 3";
|
"${modifier}+Shift+0" = "move container to workspace 10";
|
||||||
"${modifier}+Shift+4" = "move container to workspace 4";
|
"${modifier}+Shift+e" = "exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'";
|
||||||
"${modifier}+Shift+5" = "move container to workspace 5";
|
"${modifier}+Shift+c" = "reload";
|
||||||
"${modifier}+Shift+6" = "move container to workspace 6";
|
"${modifier}+Shift+s" = "exec 'TMPFILE=\"$(mktemp)\"; ${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp)\" \"$TMPFILE\"; mv \"$TMPFILE\" \"/home/eesim/Pictures/$(${pkgs.zenity}/bin/zenity --entry).png\"'";
|
||||||
"${modifier}+Shift+7" = "move container to workspace 7";
|
"${modifier}+Shift+o" = "exec '${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp)\" - | ${localPackages.x86_64-linux.gazou}/bin/gazou | tail -n +2 | ${pkgs.wl-clipboard}/bin/wl-copy'";
|
||||||
"${modifier}+Shift+8" = "move container to workspace 8";
|
"${modifier}+Shift+q" = "kill";
|
||||||
"${modifier}+Shift+9" = "move container to workspace 9";
|
"${modifier}+p" = "focus mode_toggle";
|
||||||
"${modifier}+Shift+0" = "move container to workspace 10";
|
"${modifier}+Control+b" = "exec bluetoothctl connect 18:3F:70:62:A5:3C";
|
||||||
"${modifier}+Shift+e" = "exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'";
|
"XF86AudioPause" = "exec playerctl play-pause";
|
||||||
"${modifier}+Shift+c" = "reload";
|
"XF86AudioNext" = "exec playerctl next";
|
||||||
};
|
"XF86AudioPrev" = "exec playerctl previous";
|
||||||
|
}
|
||||||
|
(mkIf gui.sway.desktop {
|
||||||
|
"${modifier}+Control+s" = "exec steam";
|
||||||
|
"${modifier}+Control+d" = "exec vesktop --enable-features=WebRTCPipeWireCapturer";
|
||||||
|
"${modifier}+Control+x" = "exec feishin";
|
||||||
|
})
|
||||||
|
(mkIf laptop.backlight.enable {
|
||||||
|
"XF86MonBrightnessUp" = "exec ${pkgs.light}/bin/light -A 5";
|
||||||
|
"XF86MonBrightnessDown" = "exec ${pkgs.light}/bin/light -U 5";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
startup = []
|
startup = [
|
||||||
++ optionals gui.sway.desktop [
|
{ command = "fcitx5 -d"; }
|
||||||
|
] ++ optionals gui.sway.desktop [
|
||||||
{ command = "vorta"; }
|
{ command = "vorta"; }
|
||||||
{ command = "MOZ_ENABLE_WAYLAND=1 firefox"; }
|
{ command = "MOZ_ENABLE_WAYLAND=1 firefox"; }
|
||||||
{ command = "sleep 20 && vesktop --enable-features=WebRTCPipeWireCapturer"; }
|
{ command = "sleep 20 && vesktop --enable-features=WebRTCPipeWireCapturer"; }
|
||||||
@@ -164,7 +198,7 @@ in
|
|||||||
|
|
||||||
input."type:keyboard" = {
|
input."type:keyboard" = {
|
||||||
xkb_layout = "us,de";
|
xkb_layout = "us,de";
|
||||||
xkb_options = "grp:shifts_toggle";
|
xkb_options = "grp:lctrl_lalt_toggle,lv3:ralt_switch";
|
||||||
};
|
};
|
||||||
|
|
||||||
output = gui.monitors;
|
output = gui.monitors;
|
||||||
@@ -180,10 +214,13 @@ in
|
|||||||
commands = [
|
commands = [
|
||||||
{ criteria = { class = "vesktop"; }; command = "opacity 0.9"; }
|
{ criteria = { class = "vesktop"; }; command = "opacity 0.9"; }
|
||||||
{ criteria = { app_id = "Alacritty"; }; command = "opacity 0.9"; }
|
{ criteria = { app_id = "Alacritty"; }; command = "opacity 0.9"; }
|
||||||
|
{ criteria = { app_id = "kitty"; }; command = "opacity 0.9"; }
|
||||||
{ criteria = { class = "feishin"; }; command = "opacity 0.9"; }
|
{ criteria = { class = "feishin"; }; command = "opacity 0.9"; }
|
||||||
{ criteria = { class = "gamescope"; }; command = "fullscreen"; }
|
{ criteria = { class = "gamescope"; }; command = "fullscreen"; }
|
||||||
{ criteria = { app_id = "gamescope"; }; command = "fullscreen"; }
|
{ criteria = { app_id = "gamescope"; }; command = "fullscreen"; }
|
||||||
|
{ criteria = { class = "Wfica"; }; command = "fullscreen"; }
|
||||||
{ criteria = { app_id = "mpv"; }; command = "fullscreen"; }
|
{ criteria = { app_id = "mpv"; }; command = "fullscreen"; }
|
||||||
|
{ criteria = { app_id = "org.speedcrunch."; }; command = "floating enable"; }
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -219,6 +256,21 @@ in
|
|||||||
smart_gaps inverse_outer
|
smart_gaps inverse_outer
|
||||||
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
extraSessionCommands =
|
||||||
|
(if gui.secrets
|
||||||
|
then ''
|
||||||
|
eval $(gnome-keyring-daemon --start --components=pkcs11,secrets,ssh);
|
||||||
|
export SSH_AUTH_SOCK;
|
||||||
|
''
|
||||||
|
else "") + ''
|
||||||
|
# https://www.reddit.com/r/swaywm/comments/i6qlos/how_do_i_use_an_ime_with_sway/g1lk4xh?utm_source=share&utm_medium=web2x&context=3
|
||||||
|
export INPUT_METHOD=fcitx
|
||||||
|
export QT_IM_MODULE=fcitx
|
||||||
|
export GTK_IM_MODULE=fcitx
|
||||||
|
export XMODIFIERS=@im=fcitx
|
||||||
|
export XIM_SERVERS=fcitx
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
27
modules/home/term.nix
Normal file
27
modules/home/term.nix
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
{ lib
|
||||||
|
, pkgs
|
||||||
|
, config
|
||||||
|
, ...
|
||||||
|
}:
|
||||||
|
|
||||||
|
with lib; let
|
||||||
|
cfg = config.simmer.term;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
|
||||||
|
config = {
|
||||||
|
programs.kitty = mkIf (cfg.terminal == "kitty") {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
confirm_os_window_close = 0;
|
||||||
|
};
|
||||||
|
font.name = mkIf (cfg.font == "codelia") "Codelia";
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
programs.alacritty = mkIf (cfg.terminal == "alacritty") {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
@@ -12,7 +12,7 @@ in
|
|||||||
config = {
|
config = {
|
||||||
environment.systemPackages = with pkgs; []
|
environment.systemPackages = with pkgs; []
|
||||||
++ optional cfg.pipewire.enable pulseaudio
|
++ optional cfg.pipewire.enable pulseaudio
|
||||||
++ optional cfg.music.enable feishin
|
++ optional cfg.music.enable supersonic
|
||||||
++ optional cfg.tools.helvum helvum
|
++ optional cfg.tools.helvum helvum
|
||||||
++ optional cfg.tools.easyeffects easyeffects
|
++ optional cfg.tools.easyeffects easyeffects
|
||||||
++ optional cfg.tools.pavucontrol pavucontrol;
|
++ optional cfg.tools.pavucontrol pavucontrol;
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ in
|
|||||||
curl
|
curl
|
||||||
wget
|
wget
|
||||||
git
|
git
|
||||||
|
jujutsu
|
||||||
killall
|
killall
|
||||||
vim
|
vim
|
||||||
eza
|
eza
|
||||||
@@ -23,6 +24,7 @@ in
|
|||||||
yazi
|
yazi
|
||||||
ncdu
|
ncdu
|
||||||
btop
|
btop
|
||||||
|
pciutils
|
||||||
]
|
]
|
||||||
++ optional cfg.nil.enable nil;
|
++ optional cfg.nil.enable nil;
|
||||||
|
|
||||||
@@ -39,12 +41,19 @@ in
|
|||||||
main = mkMerge [
|
main = mkMerge [
|
||||||
(mkIf (cfg.caps == "ctrl-esc") { capslock = "overload(control, esc)"; })
|
(mkIf (cfg.caps == "ctrl-esc") { capslock = "overload(control, esc)"; })
|
||||||
(mkIf (cfg.caps == "esc") { capslock = "esc"; })
|
(mkIf (cfg.caps == "esc") { capslock = "esc"; })
|
||||||
|
{ rightcontrol = "rightcontrol"; }
|
||||||
|
{ rightshift = "rightshift"; }
|
||||||
|
];
|
||||||
|
altgr = mkMerge [
|
||||||
|
{ "-" = "macro(C-S-u 2 0 1 4 space)"; }
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.fish.enable = mkIf (cfg.shell == "fish") true;
|
programs.fish = mkIf (cfg.shell == "fish") {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,5 +13,7 @@
|
|||||||
./common.nix
|
./common.nix
|
||||||
./networking.nix
|
./networking.nix
|
||||||
./games.nix
|
./games.nix
|
||||||
|
./laptop.nix
|
||||||
|
./school
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,15 +9,18 @@ with lib; let
|
|||||||
in
|
in
|
||||||
{
|
{
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
environment.systemPackages = with pkgs; with localPackages.x86_64-linux; []
|
environment.systemPackages = with pkgs; []
|
||||||
++ optional cfg.protonup.enable protonup-qt
|
++ optional cfg.protonup.enable protonup-qt
|
||||||
++ optional cfg.gamescope.enable gamescope
|
++ optional cfg.gamescope.enable gamescope
|
||||||
++ optional cfg.discord.enable vesktop
|
++ optional cfg.discord.enable vesktop
|
||||||
++ optional cfg.minecraft.enable prismlauncher
|
++ optional cfg.minecraft.enable prismlauncher
|
||||||
|
++ optional cfg.vintagestory.enable vintagestory
|
||||||
|
++ optional cfg.ps4.enable localPackages.x86_64-linux.shadps4
|
||||||
++ optionals cfg.lutris.enable [ lutris wine ];
|
++ optionals cfg.lutris.enable [ lutris wine ];
|
||||||
|
|
||||||
programs.steam = mkIf cfg.steam.enable {
|
programs.steam = mkIf cfg.steam.enable {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
extraCompatPackages = with pkgs; [ proton-ge-bin ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,32 +24,48 @@ in
|
|||||||
mpv
|
mpv
|
||||||
feh
|
feh
|
||||||
]
|
]
|
||||||
++ [ cfg.terminal ]
|
|
||||||
++ optional cfg.matrix cinny-desktop
|
++ optional cfg.matrix cinny-desktop
|
||||||
++ optional cfg.secrets libsecret
|
++ optional cfg.secrets libsecret
|
||||||
++ optionals cfg.protonmail [ thunderbird protonmail-bridge ];
|
++ optionals cfg.protonmail [ thunderbird protonmail-bridge ];
|
||||||
|
|
||||||
programs.dconf.enable = mkIf cfg.secrets true;
|
programs.dconf.enable = mkIf cfg.secrets true;
|
||||||
services.gnome.gnome-keyring.enable = mkIf cfg.secrets true;
|
services.gnome.gnome-keyring.enable = mkIf cfg.secrets true;
|
||||||
services.dbus.packages = mkIf cfg.secrets [ pkgs.gnome.seahorse ];
|
services.dbus.packages = mkIf cfg.secrets [ pkgs.seahorse ];
|
||||||
|
|
||||||
|
# Remove when nixpkgs issue 143365 is fixed
|
||||||
|
security.pam.services.swaylock = mkIf (!cfg.sway.desktop) {};
|
||||||
|
|
||||||
xdg.portal.config.common = [ "wlr" "gtk" ];
|
xdg.portal.config.common = [ "wlr" "gtk" ];
|
||||||
programs.thunar.enable = true;
|
programs.thunar.enable = true;
|
||||||
|
|
||||||
|
hardware.opengl.enable = true;
|
||||||
|
|
||||||
|
i18n.inputMethod = {
|
||||||
|
enabled = "fcitx5";
|
||||||
|
fcitx5.addons = with pkgs; [
|
||||||
|
fcitx5-mozc
|
||||||
|
fcitx5-gtk
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
fonts = {
|
fonts = {
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
liberation_ttf
|
liberation_ttf
|
||||||
noto-fonts
|
noto-fonts
|
||||||
noto-fonts-cjk
|
noto-fonts-cjk-sans
|
||||||
noto-fonts-extra
|
ubuntu-classic
|
||||||
ubuntu_font_family
|
|
||||||
vazir-fonts
|
vazir-fonts
|
||||||
font-awesome
|
font-awesome
|
||||||
|
corefonts
|
||||||
|
carlito
|
||||||
|
roboto
|
||||||
|
source-sans
|
||||||
|
source-sans-pro
|
||||||
];
|
];
|
||||||
fontconfig = {
|
fontconfig = {
|
||||||
|
|
||||||
defaultFonts = {
|
defaultFonts = {
|
||||||
serif = [ "Noto Serif" "Noto Serif CJK JP" ];
|
serif = [ "Noto Serif" "Noto Serif CJK JP" ];
|
||||||
sansSerif = [ "Noto Sans" "Noto Sans CJK JP" ];
|
sansSerif = [ "Noto Sans" "Noto Sans CJK JP" ];
|
||||||
monospace = [ "Ubuntu Mono" "Noto Sans Mono CJK JP" ];
|
monospace = [ "Ubuntu Mono" "Noto Sans Mono CJK JP" ];
|
||||||
};
|
};
|
||||||
|
|||||||
28
modules/nix/laptop.nix
Normal file
28
modules/nix/laptop.nix
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
{ lib
|
||||||
|
, pkgs
|
||||||
|
, config
|
||||||
|
, ...
|
||||||
|
}:
|
||||||
|
|
||||||
|
with lib; let
|
||||||
|
cfg = config.simmer.laptop;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
|
||||||
|
config.programs.light.enable = mkIf cfg.backlight.enable true;
|
||||||
|
|
||||||
|
config.powerManagement.powertop.enable = mkIf cfg.powersave.enable true;
|
||||||
|
config.services.auto-cpufreq = mkIf cfg.powersave.enable {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
battery = {
|
||||||
|
governor = "powersave";
|
||||||
|
turbo = "never";
|
||||||
|
};
|
||||||
|
charger = {
|
||||||
|
governor = "performance";
|
||||||
|
turbo = "auto";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -14,7 +14,7 @@ in
|
|||||||
ports = [ cfg.port ];
|
ports = [ cfg.port ];
|
||||||
settings = {
|
settings = {
|
||||||
PermitRootLogin = "no";
|
PermitRootLogin = "no";
|
||||||
PasswordAuthentication = false;
|
PasswordAuthentication = cfg.allow-password;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
24
modules/nix/school/default.nix
Normal file
24
modules/nix/school/default.nix
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
{ lib
|
||||||
|
, pkgs
|
||||||
|
, config
|
||||||
|
, localPackages
|
||||||
|
, pkgs_stable_tmp
|
||||||
|
, ...
|
||||||
|
}:
|
||||||
|
|
||||||
|
with lib; let
|
||||||
|
cfg = config.simmer.school;
|
||||||
|
extraCerts = [ ./incommon-rsa-ca2.pem ];
|
||||||
|
citrix = pkgs_stable_tmp.citrix_workspace_23_09_0.override { inherit extraCerts; };
|
||||||
|
in
|
||||||
|
{
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
xournalpp
|
||||||
|
libreoffice
|
||||||
|
]
|
||||||
|
++ optional cfg.citrix citrix
|
||||||
|
++ optional cfg.kicad kicad
|
||||||
|
++ optional cfg.logisim logisim-evolution;
|
||||||
|
};
|
||||||
|
}
|
||||||
36
modules/nix/school/incommon-rsa-ca2.pem
Normal file
36
modules/nix/school/incommon-rsa-ca2.pem
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIGSjCCBDKgAwIBAgIRAINbdhUgbS1uCX4LbkCf78AwDQYJKoZIhvcNAQEMBQAw
|
||||||
|
gYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5MRQwEgYDVQQHEwtK
|
||||||
|
ZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMS4wLAYD
|
||||||
|
VQQDEyVVU0VSVHJ1c3QgUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTIy
|
||||||
|
MTExNjAwMDAwMFoXDTMyMTExNTIzNTk1OVowRDELMAkGA1UEBhMCVVMxEjAQBgNV
|
||||||
|
BAoTCUludGVybmV0MjEhMB8GA1UEAxMYSW5Db21tb24gUlNBIFNlcnZlciBDQSAy
|
||||||
|
MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAifBcxDi60DRXr5dVoPQi
|
||||||
|
Q/w+GBE62216UiEGMdbUt7eSiIaFj/iZ/xiFop0rWuH4BCFJ3kSvQF+aIhEsOnuX
|
||||||
|
R6mViSpUx53HM5ApIzFIVbd4GqY6tgwaPzu/XRI/4Dmz+hoLW/i/zD19iXvS95qf
|
||||||
|
NU8qP7/3/USf2/VNSUNmuMKlaRgwkouue0usidYK7V8W3ze+rTFvWR2JtWKNTInc
|
||||||
|
NyWD3GhVy/7G09PwTAu7h0qqRyTkETLf+z7FWtc8c12f+SfvmKHKFVqKpNPtgMkr
|
||||||
|
wqwaOgOOD4Q00AihVT+UzJ6MmhNPGg+/Xf0BavmXKCGDTv5uzQeOdD35o/Zw16V4
|
||||||
|
C4J4toj1WLY7hkVhrzKG+UWJiSn8Hv3dUTj4dkneJBNQrUfcIfTHV3gCtKwXn1eX
|
||||||
|
mrxhH+tWu9RVwsDegRG0s28OMdVeOwljZvYrUjRomutNO5GzynveVxJVCn3Cbn7a
|
||||||
|
c4L+5vwPNgs04DdOAGzNYdG5t6ryyYPosSLH2B8qDNzxAgMBAAGjggFwMIIBbDAf
|
||||||
|
BgNVHSMEGDAWgBRTeb9aqitKz1SA4dibwJ3ysgNmyzAdBgNVHQ4EFgQU70wAkqb7
|
||||||
|
di5eleLJX4cbGdVN4tkwDgYDVR0PAQH/BAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8C
|
||||||
|
AQAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMCIGA1UdIAQbMBkwDQYL
|
||||||
|
KwYBBAGyMQECAmcwCAYGZ4EMAQICMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9j
|
||||||
|
cmwudXNlcnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9uQXV0aG9y
|
||||||
|
aXR5LmNybDBxBggrBgEFBQcBAQRlMGMwOgYIKwYBBQUHMAKGLmh0dHA6Ly9jcnQu
|
||||||
|
dXNlcnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FBQUFDQS5jcnQwJQYIKwYBBQUHMAGG
|
||||||
|
GWh0dHA6Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJKoZIhvcNAQEMBQADggIBACaA
|
||||||
|
DTTkHq4ivq8+puKE+ca3JbH32y+odcJqgqzDts5bgsapBswRYypjmXLel11Q2U6w
|
||||||
|
rySldlIjBRDZ8Ah8NOs85A6MKJQLaU9qHzRyG6w2UQTzRwx2seY30Mks3ZdIe9rj
|
||||||
|
s5rEYliIOh9Dwy8wUTJxXzmYf/A1Gkp4JJp0xIhCVR1gCSOX5JW6185kwid242bs
|
||||||
|
Lm0vCQBAA/rQgxvLpItZhC9US/r33lgtX/cYFzB4jGOd+Xs2sEAUlGyu8grLohYh
|
||||||
|
kgWN6hqyoFdOpmrl8yu7CSGV7gmVQf9viwVBDIKm+2zLDo/nhRkk8xA0Bb1BqPzy
|
||||||
|
bPESSVh4y5rZ5bzB4Lo2YN061HV9+HDnnIDBffNIicACdv4JGyGfpbS6xsi3UCN1
|
||||||
|
5ypaG43PJqQ0UnBQDuR60io1ApeSNkYhkaHQ9Tk/0C4A+EM3MW/KFuU53eHLVlX9
|
||||||
|
ss1iG2AJfVktaZ2l/SbY7py8JUYMkL/jqZBRjNkD6srsmpJ6utUMmAlt7m1+cTX8
|
||||||
|
6/VEBc5Dp9VfuD6hNbNKDSg7YxyEVaBqBEtN5dppj4xSiCrs6LxLHnNo3rG8VJRf
|
||||||
|
NVQdgFbMb7dOIBokklzfmU69lS0kgyz2mZMJmW2G/hhEdddJWHh3FcLi2MaeYiOV
|
||||||
|
RFrLHtJvXEdf2aEaZ0LOb2Xo3zO6BJvjXldv2woN
|
||||||
|
-----END CERTIFICATE-----
|
||||||
@@ -14,5 +14,8 @@
|
|||||||
./networking.nix
|
./networking.nix
|
||||||
./openssh.nix
|
./openssh.nix
|
||||||
./system.nix
|
./system.nix
|
||||||
|
./laptop.nix
|
||||||
|
./school.nix
|
||||||
|
./term.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,12 +34,24 @@ in
|
|||||||
default = true;
|
default = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
vintagestory.enable = mkOption {
|
||||||
|
description = "Whether to install Vintage Story";
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
};
|
||||||
|
|
||||||
minecraft.enable = mkOption {
|
minecraft.enable = mkOption {
|
||||||
description = "Whether to install minecraft launcher";
|
description = "Whether to install minecraft launcher";
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
ps4.enable = mkOption {
|
||||||
|
description = "Whether to install ps4 emulator";
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
};
|
||||||
|
|
||||||
gamescope.enable = mkOption {
|
gamescope.enable = mkOption {
|
||||||
description = "Whether to install gamescope";
|
description = "Whether to install gamescope";
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
|
|||||||
@@ -33,12 +33,6 @@ in
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
terminal = mkOption {
|
|
||||||
description = "Which terminal to install (alacritty)";
|
|
||||||
type = types.enum [ pkgs.alacritty ];
|
|
||||||
default = pkgs.alacritty;
|
|
||||||
};
|
|
||||||
|
|
||||||
gtk = mkOption {
|
gtk = mkOption {
|
||||||
description = "Whether to configure gtk";
|
description = "Whether to configure gtk";
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
|
|||||||
24
modules/options/laptop.nix
Normal file
24
modules/options/laptop.nix
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
{ lib
|
||||||
|
, pkgs
|
||||||
|
, config
|
||||||
|
, ...
|
||||||
|
}:
|
||||||
|
|
||||||
|
with lib; let
|
||||||
|
cfg = config.simmer.gui;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.simmer.laptop = {
|
||||||
|
backlight.enable = mkOption {
|
||||||
|
description = "Whether to enable backlight control";
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
powersave.enable = mkOption {
|
||||||
|
description = "Whether to enable powersaving programs";
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
34
modules/options/school.nix
Normal file
34
modules/options/school.nix
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
{ lib
|
||||||
|
, pkgs
|
||||||
|
, config
|
||||||
|
, ...
|
||||||
|
}:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
let
|
||||||
|
cfg = config.simmer.school;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.simmer.school = {
|
||||||
|
enable = mkOption {
|
||||||
|
description = "Whether to install default software for school";
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
};
|
||||||
|
citrix = mkOption {
|
||||||
|
description = "Whether to install and setup citrix";
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
};
|
||||||
|
kicad = mkOption {
|
||||||
|
description = "Whether to install kicad";
|
||||||
|
type = types.bool;
|
||||||
|
default = cfg.enable;
|
||||||
|
};
|
||||||
|
logisim = mkOption {
|
||||||
|
description = "Whether to install logisim";
|
||||||
|
type = types.bool;
|
||||||
|
default = cfg.enable;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
32
modules/options/term.nix
Normal file
32
modules/options/term.nix
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
{ lib
|
||||||
|
, pkgs
|
||||||
|
, config
|
||||||
|
, ...
|
||||||
|
}:
|
||||||
|
|
||||||
|
with lib; let
|
||||||
|
cfg = config.simmer.term;
|
||||||
|
gui = config.simmer.gui;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.simmer.term = {
|
||||||
|
enable = mkOption {
|
||||||
|
description = "Whether to install and configure a terminal";
|
||||||
|
type = types.bool;
|
||||||
|
default = gui.enable;
|
||||||
|
};
|
||||||
|
|
||||||
|
terminal = mkOption {
|
||||||
|
description = "Which terminal to install (alcritty, kitty)";
|
||||||
|
type = types.enum [ "alacritty" "kitty" ];
|
||||||
|
default = "alacritty";
|
||||||
|
};
|
||||||
|
|
||||||
|
font = mkOption {
|
||||||
|
description = "Which font to use in terminal";
|
||||||
|
type = types.enum [ "default" "codelia" ];
|
||||||
|
default = "codelia";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
12
overlays/citrix.nix
Normal file
12
overlays/citrix.nix
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
final: prev: {
|
||||||
|
# https://github.com/NixOS/nixpkgs/issues/348868
|
||||||
|
citrix_workspace_23_09_0 = prev.citrix_workspace_23_09_0.override {
|
||||||
|
libvorbis = final.libvorbis.override {
|
||||||
|
libogg = final.libogg.overrideAttrs (prevAttrs: {
|
||||||
|
cmakeFlags = (if prevAttrs ? cmakeFlags then prevAttrs.cmakeFlags else []) ++ [
|
||||||
|
(final.lib.cmakeBool "BUILD_SHARED_LIBS" true)
|
||||||
|
];
|
||||||
|
});
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,7 +1,8 @@
|
|||||||
{ inputs
|
{ inputs, ...}:
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
gamescope = import ./gamescope-last-working.nix;
|
nose = import ./nose.nix;
|
||||||
|
llama-cpp = import ./llama-cpp.nix { inherit inputs; };
|
||||||
|
printrun = import ./printrun.nix { inherit inputs; };
|
||||||
|
citrix = import ./citrix.nix;
|
||||||
|
shadps4 = import ./shadps4.nix;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +0,0 @@
|
|||||||
final: prev: {
|
|
||||||
gamescope = prev.gamescope.overrideAttrs ( old: {
|
|
||||||
src = prev.fetchFromGitHub {
|
|
||||||
owner = "ValveSoftware";
|
|
||||||
repo = "gamescope";
|
|
||||||
rev = "d0d23c4c3010c81add1bd90cbe478ce4a386e28d";
|
|
||||||
fetchSubmodules = true;
|
|
||||||
hash = "sha256-Ym1kl9naAm1MGlxCk32ssvfiOlstHiZPy7Ga8EZegus=";
|
|
||||||
};
|
|
||||||
});
|
|
||||||
}
|
|
||||||
4
overlays/llama-cpp.nix
Normal file
4
overlays/llama-cpp.nix
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{ inputs, ... }:
|
||||||
|
final: prev: {
|
||||||
|
llama-cpp = prev.llama-cpp.override { rocmSupport = true; };
|
||||||
|
}
|
||||||
3
overlays/nose.nix
Normal file
3
overlays/nose.nix
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
_: prev: {
|
||||||
|
python312 = prev.python312.override { packageOverrides = _: pysuper: { nose = pysuper.pynose; }; };
|
||||||
|
}
|
||||||
10
overlays/printrun.nix
Normal file
10
overlays/printrun.nix
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{ inputs, ... }:
|
||||||
|
let
|
||||||
|
system = "x86_64-linux";
|
||||||
|
pkgs = inputs.nixpkgs-unstable.legacyPackages.${system};
|
||||||
|
in
|
||||||
|
final: prev: {
|
||||||
|
printrun = prev.printrun.overrideAttrs ( finalAttrs: previousAttrs: {
|
||||||
|
propagatedBuildInputs = previousAttrs.propagatedBuildInputs ++ [ pkgs.python312Packages.platformdirs ];
|
||||||
|
});
|
||||||
|
}
|
||||||
15
overlays/shadps4.nix
Normal file
15
overlays/shadps4.nix
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
final: prev: {
|
||||||
|
shadps4 = prev.shadps4.overrideAttrs (old: {
|
||||||
|
version = "0.6.0";
|
||||||
|
|
||||||
|
src = prev.fetchFromGitHub {
|
||||||
|
owner = "shadps4-emu";
|
||||||
|
repo = "shadps4";
|
||||||
|
rev = "15d10e47ea272b1b4c8bf97f2b3bbb406d34b213";
|
||||||
|
fetchSubmodules = true;
|
||||||
|
hash = "sha256-ksIKmijWcRMhCDEi/dodZHiEoIO3CB0BkGn698J7jxI=";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [];
|
||||||
|
});
|
||||||
|
}
|
||||||
36
pkgs/gazou.nix
Normal file
36
pkgs/gazou.nix
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, cmake
|
||||||
|
, pkg-config
|
||||||
|
, tesseract4
|
||||||
|
, leptonica
|
||||||
|
, libsForQt5
|
||||||
|
}:
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "gazou";
|
||||||
|
version = "0.3.3";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "kamui-fin";
|
||||||
|
repo = "gazou";
|
||||||
|
rev = "7dd023fc78566f2911250f4b8550b0a33a943bb3";
|
||||||
|
hash = "sha256-6auc5i6b7r4knzen4TCq2mTdbiv+qCD0mWE3LNyh2J4=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cmake ];
|
||||||
|
buildInputs = [
|
||||||
|
pkg-config
|
||||||
|
tesseract4
|
||||||
|
leptonica
|
||||||
|
libsForQt5.qt5.qtbase
|
||||||
|
libsForQt5.qt5.qtdeclarative
|
||||||
|
];
|
||||||
|
|
||||||
|
cmakeFlags = [
|
||||||
|
"-DGUI=OFF"
|
||||||
|
];
|
||||||
|
|
||||||
|
dontWrapQtApps = true;
|
||||||
|
|
||||||
|
}
|
||||||
76
pkgs/jhelioviewer.nix
Normal file
76
pkgs/jhelioviewer.nix
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, jdk
|
||||||
|
, jre
|
||||||
|
, ant
|
||||||
|
, jogl
|
||||||
|
, libGL
|
||||||
|
, fetchFromGitHub
|
||||||
|
, makeDesktopItem
|
||||||
|
, copyDesktopItems
|
||||||
|
, stripJavaArchivesHook
|
||||||
|
, makeWrapper
|
||||||
|
, ...
|
||||||
|
}:
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "JHelioviewer";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "Helioviewer-Project";
|
||||||
|
repo = "JHelioviewer-SWHV";
|
||||||
|
rev = "c1affb8a820fb2785d7598a59dad3691bf42298c";
|
||||||
|
hash = "sha256-CGpWPKsGQsX+3aaqws351hy2xCST/x+Md+dRBov1vog=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
jdk
|
||||||
|
ant
|
||||||
|
stripJavaArchivesHook
|
||||||
|
makeWrapper
|
||||||
|
copyDesktopItems
|
||||||
|
];
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
runHook preBuild
|
||||||
|
ant
|
||||||
|
runHook postBuild
|
||||||
|
'';
|
||||||
|
|
||||||
|
desktopItems = [
|
||||||
|
(makeDesktopItem {
|
||||||
|
name = "jhelioviewer";
|
||||||
|
desktopName = "JHelioviewer";
|
||||||
|
exec = "jhelioviewer";
|
||||||
|
comment = "A visualization tool for solar physics data based on the JPEG 2000 image compression standard, and part of the open source ESA/NASA Helioviewer Project";
|
||||||
|
icon = "hvLogo";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
mkdir -p $out/share/java/
|
||||||
|
mkdir -p $out/share/java/lib
|
||||||
|
|
||||||
|
install -Dm644 JHelioviewer.jar $out/share/java/
|
||||||
|
|
||||||
|
cp -rv lib/* $out/share/java/lib/
|
||||||
|
|
||||||
|
rm $out/share/java/lib/jogl/*.jar
|
||||||
|
cp -v ${jogl}/share/java/jogl*.jar ${jogl}/share/java/glue*.jar $out/share/java/lib/jogl
|
||||||
|
|
||||||
|
mkdir $out/bin
|
||||||
|
makeWrapper ${jre}/bin/java $out/bin/jhelioviewer \
|
||||||
|
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libGL ]} \
|
||||||
|
--add-flags "-cp $out/share/java/JHelioviewer.jar" \
|
||||||
|
--add-flags "--add-exports java.desktop/sun.awt=ALL-UNNAMED" \
|
||||||
|
--add-flags "--add-exports java.desktop/sun.swing=ALL-UNNAMED" \
|
||||||
|
--add-flags "org.helioviewer.jhv.JHelioviewer"
|
||||||
|
|
||||||
|
mkdir -p $out/share/icons
|
||||||
|
|
||||||
|
cp -v docs/hvLogo.png $out/share/icons/
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
}
|
||||||
@@ -11,7 +11,8 @@ rustPlatform.buildRustPackage {
|
|||||||
hash = "sha256-exMmqOkDKuyAEdda8gG/uF3+tnQzhJnOJK+sEtZbsZc=";
|
hash = "sha256-exMmqOkDKuyAEdda8gG/uF3+tnQzhJnOJK+sEtZbsZc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoHash = "sha256-z3apcltBKNovwo+yOHxvzn53PPefr2lEzkGst25fGsM=";
|
useFetchCargoVendor = true;
|
||||||
|
cargoHash = "sha256-4x9kEBnYPhhYej0mNmV7jibw6sH8SxVau9tIkIVTen8=";
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Smol program to read in relevant desktop files and print them in a kickoff compatible format";
|
description = "Smol program to read in relevant desktop files and print them in a kickoff compatible format";
|
||||||
|
|||||||
109
pkgs/shadps4.nix
Normal file
109
pkgs/shadps4.nix
Normal file
@@ -0,0 +1,109 @@
|
|||||||
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, llvmPackages_18
|
||||||
|
, cmake
|
||||||
|
, pkg-config
|
||||||
|
, git
|
||||||
|
, qt6
|
||||||
|
, alsa-lib
|
||||||
|
, libpulseaudio
|
||||||
|
, openal
|
||||||
|
, openssl
|
||||||
|
, zlib
|
||||||
|
, libedit
|
||||||
|
, udev
|
||||||
|
, libevdev
|
||||||
|
, SDL2
|
||||||
|
, jack2
|
||||||
|
, sndio
|
||||||
|
, vulkan-headers
|
||||||
|
, vulkan-utility-libraries
|
||||||
|
, vulkan-tools
|
||||||
|
, ffmpeg
|
||||||
|
, fmt
|
||||||
|
, glslang
|
||||||
|
, libxkbcommon
|
||||||
|
, wayland
|
||||||
|
, xorg
|
||||||
|
, sdl3
|
||||||
|
, stb
|
||||||
|
, wayland-protocols
|
||||||
|
, libpng
|
||||||
|
}:
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
pname = "shadps4";
|
||||||
|
version = "0.6.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "shadps4-emu";
|
||||||
|
repo = "shadPS4";
|
||||||
|
rev = "9061028ce588037fa6f467cd2c0740d10ed725ed";
|
||||||
|
hash = "sha256-XhfJx1sDFz+RwhwcBA8W6WV6y1rDDvpyQe3v3NaSu2I=";
|
||||||
|
fetchSubmodules = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
llvmPackages_18.clang
|
||||||
|
cmake
|
||||||
|
pkg-config
|
||||||
|
git
|
||||||
|
qt6.wrapQtAppsHook
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
alsa-lib
|
||||||
|
libpulseaudio
|
||||||
|
openal
|
||||||
|
openssl
|
||||||
|
zlib
|
||||||
|
libedit
|
||||||
|
udev
|
||||||
|
libevdev
|
||||||
|
SDL2
|
||||||
|
jack2
|
||||||
|
sndio
|
||||||
|
qt6.qtbase
|
||||||
|
qt6.qttools
|
||||||
|
qt6.qtmultimedia
|
||||||
|
|
||||||
|
vulkan-headers
|
||||||
|
vulkan-utility-libraries
|
||||||
|
vulkan-tools
|
||||||
|
|
||||||
|
ffmpeg
|
||||||
|
fmt
|
||||||
|
glslang
|
||||||
|
libxkbcommon
|
||||||
|
wayland
|
||||||
|
xorg.libxcb
|
||||||
|
xorg.xcbutil
|
||||||
|
xorg.xcbutilkeysyms
|
||||||
|
xorg.xcbutilwm
|
||||||
|
sdl3
|
||||||
|
stb
|
||||||
|
qt6.qtwayland
|
||||||
|
wayland-protocols
|
||||||
|
libpng
|
||||||
|
];
|
||||||
|
|
||||||
|
cmakeFlags = [
|
||||||
|
(lib.cmakeBool "ENABLE_QT_GUI" true)
|
||||||
|
(lib.cmakeBool "ENABLE_UPDATER" false)
|
||||||
|
];
|
||||||
|
|
||||||
|
cmakeBuildType = "RelWithDebugInfo";
|
||||||
|
dontStrip = true;
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
install -D -t $out/bin shadps4
|
||||||
|
install -Dm644 $src/.github/shadps4.png $out/share/icons/hicolor/512x512/apps/net.shadps4.shadPS4.png
|
||||||
|
install -Dm644 -t $out/share/applications $src/dist/net.shadps4.shadPS4.desktop
|
||||||
|
install -Dm644 -t $out/share/metainfo $src/dist/net.shadps4.shadPS4.metainfo.xml
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
}
|
||||||
34
secrets/alpheratz/secrets.yaml
Normal file
34
secrets/alpheratz/secrets.yaml
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
wireguard:
|
||||||
|
private: ENC[AES256_GCM,data:Vii9We3fJBFCQNfek+fKqzy4jor2mhHz7KZhoWS9fuBbccz/DHPOnpzRhJQ=,iv:eDorsjazLZjIYsL+AP7YHoBY03ByywtmuRAG0KFonu0=,tag:z7b8NiGOgz0CrhFNalK4Qw==,type:str]
|
||||||
|
preshared: ENC[AES256_GCM,data:BK3CwQ9tZ0gqErPfOt896yH3K+7xDx6Vr+Xd0JMB+RYdugsGYluhldNM3aM=,iv:o9RhmlSCVwHPUi+JRNQF9bTACOwFaKmshfiD25C5QW8=,tag:DO9a2D2zY5rFQWHIR0PsfA==,type:str]
|
||||||
|
borgbase:
|
||||||
|
nix-alpheratz: ENC[AES256_GCM,data:anxC2Oyp4nungjxylaNqtEW7CcA=,iv:Gw6XvUWy9EAivZkELhSkx9YPgPDTY2kjZZhk9mF0iCM=,tag:/2ud63VKIABzLxjQsrpPnA==,type:str]
|
||||||
|
sops:
|
||||||
|
kms: []
|
||||||
|
gcp_kms: []
|
||||||
|
azure_kv: []
|
||||||
|
hc_vault: []
|
||||||
|
age:
|
||||||
|
- recipient: age1gdtjn3jgvvvspa86q3lnklflnvyf3s75y2rw23l7nk7hwcsfpg7qkq7msr
|
||||||
|
enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBuQzBUM0pXdkZUT1R4ekQv
|
||||||
|
YXlJZXA0OGV4SmwxOGxmY3Z3SjRSSE1UK2w4CnpGVkZ5anYvR0NHNEpBbDM3aURN
|
||||||
|
NVA2WmxmZUI3eWR4Tkd6MkxLOTJ5NDgKLS0tIGYrVTZMbUJia0F4ZWMwMXlhTkJz
|
||||||
|
MHdCcVpZaGtLbkpScDhLaGxZY2l3dEkKy1qr0l1eqqIQvsJm56ABIsh0XfFE5O5O
|
||||||
|
H0kLLggfl5AozBWrSjjiOnCf22tue5SzAxS70OO6Dz3y5sYCEF04Ag==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
- recipient: age1cla0k3yffcelphkrmgz5upc0chgtdef25ne833jeqtapceux59rqkmhxf7
|
||||||
|
enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxRCtPaUc4RVZRYW5tM0Ex
|
||||||
|
SGRRZ2kvKzNSdUxFRGtGRXUzWDJZVW9aNkZBCmtpOVIyMnBIaFVjV0xxdGxnNGtj
|
||||||
|
aVNpQzdDMHozL25sZ09Hc09BMVBUdEUKLS0tIE9PWm95RzZndnRwYXNoWExQVXVs
|
||||||
|
R3F6M3dsdXVxSk4va3ptS1JNQ1JSZ2sK7WtQj148lDKG36T6oIL2ASrUY9Q9QwL4
|
||||||
|
FiVkiNAvZPddFRYFSg9UhM92mTWLKay3ak+8IzojfsJmy7Aw9aavSA==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
lastmodified: "2024-11-20T18:20:08Z"
|
||||||
|
mac: ENC[AES256_GCM,data:bq1HJC/yvekeqQEjvHZHynlcwwwYY9xRIK6Wp/BGPG3gcN4BaFG8iEgGjQjLIcgi7szsnUnozLYBKe/Na+YmNFS4mLgfn9PxDrMjr3NymO764j2QzXKg4hDnt3qA1HpwZJLZY0l7Mfe6FSovl4X/7x6MWLMDLb1EYys0aBaLnlc=,iv:y5NecMaRVyCWjn3URpJG4EnRkcV2dpitJpzJqEyQbAM=,tag:HVeS/v703EYcro/2cMtb8A==,type:str]
|
||||||
|
pgp: []
|
||||||
|
unencrypted_suffix: _unencrypted
|
||||||
|
version: 3.9.1
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
mc-arcadia:
|
|
||||||
repo_password: ENC[AES256_GCM,data:SPP/RmwxAeeyERrMjO7vEqMd/SY=,iv:/U4sbPogBeqJ4vli2MmMb4H4BjMPFO+Fe/uRtyltvsM=,tag:i06a7yIDmhYJt3ARfDaE4w==,type:str]
|
|
||||||
sops:
|
|
||||||
kms: []
|
|
||||||
gcp_kms: []
|
|
||||||
azure_kv: []
|
|
||||||
hc_vault: []
|
|
||||||
age:
|
|
||||||
- recipient: age1079fszreaakwf6xnwu9kra8xcsp4e8q8ed3y99yrhjnz9n3t9pnsj05m97
|
|
||||||
enc: |
|
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBIcGpQYUVrZElXK2pjeTlj
|
|
||||||
MW9DbHJhZkcvYlk2MlRUcitNQkZxS200YWo4CmxKeVA4Yk9VOWxqMHNqTUZDYm1G
|
|
||||||
YU8rZFBPMDhSTHN3eWU4Y1ZaRmRsakkKLS0tIHFlWllHVWNEeHZ0UHo5eU5Id0hj
|
|
||||||
dkRiYWRxTTI3QktpTFVlZDRma0NGN0UKdTh5HDNuqWWq4HFkoAaRJyqRU64TPr4u
|
|
||||||
BG+PkJuFwEzX/Zql0f8janB1U2xNA9B+GT6l62xgYSXaij1QgSKDTA==
|
|
||||||
-----END AGE ENCRYPTED FILE-----
|
|
||||||
- recipient: age1rxqyz6watg05r3rzlme7grpgfgezhlt535gdl7psqys2ec8eegmqchfk4d
|
|
||||||
enc: |
|
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBwbkRJeHI1VVVxQXFQcVVC
|
|
||||||
S2xVb1RiNGtpcmprQUgrbjRzN01VZ1FwNWc0ClpzZGFYOXQxZlplRExnOWdjdTFN
|
|
||||||
SHJWODQ5RG4yL2YyMmdRcG9DK0tyZG8KLS0tIHpCZHlKRGdVTGhOSGNmN3dXMGlv
|
|
||||||
aGtybEc5TWlwUUZvaDByQWU5aU1RM28KMSkwEEtDVACF8vO5dNxls4XWcmssMMTR
|
|
||||||
p2HRAb7UytCIYUtZ+FxEWKhozGP/RZ562Gmr3Ae5+E08bexebIzdiA==
|
|
||||||
-----END AGE ENCRYPTED FILE-----
|
|
||||||
lastmodified: "2024-06-18T03:14:52Z"
|
|
||||||
mac: ENC[AES256_GCM,data:B0rqLgUfVOxS79fKaEU8nH48Z5Kdex77vEWkuIUb14nd0pwvXY00HbLYwYQq3o9Lhfto60oRb/QVXMvMa+SCL6+23mZ2sBOBT9gRDDN6z45i1cdfZRjgqrctrQnwM914D9M3UVBdmrUdtijBY53xxGOFB9VZFkaf8R8gbSaanrE=,iv:efLjdoBadMe6b0CUGd4ZmFJEBgCxYYHYwSHnsGJ1nGY=,tag:De9FijcgKYMmo1TLW8gspw==,type:str]
|
|
||||||
pgp: []
|
|
||||||
unencrypted_suffix: _unencrypted
|
|
||||||
version: 3.8.1
|
|
||||||
28
secrets/diphda/porkbun.keytab
Normal file
28
secrets/diphda/porkbun.keytab
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
{
|
||||||
|
"data": "ENC[AES256_GCM,data:tB3+8lTzhNTpgd22u8pbE/0LYGIQfWWQiCXovz3RH7vXNcuOEHNAYeKB3IbEUmARXKf3aAAcnrTztqaaKyd9uBdxSOHzFyy0egk0+kR9Af3StG2uAgCuGqGjlOor+W2vS6wRXoWB+vwYizMxBs2rB8CwqFLe+yC++o5XkE45iyhhCXKZSLFBP51p47topL9iRMqaXnRiTrHh/ZsWKGz1Tu2yg+Kq4xNnpGrggW16JiAR,iv:to55g3FssWEKE9oOTOvKbtUdqHhrLkmhuqqi3aM5Zt4=,tag:MnyiNyRoG9hesasW3OHMhQ==,type:str]",
|
||||||
|
"sops": {
|
||||||
|
"kms": null,
|
||||||
|
"gcp_kms": null,
|
||||||
|
"azure_kv": null,
|
||||||
|
"hc_vault": null,
|
||||||
|
"age": [
|
||||||
|
{
|
||||||
|
"recipient": "age1079fszreaakwf6xnwu9kra8xcsp4e8q8ed3y99yrhjnz9n3t9pnsj05m97",
|
||||||
|
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBIZjN3WmJvNDhoT0RIVDJr\nWDlpMFZLdEZ0RG44UXRiazIrV0ZZTE1GdnlNCjhqdko5TFI2NlI0SVAvR25vS3h3\nSHZDZUxVeU5VOGJvRGhFWUtIVzNnTkkKLS0tIFI3NGp1c2s4b3NrZ0dRbGlwd0Ro\ndlE3WGZaTHdoWVRjNDMxVGJpRE1vUTgK/Q4f3VS0IkapmsFXgt1YV+fY3eCezDte\nM3XS/hQndEIRmy5ziKQMMR/uADh0Deqs3tYZ/k3FJr+FAT7DWSVOxA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"recipient": "age1gdtjn3jgvvvspa86q3lnklflnvyf3s75y2rw23l7nk7hwcsfpg7qkq7msr",
|
||||||
|
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBJUDVWTUtsVTh4dEUyTlJ6\nVDVuSXBFZW9PNmxUWkFhZnBqRzhvbERBWVJnCmo4OFpGWi9RQTdibVc2blQ0aEN0\nR2cwQUlva1RxdS94T0ZnL25BK2FBbncKLS0tIE90MTJ1QXBkUjlyQUJWRXdSNGly\nYmw4dTBYS3ZtOS94K1dtd29HRjZyTncK8dQqSDBTjKGLQH7FLXBzAMUz4yK5mHgB\n/NoftP1+mjQH0aE32rx+iykSy64wSiORIJ+9ZChgCm5dobBuakR6Gg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"recipient": "age1rxqyz6watg05r3rzlme7grpgfgezhlt535gdl7psqys2ec8eegmqchfk4d",
|
||||||
|
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBsMkhrK0ptRjFNMDZaV0RR\nd1MzNzJhbTczb1RaQm4wdW5VNGZrTTVMOVJVCmdzdEcxVytRY1h5ek9GOFA0VUNn\nMUk5UHZEQWZKaVhkN3ZGeDJkbnRCbm8KLS0tIHJXSllWRVVIakNhSmFTMzA3cXk4\nUUFFNWp5Q1FyaFBFUnpDR0JKSHZQVVkKkaQrBjAYubsHVx2g9C+87sgY06ioXdb2\nwh4pyAwOT/0hKHR4sRnRFiW7yuTIZ8R9cWXlVUB53+LMeio93kj15g==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"lastmodified": "2024-08-02T17:52:14Z",
|
||||||
|
"mac": "ENC[AES256_GCM,data:aBhijdYLGnHlXzeT3J77RkhPgqBEYCDN4nINtnq7EA/AJIamdcbM1bW/PZBkeJ/1yft/lIzPgOsSnAk+vrc8FniOL6vmPaRr6aaPlgzZVHJw0ZPgRNANzwjEXZbtNdZn7tFPjEAu06B1oQFzfIXUYvj6Q3sPLzZ29lPl4g3BY6o=,iv:aL/TFzqw1/ArH88GGj68fTIPrUOXdOxF1XbcDDMFvKo=,tag:bjtutqs7QyqNdCI5/s9sUQ==,type:str]",
|
||||||
|
"pgp": null,
|
||||||
|
"unencrypted_suffix": "_unencrypted",
|
||||||
|
"version": "3.9.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
50
secrets/diphda/secrets.yaml
Normal file
50
secrets/diphda/secrets.yaml
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
mc-arcadia:
|
||||||
|
repo_password: ENC[AES256_GCM,data:SPP/RmwxAeeyERrMjO7vEqMd/SY=,iv:/U4sbPogBeqJ4vli2MmMb4H4BjMPFO+Fe/uRtyltvsM=,tag:i06a7yIDmhYJt3ARfDaE4w==,type:str]
|
||||||
|
tandoor:
|
||||||
|
secret_key: ENC[AES256_GCM,data:0zhzBw+99NZmWDhnhe/VNAuiY30QJVaij3+PabzzSvWExyHktvqjfHrEzNAU8i+GmmA=,iv:NwZrE4tFpylnVrQiL1yNTTS8moZuEvcO8HCTP+j7COE=,tag:UegszyE5xRfIRn62kTFR8Q==,type:str]
|
||||||
|
db_password: ENC[AES256_GCM,data:lkYU5lFHDo+4/6uVuV6VZ6/XQHQ=,iv:1Htc76J25m9iW6YCosEtSGT4nfYsfywbYVoAf7XXrDI=,tag:RdymUdMjiQqRPutTsQNGaw==,type:str]
|
||||||
|
mc-dh:
|
||||||
|
repo_password: ENC[AES256_GCM,data:iD1isjDUlJixMPaiE+bDhhKgzLM=,iv:pf9q2M8wRh7B0quYaezdZ81B/8JtsN7jFj8/00YXzcQ=,tag:f5/KHzsc+B21sF+dE8I2Nw==,type:str]
|
||||||
|
caddy:
|
||||||
|
porkbun_api_key: ENC[AES256_GCM,data:1ILVkhIks0MqMWXsxIol8Nt2OAbNmDQXd49DUhEyIx6jLpzZKe98ha9cZAl0rNmQHcIQjpg4KptXw07l11KXWZf5oZA=,iv:0q/ZLzAGsOsTvJH9Wa7lR+uC/t97HWv6+SdTCRUNNcM=,tag:TzdrBPfV/e0njCSbofR29Q==,type:str]
|
||||||
|
porkbun_secret_key: ENC[AES256_GCM,data:v7vFKRcZ2JqjNA1vQyROmM9LGLGclzraZB9sqUVfK3iaDJfVlLbAyOxv8TW15navjWRTn6WjxH1iwPlB6b4WWHtuUWs=,iv:4d1K8tTZ/9Gs7nOKjCwcQB0M9E68RFppxPkOQRRSwa8=,tag:6J2pxXP3yy5IK3rDiwTFIQ==,type:str]
|
||||||
|
backup:
|
||||||
|
repo_password: ENC[AES256_GCM,data:v7WGvvpUonAAfCCGqDs+EKUH6Lk=,iv:jE7lainNWLlG+KZspwxW/I/1PXKFtkUWUPDaTK3Rgj0=,tag:dA2ccAXUNC1up4DX4iF7HQ==,type:str]
|
||||||
|
sops:
|
||||||
|
kms: []
|
||||||
|
gcp_kms: []
|
||||||
|
azure_kv: []
|
||||||
|
hc_vault: []
|
||||||
|
age:
|
||||||
|
- recipient: age1079fszreaakwf6xnwu9kra8xcsp4e8q8ed3y99yrhjnz9n3t9pnsj05m97
|
||||||
|
enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBiblIrc1pIWVhESHNGZU00
|
||||||
|
aElkZ2ZSOFJGeGM1V2xjSUpyUWZsTDhmNENvCkFtWWh6Wk8xK2Nlb3hsQUE4Y1hQ
|
||||||
|
NVpwNk9yYTZHbVhXV0d3bktYTWxqRVEKLS0tIFFnTzU4L1RGWVFHc09RMkhaN3ky
|
||||||
|
ejlTdlIvRVVtRDYxcjYwZTFUSW4rY0EKIsobfykO/WXNb2zIIIdAKnGwIDVyLU9m
|
||||||
|
q6wF9O9Y8MQFCe237KWDtqSr8K9S4bI+S2GkO6+abMCCPMcTrcZ04Q==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
- recipient: age1gdtjn3jgvvvspa86q3lnklflnvyf3s75y2rw23l7nk7hwcsfpg7qkq7msr
|
||||||
|
enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaVUkxWGIzTFdkVmRaWGFw
|
||||||
|
ZzU1TVU4ZUxhVU5wcmdnT0c5UlVaYU15QVF3ClVJc1Q5YmFadFkvS0NIQzF6NXdK
|
||||||
|
M0lhNzFyVkUwa1EyM3dMUXRHQkxGNG8KLS0tIFpUTEZRL1hTaTFZUEdLSE51YTlu
|
||||||
|
Y0N4bDJveTlPQjJhMERtbmlFUVlkMDQKX8JV+0FhyZKYUy2QpkHW9UZqDasLop3f
|
||||||
|
IA0qas8CN/O+VrnFVwKFrRdk4U/nHR2fb3mEsQ8rXmzsXPy2GfMD4A==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
- recipient: age1rxqyz6watg05r3rzlme7grpgfgezhlt535gdl7psqys2ec8eegmqchfk4d
|
||||||
|
enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzcXEwZEhsbytKVk8ybEg3
|
||||||
|
V0pmOFJ3RGxWcHFWYm16N1RzNUpIcjM3azI4CjIvQnlyWkxKNkdsUGFsTVl2elQ0
|
||||||
|
MFBVR2M5eEFVMW5EdGN5YTFjdjYzY1UKLS0tIEtPTFM0Q3ZsdTkzS1FrU0N5WFNL
|
||||||
|
eUxTaTJVRlpNNWZodE8yZXpWTlpCWVkKHtJFmHUSNfy46J1BJdOvIRjegQrTWdfH
|
||||||
|
KSbKbz7ezBOOPlrR7eDEx2FIjP4TVBRksYq+NYockmKVk+VGsc5pBQ==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
lastmodified: "2025-02-02T03:11:38Z"
|
||||||
|
mac: ENC[AES256_GCM,data:Mr5WWzX4hl3SkljEuMy0cl+jgxA9iL4ONXxEmdfS320ucIBKeMWyrmgoO7LxRAT+iQ4kXKTW24yzzLH1flqYxiVvdGvaKisfao7GSkeuF+9YeM+xFev0aspxOK5p7/EYbvnE5cMM81VVhXm+gX9ywxh8r0eqG68SQK8FIP556TM=,iv:AsYcYrMdwo4zuY5G12P47P1537lydofIt/zuPQo/9Ls=,tag:EKs6kyofkiWuF+uqoQscWA==,type:str]
|
||||||
|
pgp: []
|
||||||
|
unencrypted_suffix: _unencrypted
|
||||||
|
version: 3.9.3
|
||||||
31
secrets/shared/Codelia-Bold
Normal file
31
secrets/shared/Codelia-Bold
Normal file
File diff suppressed because one or more lines are too long
31
secrets/shared/Codelia-BoldItalic
Normal file
31
secrets/shared/Codelia-BoldItalic
Normal file
File diff suppressed because one or more lines are too long
31
secrets/shared/Codelia-Italic
Normal file
31
secrets/shared/Codelia-Italic
Normal file
File diff suppressed because one or more lines are too long
31
secrets/shared/Codelia-Regular
Normal file
31
secrets/shared/Codelia-Regular
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user