mirror of
https://github.com/nmasur/dotfiles
synced 2024-11-23 11:35:37 +00:00
apply new nix fmt specification
This commit is contained in:
parent
e8e0c97e59
commit
07137fdd91
@ -1,4 +1,5 @@
|
|||||||
{ disk, ... }: {
|
{ disk, ... }:
|
||||||
|
{
|
||||||
disk = {
|
disk = {
|
||||||
boot = {
|
boot = {
|
||||||
type = "disk";
|
type = "disk";
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
{ pool, disks, ... }: {
|
{ pool, disks, ... }:
|
||||||
|
{
|
||||||
disk = lib.genAttrs disks (disk: {
|
disk = lib.genAttrs disks (disk: {
|
||||||
"${disk}" = {
|
"${disk}" = {
|
||||||
type = "disk";
|
type = "disk";
|
||||||
@ -6,16 +7,18 @@
|
|||||||
content = {
|
content = {
|
||||||
type = "table";
|
type = "table";
|
||||||
format = "gpt";
|
format = "gpt";
|
||||||
partitions = [{
|
partitions = [
|
||||||
type = "partition";
|
{
|
||||||
name = "zfs";
|
type = "partition";
|
||||||
start = "128MiB";
|
name = "zfs";
|
||||||
end = "100%";
|
start = "128MiB";
|
||||||
content = {
|
end = "100%";
|
||||||
type = "zfs";
|
content = {
|
||||||
pool = pool;
|
type = "zfs";
|
||||||
};
|
pool = pool;
|
||||||
}];
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
@ -1,20 +1,26 @@
|
|||||||
{ inputs, globals, overlays, ... }:
|
{
|
||||||
|
inputs,
|
||||||
|
globals,
|
||||||
|
overlays,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
inputs.nixpkgs.lib.nixosSystem {
|
inputs.nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
specialArgs = { };
|
specialArgs = { };
|
||||||
modules = import ./modules.nix { inherit inputs globals overlays; } ++ [{
|
modules = import ./modules.nix { inherit inputs globals overlays; } ++ [
|
||||||
# This is the root filesystem containing NixOS
|
{
|
||||||
fileSystems."/" = {
|
# This is the root filesystem containing NixOS
|
||||||
device = "/dev/disk/by-label/nixos";
|
fileSystems."/" = {
|
||||||
fsType = "ext4";
|
device = "/dev/disk/by-label/nixos";
|
||||||
};
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
# This is the boot filesystem for Grub
|
# This is the boot filesystem for Grub
|
||||||
fileSystems."/boot" = {
|
fileSystems."/boot" = {
|
||||||
device = "/dev/disk/by-label/boot";
|
device = "/dev/disk/by-label/boot";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
}];
|
}
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,4 +1,8 @@
|
|||||||
{ inputs, globals, overlays }:
|
{
|
||||||
|
inputs,
|
||||||
|
globals,
|
||||||
|
overlays,
|
||||||
|
}:
|
||||||
|
|
||||||
[
|
[
|
||||||
globals
|
globals
|
||||||
@ -21,18 +25,18 @@
|
|||||||
services.transmission.enable = true;
|
services.transmission.enable = true;
|
||||||
|
|
||||||
# nix-index seems to each up too much memory for Vultr
|
# nix-index seems to each up too much memory for Vultr
|
||||||
home-manager.users.${globals.user}.programs.nix-index.enable =
|
home-manager.users.${globals.user}.programs.nix-index.enable = inputs.nixpkgs.lib.mkForce false;
|
||||||
inputs.nixpkgs.lib.mkForce false;
|
|
||||||
|
|
||||||
virtualisation.vmVariant = {
|
virtualisation.vmVariant = {
|
||||||
virtualisation.forwardPorts = [{
|
virtualisation.forwardPorts = [
|
||||||
from = "host";
|
{
|
||||||
host.port = 2222;
|
from = "host";
|
||||||
guest.port = 22;
|
host.port = 2222;
|
||||||
}];
|
guest.port = 22;
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
../../modules/common
|
../../modules/common
|
||||||
../../modules/nixos
|
../../modules/nixos
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -1,28 +1,41 @@
|
|||||||
{ inputs, system, globals, overlays, ... }:
|
{
|
||||||
|
inputs,
|
||||||
|
system,
|
||||||
|
globals,
|
||||||
|
overlays,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
inputs.nixos-generators.nixosGenerate {
|
inputs.nixos-generators.nixosGenerate {
|
||||||
inherit system;
|
inherit system;
|
||||||
format = "amazon";
|
format = "amazon";
|
||||||
modules = [
|
modules =
|
||||||
globals
|
[
|
||||||
inputs.home-manager.nixosModules.home-manager
|
globals
|
||||||
{
|
inputs.home-manager.nixosModules.home-manager
|
||||||
nixpkgs.overlays = overlays;
|
{
|
||||||
networking.hostName = "sheep";
|
nixpkgs.overlays = overlays;
|
||||||
gui.enable = false;
|
networking.hostName = "sheep";
|
||||||
theme.colors = (import ../../colorscheme/gruvbox).dark;
|
gui.enable = false;
|
||||||
passwordHash = null;
|
theme.colors = (import ../../colorscheme/gruvbox).dark;
|
||||||
publicKeys = [
|
passwordHash = null;
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB+AbmjGEwITk5CK9y7+Rg27Fokgj9QEjgc9wST6MA3s personal"
|
publicKeys = [
|
||||||
];
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB+AbmjGEwITk5CK9y7+Rg27Fokgj9QEjgc9wST6MA3s personal"
|
||||||
# AWS settings require this
|
];
|
||||||
permitRootLogin = "prohibit-password";
|
# AWS settings require this
|
||||||
}
|
permitRootLogin = "prohibit-password";
|
||||||
../../modules/common
|
}
|
||||||
../../modules/nixos
|
../../modules/common
|
||||||
../../modules/nixos/services/sshd.nix
|
../../modules/nixos
|
||||||
] ++ [
|
../../modules/nixos/services/sshd.nix
|
||||||
# Required to fix diskSize errors during build
|
]
|
||||||
({ ... }: { amazonImage.sizeMB = 16 * 1024; })
|
++ [
|
||||||
];
|
# Required to fix diskSize errors during build
|
||||||
|
(
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
amazonImage.sizeMB = 16 * 1024;
|
||||||
|
}
|
||||||
|
)
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
@ -7,7 +7,12 @@
|
|||||||
# https://blog.korfuri.fr/posts/2022/08/nixos-on-an-oracle-free-tier-ampere-machine/
|
# https://blog.korfuri.fr/posts/2022/08/nixos-on-an-oracle-free-tier-ampere-machine/
|
||||||
# These days, probably use nixos-anywhere instead.
|
# These days, probably use nixos-anywhere instead.
|
||||||
|
|
||||||
{ inputs, globals, overlays, ... }:
|
{
|
||||||
|
inputs,
|
||||||
|
globals,
|
||||||
|
overlays,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
inputs.nixpkgs.lib.nixosSystem {
|
inputs.nixpkgs.lib.nixosSystem {
|
||||||
system = "aarch64-linux";
|
system = "aarch64-linux";
|
||||||
@ -26,7 +31,11 @@ inputs.nixpkgs.lib.nixosSystem {
|
|||||||
|
|
||||||
# Not sure what's necessary but too afraid to remove anything
|
# Not sure what's necessary but too afraid to remove anything
|
||||||
imports = [ (inputs.nixpkgs + "/nixos/modules/profiles/qemu-guest.nix") ];
|
imports = [ (inputs.nixpkgs + "/nixos/modules/profiles/qemu-guest.nix") ];
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "virtio_pci" "usbhid" ];
|
boot.initrd.availableKernelModules = [
|
||||||
|
"xhci_pci"
|
||||||
|
"virtio_pci"
|
||||||
|
"usbhid"
|
||||||
|
];
|
||||||
|
|
||||||
# File systems must be declared in order to boot
|
# File systems must be declared in order to boot
|
||||||
|
|
||||||
@ -49,7 +58,9 @@ inputs.nixpkgs.lib.nixosSystem {
|
|||||||
gui.enable = false;
|
gui.enable = false;
|
||||||
|
|
||||||
# Still require colors for programs like Neovim, K9S
|
# Still require colors for programs like Neovim, K9S
|
||||||
theme = { colors = (import ../../colorscheme/gruvbox).dark; };
|
theme = {
|
||||||
|
colors = (import ../../colorscheme/gruvbox).dark;
|
||||||
|
};
|
||||||
|
|
||||||
# Programs and services
|
# Programs and services
|
||||||
atuin.enable = true;
|
atuin.enable = true;
|
||||||
@ -72,8 +83,7 @@ inputs.nixpkgs.lib.nixosSystem {
|
|||||||
enable = true;
|
enable = true;
|
||||||
id = "bd250ee1-ed2e-42d2-b627-039f1eb5a4d2";
|
id = "bd250ee1-ed2e-42d2-b627-039f1eb5a4d2";
|
||||||
credentialsFile = ../../private/cloudflared-flame.age;
|
credentialsFile = ../../private/cloudflared-flame.age;
|
||||||
ca =
|
ca = "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBK/6oyVqjFGX3Uvrc3VS8J9sphxzAnRzKC85xgkHfYgR3TK6qBGXzHrknEj21xeZrr3G2y1UsGzphWJd9ZfIcdA= open-ssh-ca@cloudflareaccess.org";
|
||||||
"ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBK/6oyVqjFGX3Uvrc3VS8J9sphxzAnRzKC85xgkHfYgR3TK6qBGXzHrknEj21xeZrr3G2y1UsGzphWJd9ZfIcdA= open-ssh-ca@cloudflareaccess.org";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Nextcloud backup config
|
# Nextcloud backup config
|
||||||
@ -116,7 +126,6 @@ inputs.nixpkgs.lib.nixosSystem {
|
|||||||
|
|
||||||
# # VPN port forwarding
|
# # VPN port forwarding
|
||||||
# services.transmission.settings.peer-port = 57599;
|
# services.transmission.settings.peer-port = 57599;
|
||||||
|
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,12 @@
|
|||||||
|
|
||||||
# See [readme](../README.md) to explain how this file works.
|
# See [readme](../README.md) to explain how this file works.
|
||||||
|
|
||||||
{ inputs, globals, overlays, ... }:
|
{
|
||||||
|
inputs,
|
||||||
|
globals,
|
||||||
|
overlays,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
inputs.nixpkgs.lib.nixosSystem {
|
inputs.nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
@ -32,8 +37,7 @@ inputs.nixpkgs.lib.nixosSystem {
|
|||||||
startMenuLaunchers = true;
|
startMenuLaunchers = true;
|
||||||
nativeSystemd = true;
|
nativeSystemd = true;
|
||||||
wslConf.network.generateResolvConf = true; # Turn off if it breaks VPN
|
wslConf.network.generateResolvConf = true; # Turn off if it breaks VPN
|
||||||
interop.includePath =
|
interop.includePath = false; # Including Windows PATH will slow down Neovim command mode
|
||||||
false; # Including Windows PATH will slow down Neovim command mode
|
|
||||||
};
|
};
|
||||||
|
|
||||||
neovim.enable = true;
|
neovim.enable = true;
|
||||||
|
@ -1,7 +1,12 @@
|
|||||||
# The Looking Glass
|
# The Looking Glass
|
||||||
# System configuration for my work Macbook
|
# System configuration for my work Macbook
|
||||||
|
|
||||||
{ inputs, globals, overlays, ... }:
|
{
|
||||||
|
inputs,
|
||||||
|
globals,
|
||||||
|
overlays,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
inputs.darwin.lib.darwinSystem {
|
inputs.darwin.lib.darwinSystem {
|
||||||
system = "aarch64-darwin";
|
system = "aarch64-darwin";
|
||||||
@ -9,11 +14,14 @@ inputs.darwin.lib.darwinSystem {
|
|||||||
modules = [
|
modules = [
|
||||||
../../modules/common
|
../../modules/common
|
||||||
../../modules/darwin
|
../../modules/darwin
|
||||||
(globals // rec {
|
(
|
||||||
user = "Noah.Masur";
|
globals
|
||||||
gitName = "Noah-Masur_1701";
|
// rec {
|
||||||
gitEmail = "${user}@take2games.com";
|
user = "Noah.Masur";
|
||||||
})
|
gitName = "Noah-Masur_1701";
|
||||||
|
gitEmail = "${user}@take2games.com";
|
||||||
|
}
|
||||||
|
)
|
||||||
inputs.home-manager.darwinModules.home-manager
|
inputs.home-manager.darwinModules.home-manager
|
||||||
{
|
{
|
||||||
nixpkgs.overlays = [ inputs.firefox-darwin.overlay ] ++ overlays;
|
nixpkgs.overlays = [ inputs.firefox-darwin.overlay ] ++ overlays;
|
||||||
|
@ -1,43 +1,53 @@
|
|||||||
# The Staff
|
# The Staff
|
||||||
# ISO configuration for my USB drive
|
# ISO configuration for my USB drive
|
||||||
|
|
||||||
{ inputs, system, overlays, ... }:
|
{
|
||||||
|
inputs,
|
||||||
|
system,
|
||||||
|
overlays,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
inputs.nixos-generators.nixosGenerate {
|
inputs.nixos-generators.nixosGenerate {
|
||||||
inherit system;
|
inherit system;
|
||||||
format = "install-iso";
|
format = "install-iso";
|
||||||
modules = [{
|
modules = [
|
||||||
nixpkgs.overlays = overlays;
|
{
|
||||||
networking.hostName = "staff";
|
nixpkgs.overlays = overlays;
|
||||||
users.extraUsers.root.openssh.authorizedKeys.keys = [
|
networking.hostName = "staff";
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB+AbmjGEwITk5CK9y7+Rg27Fokgj9QEjgc9wST6MA3s"
|
users.extraUsers.root.openssh.authorizedKeys.keys = [
|
||||||
];
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB+AbmjGEwITk5CK9y7+Rg27Fokgj9QEjgc9wST6MA3s"
|
||||||
services.openssh = {
|
|
||||||
enable = true;
|
|
||||||
ports = [ 22 ];
|
|
||||||
allowSFTP = true;
|
|
||||||
settings = {
|
|
||||||
GatewayPorts = "no";
|
|
||||||
X11Forwarding = false;
|
|
||||||
PasswordAuthentication = false;
|
|
||||||
PermitRootLogin = "yes";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
environment.systemPackages =
|
|
||||||
let pkgs = import inputs.nixpkgs { inherit system overlays; };
|
|
||||||
in with pkgs; [
|
|
||||||
git
|
|
||||||
vim
|
|
||||||
wget
|
|
||||||
curl
|
|
||||||
(import ../../modules/common/neovim/package {
|
|
||||||
inherit pkgs;
|
|
||||||
colors = (import ../../colorscheme/gruvbox).dark;
|
|
||||||
})
|
|
||||||
];
|
];
|
||||||
nix.extraOptions = ''
|
services.openssh = {
|
||||||
experimental-features = nix-command flakes
|
enable = true;
|
||||||
warn-dirty = false
|
ports = [ 22 ];
|
||||||
'';
|
allowSFTP = true;
|
||||||
}];
|
settings = {
|
||||||
|
GatewayPorts = "no";
|
||||||
|
X11Forwarding = false;
|
||||||
|
PasswordAuthentication = false;
|
||||||
|
PermitRootLogin = "yes";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
environment.systemPackages =
|
||||||
|
let
|
||||||
|
pkgs = import inputs.nixpkgs { inherit system overlays; };
|
||||||
|
in
|
||||||
|
with pkgs;
|
||||||
|
[
|
||||||
|
git
|
||||||
|
vim
|
||||||
|
wget
|
||||||
|
curl
|
||||||
|
(import ../../modules/common/neovim/package {
|
||||||
|
inherit pkgs;
|
||||||
|
colors = (import ../../colorscheme/gruvbox).dark;
|
||||||
|
})
|
||||||
|
];
|
||||||
|
nix.extraOptions = ''
|
||||||
|
experimental-features = nix-command flakes
|
||||||
|
warn-dirty = false
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,12 @@
|
|||||||
|
|
||||||
# See [readme](../README.md) to explain how this file works.
|
# See [readme](../README.md) to explain how this file works.
|
||||||
|
|
||||||
{ inputs, globals, overlays, ... }:
|
{
|
||||||
|
inputs,
|
||||||
|
globals,
|
||||||
|
overlays,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
inputs.nixpkgs.lib.nixosSystem {
|
inputs.nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
@ -23,8 +28,13 @@ inputs.nixpkgs.lib.nixosSystem {
|
|||||||
networking.hostName = "swan";
|
networking.hostName = "swan";
|
||||||
|
|
||||||
# Not sure what's necessary but too afraid to remove anything
|
# Not sure what's necessary but too afraid to remove anything
|
||||||
boot.initrd.availableKernelModules =
|
boot.initrd.availableKernelModules = [
|
||||||
[ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" ];
|
"xhci_pci"
|
||||||
|
"ahci"
|
||||||
|
"nvme"
|
||||||
|
"usb_storage"
|
||||||
|
"sd_mod"
|
||||||
|
];
|
||||||
|
|
||||||
# Required for transcoding
|
# Required for transcoding
|
||||||
boot.initrd.kernelModules = [ "amdgpu" ];
|
boot.initrd.kernelModules = [ "amdgpu" ];
|
||||||
@ -60,8 +70,11 @@ inputs.nixpkgs.lib.nixosSystem {
|
|||||||
# Automatically load the ZFS pool on boot
|
# Automatically load the ZFS pool on boot
|
||||||
extraPools = [ "tank" ];
|
extraPools = [ "tank" ];
|
||||||
# Only try to decrypt datasets with keyfiles
|
# Only try to decrypt datasets with keyfiles
|
||||||
requestEncryptionCredentials =
|
requestEncryptionCredentials = [
|
||||||
[ "tank/archive" "tank/generic" "tank/nextcloud" ];
|
"tank/archive"
|
||||||
|
"tank/generic"
|
||||||
|
"tank/nextcloud"
|
||||||
|
];
|
||||||
# If password is requested and fails, continue to boot eventually
|
# If password is requested and fails, continue to boot eventually
|
||||||
passwordTimeout = 300;
|
passwordTimeout = 300;
|
||||||
};
|
};
|
||||||
@ -72,7 +85,9 @@ inputs.nixpkgs.lib.nixosSystem {
|
|||||||
gui.enable = false;
|
gui.enable = false;
|
||||||
|
|
||||||
# Still require colors for programs like Neovim, K9S
|
# Still require colors for programs like Neovim, K9S
|
||||||
theme = { colors = (import ../../colorscheme/gruvbox).dark; };
|
theme = {
|
||||||
|
colors = (import ../../colorscheme/gruvbox).dark;
|
||||||
|
};
|
||||||
|
|
||||||
# Programs and services
|
# Programs and services
|
||||||
atuin.enable = true;
|
atuin.enable = true;
|
||||||
@ -97,8 +112,7 @@ inputs.nixpkgs.lib.nixosSystem {
|
|||||||
enable = true;
|
enable = true;
|
||||||
id = "646754ac-2149-4a58-b51a-e1d0a1f3ade2";
|
id = "646754ac-2149-4a58-b51a-e1d0a1f3ade2";
|
||||||
credentialsFile = ../../private/cloudflared-swan.age;
|
credentialsFile = ../../private/cloudflared-swan.age;
|
||||||
ca =
|
ca = "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCHF/UMtJqPFrf6f6GRY0ZFnkCW7b6sYgUTjTtNfRj1RdmNic1NoJZql7y6BrqQinZvy7nsr1UFDNWoHn6ah3tg= open-ssh-ca@cloudflareaccess.org";
|
||||||
"ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCHF/UMtJqPFrf6f6GRY0ZFnkCW7b6sYgUTjTtNfRj1RdmNic1NoJZql7y6BrqQinZvy7nsr1UFDNWoHn6ah3tg= open-ssh-ca@cloudflareaccess.org";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Send regular backups and litestream for DBs to an S3-like bucket
|
# Send regular backups and litestream for DBs to an S3-like bucket
|
||||||
|
@ -3,7 +3,12 @@
|
|||||||
|
|
||||||
# See [readme](../README.md) to explain how this file works.
|
# See [readme](../README.md) to explain how this file works.
|
||||||
|
|
||||||
{ inputs, globals, overlays, ... }:
|
{
|
||||||
|
inputs,
|
||||||
|
globals,
|
||||||
|
overlays,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
inputs.nixpkgs.lib.nixosSystem {
|
inputs.nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
@ -20,8 +25,14 @@ inputs.nixpkgs.lib.nixosSystem {
|
|||||||
networking.hostName = "tempest";
|
networking.hostName = "tempest";
|
||||||
|
|
||||||
# Not sure what's necessary but too afraid to remove anything
|
# Not sure what's necessary but too afraid to remove anything
|
||||||
boot.initrd.availableKernelModules =
|
boot.initrd.availableKernelModules = [
|
||||||
[ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
|
"nvme"
|
||||||
|
"xhci_pci"
|
||||||
|
"ahci"
|
||||||
|
"usb_storage"
|
||||||
|
"usbhid"
|
||||||
|
"sd_mod"
|
||||||
|
];
|
||||||
|
|
||||||
# Graphics and VMs
|
# Graphics and VMs
|
||||||
boot.initrd.kernelModules = [ "amdgpu" ];
|
boot.initrd.kernelModules = [ "amdgpu" ];
|
||||||
@ -114,23 +125,20 @@ inputs.nixpkgs.lib.nixosSystem {
|
|||||||
ryujinx.enable = true;
|
ryujinx.enable = true;
|
||||||
};
|
};
|
||||||
services.vmagent.enable = true; # Enables Prometheus metrics
|
services.vmagent.enable = true; # Enables Prometheus metrics
|
||||||
services.openssh.enable =
|
services.openssh.enable = true; # Required for Cloudflare tunnel and identity file
|
||||||
true; # Required for Cloudflare tunnel and identity file
|
|
||||||
|
|
||||||
# Allows private remote access over the internet
|
# Allows private remote access over the internet
|
||||||
cloudflareTunnel = {
|
cloudflareTunnel = {
|
||||||
enable = true;
|
enable = true;
|
||||||
id = "ac133a82-31fb-480c-942a-cdbcd4c58173";
|
id = "ac133a82-31fb-480c-942a-cdbcd4c58173";
|
||||||
credentialsFile = ../../private/cloudflared-tempest.age;
|
credentialsFile = ../../private/cloudflared-tempest.age;
|
||||||
ca =
|
ca = "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPY6C0HmdFCaxYtJxFr3qV4/1X4Q8KrYQ1hlme3u1hJXK+xW+lc9Y9glWHrhiTKilB7carYTB80US0O47gI5yU4= open-ssh-ca@cloudflareaccess.org";
|
||||||
"ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPY6C0HmdFCaxYtJxFr3qV4/1X4Q8KrYQ1hlme3u1hJXK+xW+lc9Y9glWHrhiTKilB7carYTB80US0O47gI5yU4= open-ssh-ca@cloudflareaccess.org";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Allows requests to force machine to wake up
|
# Allows requests to force machine to wake up
|
||||||
# This network interface might change, needs to be set specifically for each machine.
|
# This network interface might change, needs to be set specifically for each machine.
|
||||||
# Or set usePredictableInterfaceNames = false
|
# Or set usePredictableInterfaceNames = false
|
||||||
networking.interfaces.enp5s0.wakeOnLan.enable = true;
|
networking.interfaces.enp5s0.wakeOnLan.enable = true;
|
||||||
|
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,2 @@
|
|||||||
# Disable dunst so that it's not attempting to reach a non-existent dunst service
|
# Disable dunst so that it's not attempting to reach a non-existent dunst service
|
||||||
_final: prev: {
|
_final: prev: { betterlockscreen = prev.betterlockscreen.override { withDunst = false; }; }
|
||||||
betterlockscreen = prev.betterlockscreen.override { withDunst = false; };
|
|
||||||
}
|
|
||||||
|
@ -3,18 +3,20 @@ inputs: _final: prev: {
|
|||||||
# Based on:
|
# Based on:
|
||||||
# https://git.sr.ht/~rycee/nur-expressions/tree/master/item/pkgs/firefox-addons/default.nix#L34
|
# https://git.sr.ht/~rycee/nur-expressions/tree/master/item/pkgs/firefox-addons/default.nix#L34
|
||||||
|
|
||||||
bypass-paywalls-clean = let addonId = "magnolia@12.34";
|
bypass-paywalls-clean =
|
||||||
in prev.stdenv.mkDerivation rec {
|
let
|
||||||
pname = "bypass-paywalls-clean";
|
addonId = "magnolia@12.34";
|
||||||
version = "3.4.9.0";
|
in
|
||||||
src = inputs.bypass-paywalls-clean + "/bypass_paywalls_clean-latest.xpi";
|
prev.stdenv.mkDerivation rec {
|
||||||
preferLocalBuild = true;
|
pname = "bypass-paywalls-clean";
|
||||||
allowSubstitutes = true;
|
version = "3.4.9.0";
|
||||||
buildCommand = ''
|
src = inputs.bypass-paywalls-clean + "/bypass_paywalls_clean-latest.xpi";
|
||||||
dst="$out/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
|
preferLocalBuild = true;
|
||||||
mkdir -p "$dst"
|
allowSubstitutes = true;
|
||||||
install -v -m644 "${src}" "$dst/${addonId}.xpi"
|
buildCommand = ''
|
||||||
'';
|
dst="$out/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
|
||||||
};
|
mkdir -p "$dst"
|
||||||
|
install -v -m644 "${src}" "$dst/${addonId}.xpi"
|
||||||
|
'';
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@ -5,10 +5,8 @@ inputs: _final: prev:
|
|||||||
let
|
let
|
||||||
|
|
||||||
plugins = [ "github.com/caddy-dns/cloudflare" ];
|
plugins = [ "github.com/caddy-dns/cloudflare" ];
|
||||||
goImports =
|
goImports = prev.lib.flip prev.lib.concatMapStrings plugins (pkg: " _ \"${pkg}\"\n");
|
||||||
prev.lib.flip prev.lib.concatMapStrings plugins (pkg: " _ \"${pkg}\"\n");
|
goGets = prev.lib.flip prev.lib.concatMapStrings plugins (pkg: "go get ${pkg}\n ");
|
||||||
goGets = prev.lib.flip prev.lib.concatMapStrings plugins
|
|
||||||
(pkg: "go get ${pkg}\n ");
|
|
||||||
main = ''
|
main = ''
|
||||||
package main
|
package main
|
||||||
import (
|
import (
|
||||||
@ -20,8 +18,8 @@ let
|
|||||||
caddycmd.Main()
|
caddycmd.Main()
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
|
in
|
||||||
in {
|
{
|
||||||
caddy-cloudflare = prev.buildGo122Module {
|
caddy-cloudflare = prev.buildGo122Module {
|
||||||
pname = "caddy-cloudflare";
|
pname = "caddy-cloudflare";
|
||||||
version = prev.caddy.version;
|
version = prev.caddy.version;
|
||||||
@ -33,13 +31,15 @@ in {
|
|||||||
|
|
||||||
vendorHash = "sha256-zeuvCk7kZa/W/roC12faCQDav4RB8RT1dR2Suh2yjD8=";
|
vendorHash = "sha256-zeuvCk7kZa/W/roC12faCQDav4RB8RT1dR2Suh2yjD8=";
|
||||||
|
|
||||||
overrideModAttrs = (_: {
|
overrideModAttrs = (
|
||||||
preBuild = ''
|
_: {
|
||||||
echo '${main}' > cmd/caddy/main.go
|
preBuild = ''
|
||||||
${goGets}
|
echo '${main}' > cmd/caddy/main.go
|
||||||
'';
|
${goGets}
|
||||||
postInstall = "cp go.sum go.mod $out/ && ls $out/";
|
'';
|
||||||
});
|
postInstall = "cp go.sum go.mod $out/ && ls $out/";
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
echo '${main}' > cmd/caddy/main.go
|
echo '${main}' > cmd/caddy/main.go
|
||||||
@ -53,10 +53,12 @@ in {
|
|||||||
|
|
||||||
meta = with prev.lib; {
|
meta = with prev.lib; {
|
||||||
homepage = "https://caddyserver.com";
|
homepage = "https://caddyserver.com";
|
||||||
description =
|
description = "Fast, cross-platform HTTP/2 web server with automatic HTTPS";
|
||||||
"Fast, cross-platform HTTP/2 web server with automatic HTTPS";
|
|
||||||
license = licenses.asl20;
|
license = licenses.asl20;
|
||||||
maintainers = with maintainers; [ Br1ght0ne techknowlogick ];
|
maintainers = with maintainers; [
|
||||||
|
Br1ght0ne
|
||||||
|
techknowlogick
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
# Add disko to nixpkgs from its input flake
|
# Add disko to nixpkgs from its input flake
|
||||||
|
|
||||||
inputs: _final: prev: {
|
inputs: _final: prev: { disko = inputs.disko.packages.${prev.system}.disko; }
|
||||||
disko = inputs.disko.packages.${prev.system}.disko;
|
|
||||||
}
|
|
||||||
|
@ -19,7 +19,5 @@ _final: prev: {
|
|||||||
"-X github.com/katiem0/gh-collaborators/cmd.Version=${version}"
|
"-X github.com/katiem0/gh-collaborators/cmd.Version=${version}"
|
||||||
# "-X main.Version=${version}"
|
# "-X main.Version=${version}"
|
||||||
];
|
];
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -8,10 +8,8 @@ inputs: _final: prev: {
|
|||||||
src = inputs.zenyd-mpv-scripts + "/delete_file.lua";
|
src = inputs.zenyd-mpv-scripts + "/delete_file.lua";
|
||||||
dontBuild = true;
|
dontBuild = true;
|
||||||
dontUnpack = true;
|
dontUnpack = true;
|
||||||
installPhase =
|
installPhase = "install -Dm644 ${src} $out/share/mpv/scripts/delete_file.lua";
|
||||||
"install -Dm644 ${src} $out/share/mpv/scripts/delete_file.lua";
|
|
||||||
passthru.scriptName = "delete_file.lua";
|
passthru.scriptName = "delete_file.lua";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -5,35 +5,33 @@ inputs: _final: prev:
|
|||||||
let
|
let
|
||||||
|
|
||||||
# Use nixpkgs vimPlugin but with source directly from plugin author
|
# Use nixpkgs vimPlugin but with source directly from plugin author
|
||||||
withSrc = pkg: src: pkg.overrideAttrs (_: { inherit src; });
|
withSrc =
|
||||||
|
pkg: src:
|
||||||
|
pkg.overrideAttrs (_: {
|
||||||
|
inherit src;
|
||||||
|
});
|
||||||
|
|
||||||
# Package plugin - for plugins not found in nixpkgs at all
|
# Package plugin - for plugins not found in nixpkgs at all
|
||||||
plugin = pname: src:
|
plugin =
|
||||||
|
pname: src:
|
||||||
prev.vimUtils.buildVimPlugin {
|
prev.vimUtils.buildVimPlugin {
|
||||||
inherit pname src;
|
inherit pname src;
|
||||||
version = "master";
|
version = "master";
|
||||||
};
|
};
|
||||||
|
in
|
||||||
in {
|
{
|
||||||
|
|
||||||
vimPlugins = prev.vimPlugins // {
|
vimPlugins = prev.vimPlugins // {
|
||||||
|
|
||||||
nvim-lspconfig =
|
nvim-lspconfig = withSrc prev.vimPlugins.nvim-lspconfig inputs.nvim-lspconfig-src;
|
||||||
withSrc prev.vimPlugins.nvim-lspconfig inputs.nvim-lspconfig-src;
|
|
||||||
cmp-nvim-lsp = withSrc prev.vimPlugins.cmp-nvim-lsp inputs.cmp-nvim-lsp-src;
|
cmp-nvim-lsp = withSrc prev.vimPlugins.cmp-nvim-lsp inputs.cmp-nvim-lsp-src;
|
||||||
comment-nvim = withSrc prev.vimPlugins.comment-nvim inputs.comment-nvim-src;
|
comment-nvim = withSrc prev.vimPlugins.comment-nvim inputs.comment-nvim-src;
|
||||||
nvim-treesitter =
|
nvim-treesitter = withSrc prev.vimPlugins.nvim-treesitter inputs.nvim-treesitter-src;
|
||||||
withSrc prev.vimPlugins.nvim-treesitter inputs.nvim-treesitter-src;
|
telescope-nvim = withSrc prev.vimPlugins.telescope-nvim inputs.telescope-nvim-src;
|
||||||
telescope-nvim =
|
telescope-project-nvim = withSrc prev.vimPlugins.telescope-project-nvim inputs.telescope-project-nvim-src;
|
||||||
withSrc prev.vimPlugins.telescope-nvim inputs.telescope-nvim-src;
|
toggleterm-nvim = withSrc prev.vimPlugins.toggleterm-nvim inputs.toggleterm-nvim-src;
|
||||||
telescope-project-nvim = withSrc prev.vimPlugins.telescope-project-nvim
|
bufferline-nvim = withSrc prev.vimPlugins.bufferline-nvim inputs.bufferline-nvim-src;
|
||||||
inputs.telescope-project-nvim-src;
|
nvim-tree-lua = withSrc prev.vimPlugins.nvim-tree-lua inputs.nvim-tree-lua-src;
|
||||||
toggleterm-nvim =
|
|
||||||
withSrc prev.vimPlugins.toggleterm-nvim inputs.toggleterm-nvim-src;
|
|
||||||
bufferline-nvim =
|
|
||||||
withSrc prev.vimPlugins.bufferline-nvim inputs.bufferline-nvim-src;
|
|
||||||
nvim-tree-lua =
|
|
||||||
withSrc prev.vimPlugins.nvim-tree-lua inputs.nvim-tree-lua-src;
|
|
||||||
fidget-nvim = withSrc prev.vimPlugins.fidget-nvim inputs.fidget-nvim-src;
|
fidget-nvim = withSrc prev.vimPlugins.fidget-nvim inputs.fidget-nvim-src;
|
||||||
nvim-lint = withSrc prev.vimPlugins.nvim-lint inputs.nvim-lint-src;
|
nvim-lint = withSrc prev.vimPlugins.nvim-lint inputs.nvim-lint-src;
|
||||||
|
|
||||||
@ -47,7 +45,5 @@ in {
|
|||||||
version = "master";
|
version = "master";
|
||||||
patches = [ ./kitty-scrollback-nvim.patch ];
|
patches = [ ./kitty-scrollback-nvim.patch ];
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -22,5 +22,4 @@ inputs: _final: prev: {
|
|||||||
license = "agpl3Plus";
|
license = "agpl3Plus";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -5,9 +5,9 @@
|
|||||||
inputs: _final: prev: {
|
inputs: _final: prev: {
|
||||||
proton-ge-custom = prev.stdenv.mkDerivation (finalAttrs: rec {
|
proton-ge-custom = prev.stdenv.mkDerivation (finalAttrs: rec {
|
||||||
name = "proton-ge-custom";
|
name = "proton-ge-custom";
|
||||||
version = prev.lib.removeSuffix "\n" (builtins.head
|
version = prev.lib.removeSuffix "\n" (
|
||||||
(builtins.match ".*GE-Proton(.*)"
|
builtins.head (builtins.match ".*GE-Proton(.*)" (builtins.readFile "${inputs.proton-ge}/version"))
|
||||||
(builtins.readFile "${inputs.proton-ge}/version")));
|
);
|
||||||
src = inputs.proton-ge;
|
src = inputs.proton-ge;
|
||||||
# Took from https://github.com/AtaraxiaSjel/nur/blob/cf83b14b102985a587a498ba2c56f9f2bd9b9eb6/pkgs/proton-ge/default.nix
|
# Took from https://github.com/AtaraxiaSjel/nur/blob/cf83b14b102985a587a498ba2c56f9f2bd9b9eb6/pkgs/proton-ge/default.nix
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
@ -13,5 +13,4 @@ inputs: _final: prev: {
|
|||||||
# src = inputs.rep;
|
# src = inputs.rep;
|
||||||
# cargoHash = "sha256-GEr3VvQ0VTKHUbW/GFEgwLpQWP2ZhS/4KYjDvfFLgxo=";
|
# cargoHash = "sha256-GEr3VvQ0VTKHUbW/GFEgwLpQWP2ZhS/4KYjDvfFLgxo=";
|
||||||
# };
|
# };
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -3,18 +3,20 @@ inputs: _final: prev: {
|
|||||||
|
|
||||||
# Fix: bash highlighting doesn't work as of this commit:
|
# Fix: bash highlighting doesn't work as of this commit:
|
||||||
# https://github.com/NixOS/nixpkgs/commit/49cce41b7c5f6b88570a482355d9655ca19c1029
|
# https://github.com/NixOS/nixpkgs/commit/49cce41b7c5f6b88570a482355d9655ca19c1029
|
||||||
tree-sitter-bash = prev.tree-sitter-grammars.tree-sitter-bash.overrideAttrs
|
tree-sitter-bash = prev.tree-sitter-grammars.tree-sitter-bash.overrideAttrs (old: {
|
||||||
(old: { src = inputs.tree-sitter-bash; });
|
src = inputs.tree-sitter-bash;
|
||||||
|
});
|
||||||
|
|
||||||
# Fix: invalid node in position. Broken as of this commit (replaced with newer):
|
# Fix: invalid node in position. Broken as of this commit (replaced with newer):
|
||||||
# https://github.com/NixOS/nixpkgs/commit/8ec3627796ecc899e6f47f5bf3c3220856ead9c5
|
# https://github.com/NixOS/nixpkgs/commit/8ec3627796ecc899e6f47f5bf3c3220856ead9c5
|
||||||
tree-sitter-python =
|
tree-sitter-python = prev.tree-sitter-grammars.tree-sitter-python.overrideAttrs (old: {
|
||||||
prev.tree-sitter-grammars.tree-sitter-python.overrideAttrs
|
src = inputs.tree-sitter-python;
|
||||||
(old: { src = inputs.tree-sitter-python; });
|
});
|
||||||
|
|
||||||
# Fix: invalid structure in position.
|
# Fix: invalid structure in position.
|
||||||
tree-sitter-lua = prev.tree-sitter-grammars.tree-sitter-lua.overrideAttrs
|
tree-sitter-lua = prev.tree-sitter-grammars.tree-sitter-lua.overrideAttrs (old: {
|
||||||
(old: { src = inputs.tree-sitter-lua; });
|
src = inputs.tree-sitter-lua;
|
||||||
|
});
|
||||||
|
|
||||||
# Add grammars not in nixpks
|
# Add grammars not in nixpks
|
||||||
tree-sitter-ini = prev.tree-sitter.buildGrammar {
|
tree-sitter-ini = prev.tree-sitter.buildGrammar {
|
||||||
@ -38,5 +40,4 @@ inputs: _final: prev: {
|
|||||||
src = inputs.tree-sitter-vimdoc;
|
src = inputs.tree-sitter-vimdoc;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
{
|
{
|
||||||
description = "Basic Rust project";
|
description = "Basic Rust project";
|
||||||
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
outputs = { self, nixpkgs }:
|
outputs =
|
||||||
|
{ self, nixpkgs }:
|
||||||
let
|
let
|
||||||
forAllSystems = nixpkgs.lib.genAttrs [
|
forAllSystems = nixpkgs.lib.genAttrs [
|
||||||
"x86_64-linux"
|
"x86_64-linux"
|
||||||
@ -9,10 +10,14 @@
|
|||||||
"aarch64-linux"
|
"aarch64-linux"
|
||||||
"aarch64-darwin"
|
"aarch64-darwin"
|
||||||
];
|
];
|
||||||
in {
|
in
|
||||||
devShells = forAllSystems (system:
|
{
|
||||||
let pkgs = import nixpkgs { inherit system; };
|
devShells = forAllSystems (
|
||||||
in {
|
system:
|
||||||
|
let
|
||||||
|
pkgs = import nixpkgs { inherit system; };
|
||||||
|
in
|
||||||
|
{
|
||||||
default = pkgs.mkShell {
|
default = pkgs.mkShell {
|
||||||
buildInputs = with pkgs; [
|
buildInputs = with pkgs; [
|
||||||
gcc
|
gcc
|
||||||
@ -24,6 +29,7 @@
|
|||||||
openssl
|
openssl
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
});
|
}
|
||||||
|
);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user