create public release
This commit is contained in:
commit
e24157a614
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
./output
|
21
LICENSE
Normal file
21
LICENSE
Normal file
@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2020 Asmir A
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
1
README.md
Normal file
1
README.md
Normal file
@ -0,0 +1 @@
|
||||
NixOS configuration using nix flakes and home-manager
|
339
configuration.nix
Normal file
339
configuration.nix
Normal file
@ -0,0 +1,339 @@
|
||||
# Edit this configuration file to define what should be installed on
|
||||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
caps2esc,
|
||||
nix-xilinx,
|
||||
sops-nix,
|
||||
...
|
||||
}: {
|
||||
imports = [];
|
||||
|
||||
system.stateVersion = "23.05";
|
||||
system.autoUpgrade.enable = false;
|
||||
|
||||
sops.age.keyFile = config.users.users.akill.home + "/.config/sops/age/keys.txt";
|
||||
sops.secrets."peerix/private" = {
|
||||
sopsFile = ./secrets/peerix.yaml;
|
||||
};
|
||||
|
||||
nix = {
|
||||
optimise.automatic = true;
|
||||
gc.automatic = true;
|
||||
gc.options = "--delete-older-than 7d";
|
||||
package = pkgs.nixUnstable;
|
||||
settings = {
|
||||
experimental-features = ["nix-command" "flakes"];
|
||||
trusted-public-keys = [
|
||||
"binarycache.mediabox.lan:3vZwbCaCuOK5fc92rKknvyU7e5fDbnKEKLb/VTaICoU="
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
boot = {
|
||||
extraModulePackages = with config.boot.kernelPackages; [usbip];
|
||||
initrd.compressor = "zstd";
|
||||
initrd.kernelModules = ["amdgpu"];
|
||||
kernelPackages = pkgs.linuxPackages_latest;
|
||||
kernelParams = ["psmouse.synaptics_intertouch=0"];
|
||||
loader.efi.canTouchEfiVariables = true;
|
||||
loader.systemd-boot.editor = false;
|
||||
loader.systemd-boot.enable = true;
|
||||
readOnlyNixStore = true;
|
||||
supportedFilesystems = ["btrfs"];
|
||||
tmp.useTmpfs = true;
|
||||
};
|
||||
|
||||
security = {
|
||||
rtkit.enable = true;
|
||||
allowSimultaneousMultithreading = true;
|
||||
sudo.enable = true;
|
||||
doas.enable = true;
|
||||
doas.extraRules = [
|
||||
{
|
||||
users = ["akill"];
|
||||
keepEnv = true;
|
||||
persist = true;
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
powerManagement = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
networking = {
|
||||
firewall = {
|
||||
enable = true;
|
||||
allowedTCPPorts = [80 443];
|
||||
};
|
||||
|
||||
hostName = "nixy";
|
||||
nameservers = ["127.0.0.1" "::1"];
|
||||
dhcpcd.extraConfig = "nohook resolv.conf";
|
||||
|
||||
extraHosts = ''
|
||||
192.168.88.230 mediabox.lan
|
||||
192.168.88.230 jellyfin.mediabox.lan
|
||||
192.168.88.230 deluge.mediabox.lan
|
||||
192.168.88.230 binarycache.mediabox.lan
|
||||
192.168.88.231 workstation.lan
|
||||
192.168.88.1 router.lan
|
||||
'';
|
||||
|
||||
networkmanager = {
|
||||
enable = true;
|
||||
dns = "none";
|
||||
wifi.backend = "iwd";
|
||||
};
|
||||
|
||||
wireless.iwd = {
|
||||
enable = true;
|
||||
settings = {
|
||||
General = {
|
||||
AddressRandomization = "network";
|
||||
#EnableNetworkConfiguration = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
time.timeZone = "Europe/Sarajevo";
|
||||
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
nixpkgs.overlays = [nix-xilinx.overlay];
|
||||
environment = {
|
||||
homeBinInPath = true;
|
||||
variables = {
|
||||
PATH = "$HOME/.cargo/bin";
|
||||
};
|
||||
};
|
||||
|
||||
programs = {
|
||||
gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
zsh.enable = true;
|
||||
firejail.enable = true;
|
||||
adb.enable = true;
|
||||
wireshark.enable = true;
|
||||
sway.enable = true;
|
||||
};
|
||||
|
||||
# List services that you want to enable:
|
||||
systemd = {
|
||||
services = {
|
||||
"caps2esc" = {
|
||||
description = "Intercepts keyboard udev events";
|
||||
wants = ["systemd-udevd.service"];
|
||||
wantedBy = ["multi-user.target"];
|
||||
serviceConfig.Nice = -20;
|
||||
script = ''
|
||||
${pkgs.interception-tools}/bin/intercept \
|
||||
-g /dev/input/by-path/platform-i8042-serio-0-event-kbd | \
|
||||
${caps2esc.defaultPackage.x86_64-linux}/bin/caps2esc | ${pkgs.interception-tools}/bin/uinput \
|
||||
-d /dev/input/by-path/platform-i8042-serio-0-event-kbd \
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
extraConfig = ''
|
||||
DefaultTimeoutStartSec=30s
|
||||
DefaultTimeoutStopSec=30s
|
||||
'';
|
||||
};
|
||||
|
||||
services = {
|
||||
acpid.enable = true;
|
||||
btrfs.autoScrub.enable = true;
|
||||
dbus.enable = true;
|
||||
fstrim.enable = true;
|
||||
fwupd.enable = true;
|
||||
ntp.enable = true;
|
||||
openssh.enable = true;
|
||||
printing.enable = true;
|
||||
|
||||
pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
|
||||
xserver = {
|
||||
enable = true;
|
||||
dpi = 144;
|
||||
libinput.enable = true;
|
||||
desktopManager.xterm.enable = false;
|
||||
displayManager = {
|
||||
lightdm.enable = false;
|
||||
startx.enable = true;
|
||||
defaultSession = "none+i3";
|
||||
};
|
||||
windowManager.i3.enable = true;
|
||||
};
|
||||
|
||||
udev = {
|
||||
packages = [pkgs.openocd pkgs.rtl-sdr pkgs.openhantek6022];
|
||||
extraRules = ''
|
||||
#Xilinx FTDI
|
||||
ACTION=="add", ATTR{idVendor}=="0403", ATTR{manufacturer}=="Xilinx", MODE:="666"
|
||||
|
||||
#Xilinx Digilent
|
||||
ATTR{idVendor}=="1443", MODE:="666"
|
||||
ACTION=="add", ATTR{idVendor}=="0403", ATTR{manufacturer}=="Digilent", MODE:="666"
|
||||
'';
|
||||
};
|
||||
|
||||
tlp = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
actkbd = {
|
||||
enable = true;
|
||||
bindings = [
|
||||
{
|
||||
keys = [113];
|
||||
events = ["key"];
|
||||
command = "/run/current-system/sw/bin/runuser -l akill -c 'amixer -q set Master toggle'";
|
||||
}
|
||||
|
||||
{
|
||||
keys = [114];
|
||||
events = ["key" "rep"];
|
||||
command = "/run/current-system/sw/bin/runuser -l akill -c 'amixer -q set Master 5%- unmute'";
|
||||
}
|
||||
|
||||
{
|
||||
keys = [115];
|
||||
events = ["key" "rep"];
|
||||
command = "/run/current-system/sw/bin/runuser -l akill -c 'amixer -q set Master 5%+ unmute'";
|
||||
}
|
||||
|
||||
{
|
||||
keys = [224];
|
||||
events = ["key"];
|
||||
command = "${pkgs.light}/bin/light -U 5";
|
||||
}
|
||||
|
||||
{
|
||||
keys = [225];
|
||||
events = ["key"];
|
||||
command = "${pkgs.light}/bin/light -A 5";
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
dnscrypt-proxy2 = {
|
||||
enable = true;
|
||||
settings = {
|
||||
ipv6_servers = true;
|
||||
require_dnssec = true;
|
||||
|
||||
sources.public-resolvers = {
|
||||
urls = [
|
||||
"https://raw.githubusercontent.com/DNSCrypt/dnscrypt-resolvers/master/v3/public-resolvers.md"
|
||||
"https://download.dnscrypt.info/resolvers-list/v3/public-resolvers.md"
|
||||
];
|
||||
cache_file = "/var/lib/dnscrypt-proxy2/public-resolvers.md";
|
||||
minisign_key = "RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
nix-serve = {
|
||||
enable = false;
|
||||
secretKeyFile = "/var/cache-priv-key.pem";
|
||||
};
|
||||
|
||||
journald.extraConfig = ''
|
||||
SystemMaxUse=50M
|
||||
'';
|
||||
|
||||
logind.extraConfig = ''
|
||||
KillUserProcesses=yes
|
||||
'';
|
||||
};
|
||||
|
||||
fonts = {
|
||||
fontconfig = {
|
||||
cache32Bit = true;
|
||||
allowBitmaps = true;
|
||||
useEmbeddedBitmaps = true;
|
||||
defaultFonts = {
|
||||
monospace = ["JetBrainsMono"];
|
||||
};
|
||||
};
|
||||
|
||||
fonts = with pkgs; [
|
||||
dejavu_fonts
|
||||
dina-font
|
||||
fira-code
|
||||
fira-code-symbols
|
||||
font-awesome
|
||||
font-awesome_4
|
||||
inconsolata
|
||||
iosevka
|
||||
jetbrains-mono
|
||||
liberation_ttf
|
||||
noto-fonts
|
||||
noto-fonts-cjk
|
||||
noto-fonts-emoji
|
||||
proggyfonts
|
||||
siji
|
||||
terminus_font
|
||||
terminus_font_ttf
|
||||
ubuntu_font_family
|
||||
];
|
||||
};
|
||||
|
||||
virtualisation = {
|
||||
containers.storage.settings = {
|
||||
storage = {
|
||||
driver = "btrfs";
|
||||
graphroot = "/var/lib/containers/storage";
|
||||
runroot = "/run/containers/storage";
|
||||
};
|
||||
};
|
||||
podman = {
|
||||
enable = true;
|
||||
autoPrune.enable = true;
|
||||
dockerCompat = true;
|
||||
};
|
||||
};
|
||||
|
||||
sound.enable = true;
|
||||
|
||||
hardware = {
|
||||
bluetooth = {
|
||||
enable = true;
|
||||
settings = {
|
||||
General = {
|
||||
Enable = "Source,Sink,Media,Socket";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
opengl = {
|
||||
enable = true;
|
||||
driSupport = true;
|
||||
driSupport32Bit = true;
|
||||
extraPackages = with pkgs; [];
|
||||
};
|
||||
};
|
||||
|
||||
zramSwap = {
|
||||
enable = false;
|
||||
algorithm = "zstd";
|
||||
};
|
||||
|
||||
users.users.akill = {
|
||||
isNormalUser = true;
|
||||
shell = pkgs.zsh;
|
||||
extraGroups = ["wireshark" "kvm" "tty" "audio" "sound" "adbusers" "dialout" "wheel"];
|
||||
};
|
||||
}
|
268
flake.lock
generated
Normal file
268
flake.lock
generated
Normal file
@ -0,0 +1,268 @@
|
||||
{
|
||||
"nodes": {
|
||||
"caps2esc": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1684616473,
|
||||
"narHash": "sha256-e8/7jWl2EA1UROhd9L+D9kLdd5SoFYWi+56n2jer7g4=",
|
||||
"owner": "asmir.abdulahovic",
|
||||
"repo": "caps2esc",
|
||||
"rev": "4ebc36bef4f4548566df14d94c9c9907e7a76e78",
|
||||
"type": "gitlab"
|
||||
},
|
||||
"original": {
|
||||
"owner": "asmir.abdulahovic",
|
||||
"repo": "caps2esc",
|
||||
"type": "gitlab"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1673956053,
|
||||
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_2": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1673956053,
|
||||
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1681202837,
|
||||
"narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "cfacdce06f30d2b68473a46042957675eebb3401",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1688220547,
|
||||
"narHash": "sha256-cNKKLPaEOxd6t22Mt3tHGubyylbKGdoi2A3QkMTKes0=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "89d10f8adce369a80e046c2fd56d1e7b7507bb5b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-xilinx": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1685780173,
|
||||
"narHash": "sha256-K18JYyCHrnb05Odb7N9FpU30az7QOV8uL9ch0RgU7i0=",
|
||||
"owner": "asmir.abdulahovic",
|
||||
"repo": "nix-xilinx",
|
||||
"rev": "cc5ab958d31c58481b1f7f3a2c0a4db7c22006e9",
|
||||
"type": "gitlab"
|
||||
},
|
||||
"original": {
|
||||
"owner": "asmir.abdulahovic",
|
||||
"repo": "nix-xilinx",
|
||||
"type": "gitlab"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1684585791,
|
||||
"narHash": "sha256-lYPboblKrchmbkGMoAcAivomiOscZCjtGxxTSCY51SM=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "eea79d584eff53bf7a76aeb63f8845da6d386129",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1688256355,
|
||||
"narHash": "sha256-/E+OSabu4ii5+ccWff2k4vxDsXYhpc4hwnm0s6JOz7Y=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "f553c016a31277246f8d3724d3b1eee5e8c0842c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "release-23.05",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1685677062,
|
||||
"narHash": "sha256-zoHF7+HNwNwne2XEomphbdc4Y8tdWT16EUxUTXpOKpQ=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "95be94370d09f97f6af6a1df1eb9649b5260724e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1688231357,
|
||||
"narHash": "sha256-ZOn16X5jZ6X5ror58gOJAxPfFLAQhZJ6nOUeS4tfFwo=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "645ff62e09d294a30de823cb568e9c6d68e92606",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1684668519,
|
||||
"narHash": "sha256-KkVvlXTqdLLwko9Y0p1Xv6KQ9QTcQorrU098cGilb7c=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "85340996ba67cc02f01ba324e18b1306892ed6f5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1688188316,
|
||||
"narHash": "sha256-CXuQllDKCxtZaB/umnZOvoJ/d4kJguYgffeTA9l1B3o=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "8277b539d371bf4308fc5097911aa58bfac1794f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"peerix": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_2",
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": "nixpkgs_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1684706914,
|
||||
"narHash": "sha256-pBlTtsC28e/5MUTe4NWeNNOc/4Kf6EzGQGppQEQ/ioo=",
|
||||
"owner": "asmir.abdulahovic",
|
||||
"repo": "peerix",
|
||||
"rev": "8fdbbd0039240e05b4f93bbd5b454d5643e8a8d1",
|
||||
"type": "gitlab"
|
||||
},
|
||||
"original": {
|
||||
"owner": "asmir.abdulahovic",
|
||||
"repo": "peerix",
|
||||
"type": "gitlab"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"caps2esc": "caps2esc",
|
||||
"home-manager": "home-manager",
|
||||
"nix-xilinx": "nix-xilinx",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"peerix": "peerix",
|
||||
"sops-nix": "sops-nix"
|
||||
}
|
||||
},
|
||||
"sops-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_5",
|
||||
"nixpkgs-stable": "nixpkgs-stable"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1688268466,
|
||||
"narHash": "sha256-fArazqgYyEFiNcqa136zVYXihuqzRHNOOeVICayU2Yg=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "5ed3c22c1fa0515e037e36956a67fe7e32c92957",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
57
flake.nix
Normal file
57
flake.nix
Normal file
@ -0,0 +1,57 @@
|
||||
{
|
||||
description = "NixOS configuration";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
caps2esc.url = "gitlab:asmir.abdulahovic/caps2esc";
|
||||
nix-xilinx.url = "gitlab:asmir.abdulahovic/nix-xilinx";
|
||||
peerix.url = "gitlab:asmir.abdulahovic/peerix";
|
||||
sops-nix.url = "github:Mic92/sops-nix";
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = inputs @ {
|
||||
self,
|
||||
nixpkgs,
|
||||
caps2esc,
|
||||
home-manager,
|
||||
nix-xilinx,
|
||||
peerix,
|
||||
sops-nix,
|
||||
...
|
||||
}: {
|
||||
nixosConfigurations = rec {
|
||||
nixy = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
{_module.args = inputs;}
|
||||
./configuration.nix
|
||||
./packages.nix
|
||||
./hardware-configuration.nix
|
||||
sops-nix.nixosModules.sops
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.users.akill = import ./home/home.nix;
|
||||
}
|
||||
peerix.nixosModules.peerix
|
||||
{
|
||||
services.peerix = {
|
||||
enable = true;
|
||||
globalCacheTTL = 10;
|
||||
package = peerix.packages.x86_64-linux.peerix;
|
||||
openFirewall = true; # UDP/12304
|
||||
privateKeyFile = nixy.config.sops.secrets."peerix/private".path;
|
||||
publicKeyFile = ./peerix-public;
|
||||
publicKey = "peerix-mediabox:UDgG3xdQYv7bmx2l4ZPNRPJtp2zMmY++H/fnGeJ9BQw=";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
78
hardware-configuration.nix
Normal file
78
hardware-configuration.nix
Normal file
@ -0,0 +1,78 @@
|
||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = ["nvme" "ehci_pci" "xhci_pci" "usb_storage" "sd_mod" "rtsx_pci_sdmmc"];
|
||||
boot.initrd.kernelModules = [];
|
||||
boot.kernelModules = ["kvm-amd" "amdgpu"];
|
||||
boot.extraModulePackages = [];
|
||||
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/f06ac545-07c1-4b2b-8c0b-eeac43892933";
|
||||
fsType = "btrfs";
|
||||
options = ["subvol=root" "compress=zstd" "noatime"];
|
||||
};
|
||||
|
||||
boot.initrd.luks.devices."sys_enc".device = "/dev/disk/by-uuid/682d030d-189e-4b47-a60a-62cf1f3729d3";
|
||||
|
||||
fileSystems."/home" = {
|
||||
device = "/dev/disk/by-uuid/f06ac545-07c1-4b2b-8c0b-eeac43892933";
|
||||
fsType = "btrfs";
|
||||
options = ["subvol=home" "compress=zstd" "noatime"];
|
||||
};
|
||||
|
||||
fileSystems."/nix" = {
|
||||
device = "/dev/disk/by-uuid/f06ac545-07c1-4b2b-8c0b-eeac43892933";
|
||||
fsType = "btrfs";
|
||||
options = ["subvol=nix" "compress=zstd" "noatime"];
|
||||
};
|
||||
|
||||
fileSystems."/persist" = {
|
||||
device = "/dev/disk/by-uuid/f06ac545-07c1-4b2b-8c0b-eeac43892933";
|
||||
fsType = "btrfs";
|
||||
options = ["subvol=persist" "compress=zstd" "noatime"];
|
||||
};
|
||||
|
||||
fileSystems."/var/log" = {
|
||||
device = "/dev/disk/by-uuid/f06ac545-07c1-4b2b-8c0b-eeac43892933";
|
||||
fsType = "btrfs";
|
||||
options = ["subvol=log" "compress=zstd" "noatime"];
|
||||
};
|
||||
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/3F3E-9833";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
fileSystems."/opt/xilinx" = {
|
||||
device = "/dev/disk/by-uuid/09912fb9-0284-4b4e-add1-d4a27329539f";
|
||||
fsType = "erofs";
|
||||
};
|
||||
|
||||
swapDevices = [
|
||||
/*
|
||||
{
|
||||
device = "/dev/disk/by-uuid/ee1792c9-098b-40c1-b760-20def16ba67f";
|
||||
encrypted = {
|
||||
enable = true;
|
||||
keyFile = "/mnt-root/swap.key";
|
||||
label = "swap_encr";
|
||||
blkDev = "/dev/disk/by-uuid/aee12e27-b45a-4291-be78-db0a903071b3";
|
||||
};
|
||||
}
|
||||
*/
|
||||
];
|
||||
|
||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
nix.settings.max-jobs = lib.mkDefault 8;
|
||||
}
|
260
home/home.nix
Normal file
260
home/home.nix
Normal file
@ -0,0 +1,260 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
vimrc = import ./vimrc.nix {inherit pkgs vimUtils fetchFromGitHub;};
|
||||
in {
|
||||
imports = [./zsh.nix ./i3status-rust.nix ./sway.nix ./i3.nix ./home_packages.nix ./whatsapp-for-linux.nix];
|
||||
|
||||
home.stateVersion = "22.11";
|
||||
home.username = "akill";
|
||||
home.homeDirectory = "/home/akill";
|
||||
|
||||
xdg.enable = true;
|
||||
xdg.mimeApps = {
|
||||
enable = true;
|
||||
defaultApplications = {
|
||||
"application/pdf" = ["sioyek.desktop"];
|
||||
};
|
||||
};
|
||||
|
||||
fonts.fontconfig.enable = true;
|
||||
|
||||
home.sessionVariables = {
|
||||
BROWSER = "qutebrowser";
|
||||
EDITOR = "nvim";
|
||||
_JAVA_AWT_WM_NONREPARENTING = "1";
|
||||
MOZ_ENABLE_WAYLAND = "1";
|
||||
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
|
||||
SUDO_EDITOR = "nvim";
|
||||
WLR_RENDERER = "vulkan";
|
||||
};
|
||||
|
||||
wayland.windowManager.sway = {enable = true;};
|
||||
|
||||
programs = {
|
||||
home-manager.enable = true;
|
||||
|
||||
librewolf = {
|
||||
enable = true;
|
||||
package = pkgs.librewolf-wayland;
|
||||
settings = {
|
||||
"webgl.disable" = true;
|
||||
"middlemouse.paste" = false;
|
||||
};
|
||||
};
|
||||
|
||||
mpv = {
|
||||
enable = true;
|
||||
package = pkgs.mpv;
|
||||
config = {
|
||||
slang = "eng,en";
|
||||
alang = "eng,en";
|
||||
hwdec = "auto";
|
||||
vo = "gpu-next";
|
||||
ao = "pipewire";
|
||||
script-opts-set = "sponsorblock-local_database=no,sponsorblock-skip_categories=[sponsor,intro,selfpromo]";
|
||||
ytdl-format = "bestvideo[height<=?1080]+bestaudio/best";
|
||||
};
|
||||
|
||||
bindings = {
|
||||
WHEEL_UP = "ignore";
|
||||
WHEEL_DOWN = "ignore";
|
||||
WHEEL_LEFT = "ignore";
|
||||
WHEEL_RIGHT = "ignore";
|
||||
};
|
||||
};
|
||||
|
||||
alacritty = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
font = {
|
||||
normal.family = "JetBrainsMono";
|
||||
italic.family = "JetBrainsMono";
|
||||
bold.family = "JetBrainsMono";
|
||||
bold_italic.family = "JetBrainsMono";
|
||||
size = 14.0;
|
||||
};
|
||||
|
||||
selection = {
|
||||
text = "0xcfcfc2";
|
||||
background = "0x232629";
|
||||
|
||||
normal = {
|
||||
black = "0x1c1b19";
|
||||
red = "0xef2f27";
|
||||
green = "0x519f50";
|
||||
yellow = "0xfbb829";
|
||||
blue = "0x2c78bf";
|
||||
magenta = "0xe02c6d";
|
||||
cyan = "0x0aaeb3";
|
||||
white = "0x918175";
|
||||
};
|
||||
|
||||
bright = {
|
||||
black = "0x2D2C29";
|
||||
red = "0xf75341";
|
||||
green = "0x98bc37";
|
||||
yellow = "0xfed06e";
|
||||
blue = "0x68A8E4";
|
||||
magenta = "0xff5c8f";
|
||||
cyan = "0x53fde9";
|
||||
white = "0xfce8c3";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
rofi = {
|
||||
enable = true;
|
||||
theme = "gruvbox-dark";
|
||||
};
|
||||
|
||||
foot = {
|
||||
enable = true;
|
||||
server.enable = true;
|
||||
settings = {
|
||||
main = {
|
||||
font = "JetBrainsMono:size=10";
|
||||
dpi-aware = "yes";
|
||||
};
|
||||
mouse = {hide-when-typing = "yes";};
|
||||
};
|
||||
};
|
||||
|
||||
qutebrowser = {
|
||||
enable = true;
|
||||
package = pkgs.qutebrowser-qt6;
|
||||
keyBindings = {
|
||||
normal = {
|
||||
"j" = "scroll-px 0 25";
|
||||
"k" = "scroll-px 0 -25";
|
||||
"u" = "undo --window";
|
||||
";v" = "hint links userscript view_in_mpv";
|
||||
};
|
||||
};
|
||||
|
||||
settings = {
|
||||
content.notifications.enabled = false;
|
||||
content.pdfjs = true;
|
||||
content.webgl = false;
|
||||
fonts.completion.category = "14pt monospace";
|
||||
fonts.completion.entry = "14pt monospace";
|
||||
fonts.contextmenu = "14pt monospace";
|
||||
fonts.debug_console = "14pt monospace";
|
||||
fonts.downloads = "14pt monospace";
|
||||
fonts.hints = "14pt monospace";
|
||||
fonts.keyhint = "14pt monospace";
|
||||
fonts.messages.info = "14pt monospace";
|
||||
fonts.prompts = "14pt monospace";
|
||||
fonts.statusbar = "14pt monospace";
|
||||
hints.chars = "1qaz2wsx3edc4rfv5tgb6yhn7ujm8ik9ol0p";
|
||||
tabs.last_close = "close";
|
||||
tabs.position = "left";
|
||||
tabs.show = "multiple";
|
||||
tabs.tabs_are_windows = true;
|
||||
tabs.width = "12%";
|
||||
zoom.default = "125%";
|
||||
};
|
||||
};
|
||||
|
||||
git = {
|
||||
enable = true;
|
||||
userName = "Asmir A";
|
||||
userEmail = "asmir.abdulahovic@gmail.com";
|
||||
extraConfig = {
|
||||
pull = {rebase = true;};
|
||||
credential = {helper = "store";};
|
||||
};
|
||||
};
|
||||
|
||||
neovim = {
|
||||
enable = true;
|
||||
vimAlias = true;
|
||||
vimdiffAlias = true;
|
||||
plugins = vimrc.plugins;
|
||||
extraConfig = "";
|
||||
extraPackages = vimrc.extraPackages;
|
||||
};
|
||||
|
||||
obs-studio = {
|
||||
enable = true;
|
||||
plugins = with pkgs.obs-studio-plugins; [obs-vkcapture input-overlay obs-multi-rtmp obs-pipewire-audio-capture wlrobs obs-vaapi];
|
||||
};
|
||||
|
||||
i3status-rust.enable = true;
|
||||
z-lua.enable = true;
|
||||
zsh.enable = true;
|
||||
};
|
||||
|
||||
xdg.configFile."nvim/init.lua" = {
|
||||
source = ./vimrc.lua;
|
||||
recursive = true;
|
||||
};
|
||||
|
||||
services = {
|
||||
lorri.enable = false;
|
||||
mako.enable = true;
|
||||
gammastep = {
|
||||
enable = true;
|
||||
latitude = "44.53";
|
||||
longitude = "18.67";
|
||||
temperature.day = 5500;
|
||||
temperature.night = 2900;
|
||||
};
|
||||
|
||||
gnome-keyring.enable = true;
|
||||
|
||||
gpg-agent = {
|
||||
enable = true;
|
||||
defaultCacheTtl = 1800;
|
||||
enableSshSupport = true;
|
||||
};
|
||||
|
||||
swayidle = {
|
||||
enable = true;
|
||||
events = [
|
||||
{
|
||||
event = "before-sleep";
|
||||
command = "swaylock_bg_blur.sh";
|
||||
}
|
||||
{
|
||||
event = "lock";
|
||||
command = "swaylock_bg_blur.sh";
|
||||
}
|
||||
{
|
||||
event = "after-resume";
|
||||
command = "pkill -USR1 i3status-rs";
|
||||
}
|
||||
];
|
||||
timeouts = [
|
||||
{
|
||||
timeout = 15 * 60;
|
||||
command = "swaylock_bg_blur.sh";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
systemd.user = {
|
||||
services = {
|
||||
/*
|
||||
himalaya = {
|
||||
Unit.Description = "Himalaya new messages notifier";
|
||||
Service = {
|
||||
ExecStart = "himalaya notify";
|
||||
Restart = "always";
|
||||
RestartSec = 10;
|
||||
};
|
||||
Install = {
|
||||
WantedBy = [ "multi-user.target" ];
|
||||
};
|
||||
};
|
||||
*/
|
||||
};
|
||||
};
|
||||
}
|
79
home/home_packages.nix
Normal file
79
home/home_packages.nix
Normal file
@ -0,0 +1,79 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
home.packages = with pkgs; [
|
||||
alejandra
|
||||
appimage-run
|
||||
arp-scan
|
||||
blackmagic
|
||||
btop
|
||||
cached-nix-shell
|
||||
caddy
|
||||
cargo
|
||||
ccls
|
||||
cemu
|
||||
compsize
|
||||
cura
|
||||
deluge
|
||||
ffmpeg-full
|
||||
firefox
|
||||
gcc
|
||||
gdb
|
||||
glab
|
||||
glaxnimate
|
||||
gnumake
|
||||
grim
|
||||
hyperfine
|
||||
imagemagick
|
||||
imv
|
||||
jellyfin-media-player
|
||||
kdenlive
|
||||
kicad
|
||||
kodi-wayland
|
||||
libnotify
|
||||
libreoffice
|
||||
libva-utils
|
||||
mediainfo
|
||||
ncdu
|
||||
neovide
|
||||
ngspice
|
||||
nodePackages.peerflix
|
||||
openocd
|
||||
pandoc
|
||||
pass
|
||||
patchelf
|
||||
pavucontrol
|
||||
pirate-get
|
||||
powertop
|
||||
pulsemixer
|
||||
python3
|
||||
python3Packages.west
|
||||
remmina
|
||||
river
|
||||
rtorrent
|
||||
rustc
|
||||
screen
|
||||
seer
|
||||
sioyek
|
||||
skypeforlinux
|
||||
slurp
|
||||
texlive.combined.scheme-full
|
||||
thunderbird
|
||||
upx
|
||||
waybar
|
||||
wdisplays
|
||||
whatsapp-for-linux
|
||||
wireshark
|
||||
wl-clipboard
|
||||
wlr-randr
|
||||
wofi
|
||||
x2goclient
|
||||
yt-dlp
|
||||
zathura
|
||||
zeal-qt6
|
||||
zig
|
||||
zls
|
||||
];
|
||||
}
|
106
home/i3.nix
Normal file
106
home/i3.nix
Normal file
@ -0,0 +1,106 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
scratchpad_cmd = "floating enable, resize set 1502 845, move position center, move scratchpad, scratchpad show";
|
||||
in {
|
||||
xsession.windowManager.i3 = {
|
||||
enable = true;
|
||||
package = pkgs.i3;
|
||||
|
||||
extraConfig = ''
|
||||
new_window pixel 3
|
||||
hide_edge_borders smart
|
||||
'';
|
||||
|
||||
config = rec {
|
||||
modifier = "Mod1";
|
||||
|
||||
keybindings = lib.mkOptionDefault {
|
||||
"${modifier}+Shift+Return" = "exec alacritty";
|
||||
"${modifier}+m" = "layout toggle splith tabbed";
|
||||
"${modifier}+t" = "split toggle";
|
||||
"${modifier}+s" = "layout toggle split";
|
||||
|
||||
"${modifier}+1" = "workspace 1";
|
||||
"${modifier}+2" = "workspace 2";
|
||||
"${modifier}+3" = "workspace 3";
|
||||
"${modifier}+4" = "workspace 4";
|
||||
"${modifier}+5" = "workspace 5";
|
||||
"${modifier}+6" = "workspace 6";
|
||||
"${modifier}+7" = "workspace 7";
|
||||
"${modifier}+8" = "workspace 8";
|
||||
"${modifier}+9" = "workspace 9";
|
||||
"${modifier}+0" = "workspace 10";
|
||||
|
||||
"${modifier}+Shift+1" = "move container to workspace 1";
|
||||
"${modifier}+Shift+2" = "move container to workspace 2";
|
||||
"${modifier}+Shift+3" = "move container to workspace 3";
|
||||
"${modifier}+Shift+4" = "move container to workspace 4";
|
||||
"${modifier}+Shift+5" = "move container to workspace 5";
|
||||
"${modifier}+Shift+6" = "move container to workspace 6";
|
||||
"${modifier}+Shift+7" = "move container to workspace 7";
|
||||
"${modifier}+Shift+8" = "move container to workspace 8";
|
||||
"${modifier}+Shift+9" = "move container to workspace 9";
|
||||
"${modifier}+Shift+0" = "move container to workspace 10";
|
||||
|
||||
"${modifier}+h" = "focus left";
|
||||
"${modifier}+j" = "focus down";
|
||||
"${modifier}+k" = "focus up";
|
||||
"${modifier}+l" = "focus right";
|
||||
"${modifier}+slash" = "exec ${pkgs.rofi}/bin/rofi -show window";
|
||||
"${modifier}+Escape" = "workspace back_and_forth";
|
||||
"${modifier}+p" = "exec ${pkgs.dmenu}/bin/dmenu_run";
|
||||
|
||||
"Mod4+l" = "exec i3-msg [instance=\"python3_scr\"] scratchpad show || exec alacritty --class python3_scr -e python3";
|
||||
"Mod4+j" = "exec i3-msg [class=\"ViberPC\"] scratchpad show || exec viber";
|
||||
"Mod4+m" = "exec i3-msg [class=\"Thunderbird\"] scratchpad show || exec thunderbird";
|
||||
"Mod4+y" = "exec i3-msg [instance=\"pulsemixer_scr\"] scratchpad show || exec alacritty --class pulsemixer_scr -e pulsemixer";
|
||||
};
|
||||
|
||||
window = {
|
||||
/*
|
||||
border = 4;
|
||||
*/
|
||||
commands = [
|
||||
{
|
||||
command = scratchpad_cmd;
|
||||
criteria = {instance = "pulsemixer_scr|python3_scr";};
|
||||
}
|
||||
{
|
||||
command = scratchpad_cmd;
|
||||
criteria = {class = "Thunderbird";};
|
||||
}
|
||||
{
|
||||
command = scratchpad_cmd;
|
||||
criteria = {
|
||||
class = "ViberPC";
|
||||
title = "Viber";
|
||||
};
|
||||
}
|
||||
{
|
||||
command = "focus child, layout tabbed, focus";
|
||||
criteria = {class = "qutebrowser";};
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
bars = [
|
||||
{
|
||||
position = "top";
|
||||
fonts = {
|
||||
names = ["DejaVu Sans Mono" "FontAwesome5Free"];
|
||||
style = "Fixed Bold SemiCondensed";
|
||||
size = 7.0;
|
||||
};
|
||||
statusCommand = "i3status-rs /home/akill/.config/i3status-rust/config-top.toml";
|
||||
extraConfig = ''
|
||||
workspace_min_width 30
|
||||
'';
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
64
home/i3status-rust.nix
Normal file
64
home/i3status-rust.nix
Normal file
@ -0,0 +1,64 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
programs.i3status-rust = {
|
||||
bars.top = {
|
||||
icons = "awesome5";
|
||||
theme = "gruvbox-dark";
|
||||
settings.theme = {
|
||||
theme = "plain";
|
||||
overrides = {
|
||||
separator_fg = "#3287a8";
|
||||
};
|
||||
};
|
||||
|
||||
blocks = [
|
||||
{
|
||||
block = "battery";
|
||||
interval = 10;
|
||||
format = "$icon $percentage $time";
|
||||
}
|
||||
{
|
||||
block = "disk_space";
|
||||
path = "/";
|
||||
info_type = "available";
|
||||
interval = 20;
|
||||
warning = 20.0;
|
||||
alert = 10.0;
|
||||
}
|
||||
{
|
||||
block = "net";
|
||||
device = "wlan0";
|
||||
interval = 2;
|
||||
}
|
||||
{
|
||||
block = "net";
|
||||
device = "enp5s0";
|
||||
interval = 2;
|
||||
}
|
||||
{
|
||||
block = "memory";
|
||||
}
|
||||
{
|
||||
block = "cpu";
|
||||
interval = 1;
|
||||
format = "$utilization $barchart $frequency";
|
||||
}
|
||||
{
|
||||
block = "temperature";
|
||||
interval = 3;
|
||||
}
|
||||
{
|
||||
block = "sound";
|
||||
}
|
||||
{
|
||||
block = "time";
|
||||
interval = 60;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
116
home/sway.nix
Normal file
116
home/sway.nix
Normal file
@ -0,0 +1,116 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
wayland.windowManager.sway = {
|
||||
enable = true;
|
||||
extraSessionCommands = "";
|
||||
|
||||
config = {
|
||||
fonts = {
|
||||
names = ["JetBrainsMono"];
|
||||
style = "Bold Semi-Condensed";
|
||||
size = 11.0;
|
||||
};
|
||||
|
||||
window.commands = [
|
||||
{
|
||||
command = "move scratchpad, resize set 1152 648";
|
||||
criteria = {app_id = "pulsemixer|python3|whatsapp-for-linux|com.viber.Viber";};
|
||||
}
|
||||
{
|
||||
command = "move scratchpad, resize set 1502 845";
|
||||
criteria = {class = "ViberPC";};
|
||||
}
|
||||
{
|
||||
command = "floating enable";
|
||||
criteria = {app_id = "sws_cli";};
|
||||
}
|
||||
];
|
||||
|
||||
modifier = "Mod4";
|
||||
output = {
|
||||
eDP-1 = {
|
||||
bg = "~/pic/weird_dragon.jpg stretch";
|
||||
/*
|
||||
scale = "1.4";
|
||||
*/
|
||||
};
|
||||
};
|
||||
input = {
|
||||
"1:1:AT_Translated_Set_2_keyboard" = {repeat_delay = "150";};
|
||||
"1:1:AT_Translated_Set_2_keyboard" = {repeat_rate = "70";};
|
||||
"2:7:SynPS/2_Synaptics_TouchPad" = {tap = "enabled";};
|
||||
};
|
||||
|
||||
bars = [
|
||||
{
|
||||
position = "top";
|
||||
fonts = {
|
||||
names = ["Iosevka" "FontAwesome"];
|
||||
style = "Bold Semi-Condensed";
|
||||
size = 12.0;
|
||||
};
|
||||
statusCommand = "i3status-rs ~/.config/i3status-rust/config-top.toml";
|
||||
}
|
||||
];
|
||||
|
||||
keybindings = {
|
||||
"Alt+Shift+q" = "kill";
|
||||
"Alt+Shift+Return" = "exec ${pkgs.foot}/bin/footclient";
|
||||
"Alt+p" = "exec ${pkgs.dmenu-wayland}/bin/dmenu-wl_run -fn \"mono 14\"";
|
||||
|
||||
"Alt+Shift+space" = "floating toggle";
|
||||
"Alt+space" = "focus mode_toggle";
|
||||
|
||||
"Alt+m" = "layout toggle splith tabbed";
|
||||
"Alt+t" = "split toggle";
|
||||
"Alt+s" = "layout toggle split";
|
||||
|
||||
"Alt+1" = "workspace 1";
|
||||
"Alt+2" = "workspace 2";
|
||||
"Alt+3" = "workspace 3";
|
||||
"Alt+4" = "workspace 4";
|
||||
"Alt+5" = "workspace 5";
|
||||
"Alt+6" = "workspace 6";
|
||||
"Alt+7" = "workspace 7";
|
||||
"Alt+8" = "workspace 8";
|
||||
"Alt+9" = "workspace 9";
|
||||
"Alt+0" = "workspace 10";
|
||||
|
||||
"Alt+Shift+1" = "move container to workspace 1";
|
||||
"Alt+Shift+2" = "move container to workspace 2";
|
||||
"Alt+Shift+3" = "move container to workspace 3";
|
||||
"Alt+Shift+4" = "move container to workspace 4";
|
||||
"Alt+Shift+5" = "move container to workspace 5";
|
||||
"Alt+Shift+6" = "move container to workspace 6";
|
||||
"Alt+Shift+7" = "move container to workspace 7";
|
||||
"Alt+Shift+8" = "move container to workspace 8";
|
||||
"Alt+Shift+9" = "move container to workspace 9";
|
||||
"Alt+Shift+0" = "move container to workspace 10";
|
||||
|
||||
"Alt+h" = "focus left";
|
||||
"Alt+j" = "focus down";
|
||||
"Alt+k" = "focus up";
|
||||
"Alt+l" = "focus right";
|
||||
"Alt+slash" = "exec lckdo /tmp/.sws_cli_lock footclient -a sws_cli -- sws_cli.sh";
|
||||
"Alt+Escape" = "workspace back_and_forth";
|
||||
"Alt+f" = "fullscreen enable";
|
||||
|
||||
"Mod4+l" = ''
|
||||
exec swaymsg [app_id="python3"] scratchpad show || exec foot -a python3 python3'';
|
||||
"Mod4+h" = "exec swaymsg [app_id=whatsapp-for-linux] scratchpad show || exec whatsapp-for-linux";
|
||||
"Mod4+j" = "exec swaymsg [app_id=com.viber.Viber] scratchpad show";
|
||||
"Mod4+y" = ''
|
||||
exec swaymsg [app_id="pulsemixer"] scratchpad show || exec foot -a pulsemixer pulsemixer'';
|
||||
|
||||
"XF86AudioRaiseVolume" = "exec pactl set-sink-volume $(pacmd list-sinks |awk '/* index:/{print $3}') +5%";
|
||||
"XF86AudioLowerVolume" = "exec pactl set-sink-volume $(pacmd list-sinks |awk '/* index:/{print $3}') -5%";
|
||||
"XF86AudioMute" = "exec pactl set-sink-mute $(pacmd list-sinks |awk '/* index:/{print $3}') toggle";
|
||||
"XF86AudioMicMute" = "exec pactl set-source-mute $(pacmd list-sources |awk '/* index:/{print $3}') toggle";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
195
home/vimrc.lua
Normal file
195
home/vimrc.lua
Normal file
@ -0,0 +1,195 @@
|
||||
-- Basic settings
|
||||
vim.g.loaded_matchparen = true
|
||||
vim.g.netrw_liststyle = 3
|
||||
vim.go.background = 'dark'
|
||||
vim.go.belloff = 'all'
|
||||
vim.go.breakindent = true
|
||||
vim.go.hlsearch = false
|
||||
vim.go.laststatus = 0
|
||||
vim.go.lazyredraw = true
|
||||
vim.go.showcmd = true
|
||||
vim.go.synmaxcol = 800
|
||||
vim.go.syntax = 'on'
|
||||
vim.go.termguicolors = true
|
||||
vim.go.titleold = vim.fn.getcwd()
|
||||
vim.go.title = true
|
||||
vim.go.wildmenu = true
|
||||
vim.go.wrap = true
|
||||
vim.wo.number = true
|
||||
|
||||
vim.cmd([[colorscheme gruvbox]])
|
||||
|
||||
-- Defines a read-write directory for treesitters in nvim's cache dir
|
||||
local parser_install_dir = vim.fn.stdpath("cache") .. "/treesitters"
|
||||
if vim.fn.isdirectory(parser_install_dir) == 0 then
|
||||
vim.fn.mkdir(parser_install_dir, "p")
|
||||
end
|
||||
-- Adding runtime needed for Nix setup on non NixOS
|
||||
vim.o.runtimepath = vim.o.runtimepath .. "," .. parser_install_dir
|
||||
|
||||
require 'nvim-treesitter.install'.compilers = { 'gcc' }
|
||||
|
||||
require 'nvim-treesitter.configs'.setup {
|
||||
ensure_installed = { "c", "cpp", "zig", "python", "verilog", "nix", "lua", "latex" },
|
||||
parser_install_dir = parser_install_dir,
|
||||
highlight = { enable = true, disable = {} },
|
||||
indent = { enable = false, disable = {} },
|
||||
rainbow = {
|
||||
enable = true,
|
||||
extended_mode = true, -- Highlight also non-parentheses delimiters, boolean or table: lang -> boolean
|
||||
max_file_lines = 1000, -- Do not enable for files with more than 1000 lines, int
|
||||
colors = {
|
||||
'#ff0000', '#ffa500', '#ffff00', '#008000', '#0051a0', '#8003f2'
|
||||
} -- table of hex strings
|
||||
}
|
||||
}
|
||||
|
||||
-- Mappings.
|
||||
-- See `:help vim.diagnostic.*` for documentation on any of the below functions
|
||||
local opts = { noremap = true, silent = true }
|
||||
vim.api.nvim_set_keymap('n', '<space>e',
|
||||
'<cmd>lua vim.diagnostic.open_float()<CR>', opts)
|
||||
vim.api.nvim_set_keymap('n', '<space>q',
|
||||
'<cmd>lua vim.diagnostic.setloclist()<CR>', opts)
|
||||
vim.api.nvim_set_keymap('n', 'Q', '<cmd>nohl<CR>', opts)
|
||||
vim.api.nvim_set_keymap('n', 'j', 'gj', opts)
|
||||
vim.api.nvim_set_keymap('n', 'k', 'gk', opts)
|
||||
vim.api.nvim_set_keymap('v', 'j', 'gj', opts)
|
||||
vim.api.nvim_set_keymap('v', 'k', 'gk', opts)
|
||||
vim.api.nvim_set_keymap('n', '<C-J>', '<C-W><C-J>', opts)
|
||||
vim.api.nvim_set_keymap('n', '<C-K>', '<C-W><C-K>', opts)
|
||||
vim.api.nvim_set_keymap('n', '<C-L>', '<C-W><C-L>', opts)
|
||||
vim.api.nvim_set_keymap('n', '<C-H>', '<C-W><C-H>', opts)
|
||||
|
||||
vim.api.nvim_create_autocmd('LspAttach', {
|
||||
desc = 'LSP actions',
|
||||
callback = function()
|
||||
local bufmap = function(mode, lhs, rhs)
|
||||
vim.keymap.set(mode, lhs, rhs, { buffer = true })
|
||||
end
|
||||
|
||||
-- Displays hover information about the symbol under the cursor
|
||||
bufmap('n', 'K', '<cmd>lua vim.lsp.buf.hover()<cr>')
|
||||
|
||||
-- Jump to the definition
|
||||
bufmap('n', 'gd', '<cmd>lua vim.lsp.buf.definition()<cr>')
|
||||
|
||||
-- Jump to declaration
|
||||
bufmap('n', 'gD', '<cmd>lua vim.lsp.buf.declaration()<cr>')
|
||||
|
||||
-- Lists all the implementations for the symbol under the cursor
|
||||
bufmap('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<cr>')
|
||||
|
||||
-- Jumps to the definition of the type symbol
|
||||
bufmap('n', 'go', '<cmd>lua vim.lsp.buf.type_definition()<cr>')
|
||||
|
||||
-- Lists all the references
|
||||
bufmap('n', 'gr', '<cmd>lua vim.lsp.buf.references()<cr>')
|
||||
|
||||
-- Displays a function's signature information
|
||||
bufmap('n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<cr>')
|
||||
|
||||
-- Renames all references to the symbol under the cursor
|
||||
bufmap('n', 'rn', '<cmd>lua vim.lsp.buf.rename()<cr>')
|
||||
|
||||
-- Selects a code action available at the current cursor position
|
||||
bufmap('n', '<F4>', '<cmd>lua vim.lsp.buf.code_action()<cr>')
|
||||
bufmap('x', '<F4>', '<cmd>lua vim.lsp.buf.range_code_action()<cr>')
|
||||
|
||||
-- Show diagnostics in a floating window
|
||||
bufmap('n', 'gl', '<cmd>lua vim.diagnostic.open_float()<cr>')
|
||||
|
||||
-- Move to the previous diagnostic
|
||||
bufmap('n', '[d', '<cmd>lua vim.diagnostic.goto_prev()<cr>')
|
||||
|
||||
-- Move to the next diagnostic
|
||||
bufmap('n', ']d', '<cmd>lua vim.diagnostic.goto_next()<cr>')
|
||||
|
||||
-- Format current buffer
|
||||
bufmap('n', '<space>f', function() vim.lsp.buf.format { async = true } end)
|
||||
end
|
||||
})
|
||||
|
||||
-- Use a loop to conveniently call 'setup' on multiple servers and
|
||||
-- map buffer local keybindings when the language server attaches
|
||||
local cmp = require 'cmp'
|
||||
cmp.setup({
|
||||
sources = cmp.config.sources({
|
||||
{ name = 'nvim_lsp' },
|
||||
{ name = 'buffer' },
|
||||
{ name = 'path' },
|
||||
}),
|
||||
mapping = {
|
||||
["<Tab>"] = cmp.mapping({
|
||||
i = function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item({ behavior = cmp.SelectBehavior.Insert })
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end,
|
||||
}),
|
||||
["<S-Tab>"] = cmp.mapping({
|
||||
i = function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item({ behavior = cmp.SelectBehavior.Insert })
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end,
|
||||
}),
|
||||
['<Down>'] = cmp.mapping(cmp.mapping.select_next_item({ behavior = cmp.SelectBehavior.Select }), { 'i' }),
|
||||
['<Up>'] = cmp.mapping(cmp.mapping.select_prev_item({ behavior = cmp.SelectBehavior.Select }), { 'i' }),
|
||||
['<C-n>'] = cmp.mapping({
|
||||
i = function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item({ behavior = cmp.SelectBehavior.Select })
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end
|
||||
}),
|
||||
['<C-p>'] = cmp.mapping({
|
||||
i = function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item({ behavior = cmp.SelectBehavior.Select })
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end
|
||||
}),
|
||||
['<C-b>'] = cmp.mapping(cmp.mapping.scroll_docs(-4), { 'i', 'c' }),
|
||||
['<C-f>'] = cmp.mapping(cmp.mapping.scroll_docs(4), { 'i', 'c' }),
|
||||
['<C-Space>'] = cmp.mapping(cmp.mapping.complete(), { 'i', 'c' }),
|
||||
['<C-e>'] = cmp.mapping({ i = cmp.mapping.close(), c = cmp.mapping.close() }),
|
||||
['<CR>'] = cmp.mapping({
|
||||
i = cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = false }),
|
||||
}),
|
||||
}
|
||||
})
|
||||
|
||||
local servers = { 'pyright', 'rust_analyzer', 'ccls', 'lua_ls', 'rnix', 'texlab', 'verible' }
|
||||
local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
||||
for _, lsp in pairs(servers) do
|
||||
require('lspconfig')[lsp].setup {
|
||||
capabilities = capabilities
|
||||
}
|
||||
end
|
||||
|
||||
require('lspconfig').lua_ls.setup({
|
||||
single_file_support = true,
|
||||
})
|
||||
|
||||
require('lspconfig').verible.setup({
|
||||
root_dir = function() return vim.loop.cwd() end
|
||||
})
|
||||
|
||||
if vim.fn.exists('+undofile') ~= 0 then
|
||||
local undo_dir = vim.env.HOME .. '/.config/nvim/undo'
|
||||
if vim.fn.isdirectory(undo_dir) == 0 then vim.fn.mkdir(undo_dir, 'p') end
|
||||
vim.o.undodir = undo_dir
|
||||
vim.o.undofile = true
|
||||
end
|
||||
|
||||
vim.cmd([[syntax sync minlines=100]])
|
||||
vim.cmd([[syntax sync maxlines=140]])
|
44
home/vimrc.nix
Normal file
44
home/vimrc.nix
Normal file
@ -0,0 +1,44 @@
|
||||
{
|
||||
pkgs,
|
||||
vimUtils,
|
||||
fetchFromGitHub,
|
||||
}: {
|
||||
extraPackages = [
|
||||
pkgs.ccls
|
||||
pkgs.clang
|
||||
pkgs.luaformatter
|
||||
pkgs.nil
|
||||
pkgs.pyright
|
||||
pkgs.rnix-lsp
|
||||
pkgs.rust-analyzer
|
||||
pkgs.sumneko-lua-language-server
|
||||
pkgs.svls
|
||||
pkgs.texlab
|
||||
pkgs.tree-sitter
|
||||
pkgs.zls
|
||||
pkgs.verible
|
||||
];
|
||||
|
||||
plugins = with pkgs.vimPlugins; [
|
||||
colorizer
|
||||
fugitive
|
||||
fzf-vim
|
||||
gruvbox
|
||||
nvim-lspconfig
|
||||
nvim-treesitter
|
||||
nvim-ts-rainbow
|
||||
repeat
|
||||
targets-vim
|
||||
UltiSnips
|
||||
vim-addon-nix
|
||||
vim-signify
|
||||
vim-slime
|
||||
vim-snippets
|
||||
zig-vim
|
||||
cmp-nvim-lsp
|
||||
cmp-buffer
|
||||
cmp-path
|
||||
cmp-cmdline
|
||||
nvim-cmp
|
||||
];
|
||||
}
|
35
home/whatsapp-for-linux.nix
Normal file
35
home/whatsapp-for-linux.nix
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; {
|
||||
xdg.configFile."whatsapp-for-linux/settings.conf".source = builtins.toFile "settings.conf" (
|
||||
generators.toINI {} {
|
||||
General = {
|
||||
zoom_level = 1;
|
||||
close_to_tray = false;
|
||||
};
|
||||
|
||||
Network = {
|
||||
allow_permissions = true;
|
||||
};
|
||||
|
||||
web = {
|
||||
allow-permissions = true;
|
||||
hw-accel = 1;
|
||||
};
|
||||
|
||||
general = {
|
||||
notification-sounds = true;
|
||||
close-to-tray = true;
|
||||
start-in-tray = false;
|
||||
};
|
||||
|
||||
appearance = {
|
||||
prefer-dark-theme = true;
|
||||
};
|
||||
}
|
||||
);
|
||||
}
|
104
home/zsh.nix
Normal file
104
home/zsh.nix
Normal file
@ -0,0 +1,104 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
programs.z-lua = {
|
||||
enableAliases = true;
|
||||
enableZshIntegration = true;
|
||||
};
|
||||
|
||||
programs.zsh = {
|
||||
autocd = true;
|
||||
enableCompletion = false;
|
||||
syntaxHighlighting.enable = true;
|
||||
defaultKeymap = "viins";
|
||||
|
||||
shellAliases = {
|
||||
cfind = "cscope -C -R -L1";
|
||||
chmod = "chmod -v";
|
||||
chown = "chown -v";
|
||||
cp = "cp -v";
|
||||
rm = "rm -v";
|
||||
ip = "ip --color=auto";
|
||||
};
|
||||
|
||||
history = {
|
||||
expireDuplicatesFirst = true;
|
||||
extended = true;
|
||||
save = 100000;
|
||||
size = 100000;
|
||||
};
|
||||
|
||||
plugins = [
|
||||
{
|
||||
name = "nix_shell";
|
||||
src = pkgs.zsh-nix-shell;
|
||||
file = "share/zsh-nix-shell/nix-shell.plugin.zsh";
|
||||
}
|
||||
{
|
||||
name = "nix_completion";
|
||||
src = pkgs.nix-zsh-completions;
|
||||
file = "share/zsh/plugins/nix/nix-zsh-completions.plugin.zsh";
|
||||
}
|
||||
{
|
||||
name = "fast_syntax_highlight";
|
||||
src = pkgs.zsh-fast-syntax-highlighting;
|
||||
file = "share/zsh/site-functions/fast-syntax-highlighting.plugin.zsh";
|
||||
}
|
||||
{
|
||||
name = "pure_prompt";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "sindresorhus";
|
||||
repo = "pure";
|
||||
rev = "47c0c881f0e7cfdb5eaccd335f52ad17b897c060";
|
||||
sha256 = "15xdhi72pq88ls5gx1h0k23jvb41j6kq6ar17dqmd5d38zsgwl3v";
|
||||
};
|
||||
file = "pure.plugin.zsh";
|
||||
}
|
||||
{
|
||||
name = "fzf";
|
||||
src = pkgs.fzf-zsh;
|
||||
file = "share/zsh/plugins/fzf-zsh/fzf-zsh.plugin.zsh";
|
||||
}
|
||||
{
|
||||
name = "zsh-sudo";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "hcgraf";
|
||||
repo = "zsh-sudo";
|
||||
rev = "d8084def6bb1bde2482e7aa636743f40c69d9b32";
|
||||
sha256 = "1dpm51w3wjxil8sxqw4qxim5kmf6afmkwz1yfhldpdlqm7rfwpi3";
|
||||
};
|
||||
file = "sudo.plugin.zsh";
|
||||
}
|
||||
];
|
||||
|
||||
envExtra = '''';
|
||||
|
||||
initExtra = ''
|
||||
# binds
|
||||
bindkey '^K' fzf-file-widget
|
||||
|
||||
# options
|
||||
setopt nobeep
|
||||
setopt nopromptcr
|
||||
setopt c_bases
|
||||
setopt completeinword
|
||||
setopt completealiases
|
||||
setopt extendedglob
|
||||
setopt notify
|
||||
|
||||
#
|
||||
RPS1=""
|
||||
|
||||
#
|
||||
function chpwd() {
|
||||
ls;
|
||||
}
|
||||
|
||||
eval "$(direnv hook zsh)"
|
||||
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
|
||||
'';
|
||||
};
|
||||
}
|
64
packages.nix
Normal file
64
packages.nix
Normal file
@ -0,0 +1,64 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
nix-xilinx,
|
||||
...
|
||||
}: {
|
||||
environment.systemPackages = with pkgs;
|
||||
[
|
||||
acpi
|
||||
binutils
|
||||
bluez
|
||||
bluez-tools
|
||||
btop
|
||||
dhcpcd
|
||||
direnv
|
||||
dmidecode
|
||||
dnsmasq
|
||||
fd
|
||||
file
|
||||
fzf
|
||||
fzy
|
||||
git
|
||||
gnupg
|
||||
gptfdisk
|
||||
htop
|
||||
interception-tools
|
||||
jq
|
||||
msmtp
|
||||
nano
|
||||
neovim
|
||||
nix-index
|
||||
nixos-option
|
||||
nmap
|
||||
ntfs3g
|
||||
ntfsprogs
|
||||
openhantek6022
|
||||
pax-utils
|
||||
pciutils
|
||||
pstree
|
||||
psutils
|
||||
ripgrep
|
||||
rsync
|
||||
silver-searcher
|
||||
sshfs
|
||||
strace
|
||||
swaylock
|
||||
tig
|
||||
unrar
|
||||
unzip
|
||||
usbutils
|
||||
uutils-coreutils
|
||||
vimpc
|
||||
vulkan-extension-layer
|
||||
vulkan-loader
|
||||
vulkan-tools
|
||||
vulkan-tools-lunarg
|
||||
vulkan-validation-layers
|
||||
wget
|
||||
xdg-utils
|
||||
zip
|
||||
z-lua
|
||||
]
|
||||
++ (with nix-xilinx.packages.x86_64-linux; [vivado vitis vitis_hls model_composer xilinx-shell]);
|
||||
}
|
1
peerix-public
Normal file
1
peerix-public
Normal file
@ -0,0 +1 @@
|
||||
peerix-nixy:8THqS0R2zWF/47ai0RFmqJnieYTZ1jaWOD9tnzpvA6s=
|
31
secrets/peerix.yaml
Normal file
31
secrets/peerix.yaml
Normal file
@ -0,0 +1,31 @@
|
||||
peerix:
|
||||
private: ENC[AES256_GCM,data:WlWrX0kxeElaGvFllg2EkgfDsj1bkRwD9xMTWQevktDQaRd3IdVD9IwFZcwgTgS4hVM6gy9Q/VWX3M12vKaLdaKeTR/PMOQGCov291w12cAFIg/pYINp+511a9aHqFaIZx0WeA==,iv:Ni0M4Tikcbs6NsanYunOKn1R8jLlC59NiDbqNVPW7gM=,tag:POSZ9OgkLZyvnN8vn8OgDQ==,type:str]
|
||||
sops:
|
||||
kms: []
|
||||
gcp_kms: []
|
||||
azure_kv: []
|
||||
hc_vault: []
|
||||
age:
|
||||
- recipient: age153y8mz6gqy5t54q4fnrdvjj4v5ls9cgp3hhpd2hzf5tvkcnncf6q4xns0j
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBNbWcxaHVYUjVydnZVZkJa
|
||||
MFA1TDJFcmtpUis2SXBWNjh5QjI0WkgydHhBCklzVFRlZ0VoSitISlpIaVFJaHRZ
|
||||
enNFaFl1MkRaQUtpb1JUOUNJaXJDT00KLS0tIHZBeGc2ejR4bkcxVjhrWDYyOVpk
|
||||
V28zVWZsTFpJVHY3bHdqR3dGMHNqWncKcjvVw61Zfh0yXKikjnrlq1CIoN7wDiiQ
|
||||
5FDAzjdTMGLOXvrxtfKEJ0RUP8/ANJ+b69pJTBl8To4qIAFGKU0syg==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
- recipient: age1smcrg45udmvl5w8306qec07lqqzjplwx3l8f80tcewpkh7r3h5yqgenrqd
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYUnNveWIrOEE4UnlGNnpN
|
||||
WE5oN1hrOTlma0ZWUDc5ZG5pcUFOV1BJam5nCnhiaFRJVjcreDFiTU85RlJzK0tT
|
||||
eURJdHAwWXVZU2xHbTdsOVc4VjJOaUUKLS0tIGJ2c3JxVGFZWHdCY1p3M1VRNGlk
|
||||
enVTczYxcjNPZkFHTG5RZEtRTTRJOUEKNTPZFBwdnKNmalgPqpJew8ucwQZ3yK+8
|
||||
6Zqv3POnq68ms4nFelQynDYDAEK/maN+qYdo8qgFi14pz87liVF/Ug==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2023-07-03T20:12:05Z"
|
||||
mac: ENC[AES256_GCM,data:kcfnNiu88VTYGgxfSRIkqK8MXS7Gcan9oXxc+UM6/c7yCj35ogNGtDxJmJ4O1Gov2LrP3+lbhyHjOeQBYN06JmE+3o3SV/bIZ5HUWMYqmj+yO1sG8ugSx2NAgSMKmyESlrZTZvN9Z9Z8JocmN1TtyA9Uip7/URfGOXaIFYYDLwE=,iv:bxRoXN4DEIi4B2bCxKcImKp1rfkps4RxP3UbjBePjPw=,tag:x4yXtvmoOrFEadhZmbJjAQ==,type:str]
|
||||
pgp: []
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.7.3
|
Loading…
Reference in New Issue
Block a user