Compare commits

..

1 Commits

Author SHA1 Message Date
Ethan Simmons
13041313d0 Move diphda key 2024-10-22 14:34:10 -05:00
41 changed files with 303 additions and 740 deletions

View File

@@ -3,21 +3,12 @@ keys:
- &admin_alpheratz age1gdtjn3jgvvvspa86q3lnklflnvyf3s75y2rw23l7nk7hwcsfpg7qkq7msr - &admin_alpheratz age1gdtjn3jgvvvspa86q3lnklflnvyf3s75y2rw23l7nk7hwcsfpg7qkq7msr
- &diphda age1rxqyz6watg05r3rzlme7grpgfgezhlt535gdl7psqys2ec8eegmqchfk4d - &diphda age1rxqyz6watg05r3rzlme7grpgfgezhlt535gdl7psqys2ec8eegmqchfk4d
- &alpheratz age1cla0k3yffcelphkrmgz5upc0chgtdef25ne833jeqtapceux59rqkmhxf7 - &alpheratz age1cla0k3yffcelphkrmgz5upc0chgtdef25ne833jeqtapceux59rqkmhxf7
- &ankaa age15z4s7nts7ls5h3tu5zesghvnm3kj2qk3dsr004g8rwy578mq4q4qew7wl7
creation_rules: creation_rules:
- path_regex: secrets/[^/]+\.yaml$ - path_regex: secrets/[^/]+\.yaml$
key_groups: key_groups:
- age: - age:
- *admin_ankaa - *admin_ankaa
- *admin_alpheratz - *admin_alpheratz
- path_regex: secrets/shared/[^/]+\.(yaml|otf)$
key_groups:
- age:
- *admin_ankaa
- *admin_alpheratz
- *alpheratz
- *ankaa
- *diphda
- path_regex: secrets/ankaa/[^/]+\.yaml$ - path_regex: secrets/ankaa/[^/]+\.yaml$
key_groups: key_groups:
- age: - age:

122
configuration.nix Normal file
View File

@@ -0,0 +1,122 @@
# 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?
}

141
flake.lock generated
View File

@@ -1,31 +1,15 @@
{ {
"nodes": { "nodes": {
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1747046372,
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts": { "flake-parts": {
"inputs": { "inputs": {
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
}, },
"locked": { "locked": {
"lastModified": 1730504689, "lastModified": 1727826117,
"narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=", "narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "506278e768c2a08bec68eb62932193e341f55c90", "rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -39,11 +23,11 @@
"systems": "systems" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1731533236, "lastModified": 1726560853,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -59,16 +43,16 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1747688870, "lastModified": 1726989464,
"narHash": "sha256-ypL9WAZfmJr5V70jEVzqGjjQzF0uCkz+AFQF7n9NmNc=", "narHash": "sha256-Vl+WVTJwutXkimwGprnEtXc/s/s8sMuXzqXaspIGlwM=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "d5f1f641b289553927b3801580598d200a501863", "rev": "2f23fa308a7c067e52dfcc30a0758f47043ec176",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"ref": "release-24.11", "ref": "release-24.05",
"repo": "home-manager", "repo": "home-manager",
"type": "github" "type": "github"
} }
@@ -80,11 +64,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1761845621, "lastModified": 1729260213,
"narHash": "sha256-d+R4MHsGmdebvSMsYUFWONsZSlUbOo8Zq/wjMdMiIac=", "narHash": "sha256-jAvHoU/1y/yCuXzr2fNF+q6uKmr8Jj2xgAisK4QB9to=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "97e3022a8d2c09313fa49847f6da4d76abcfc72d", "rev": "09a0c0c02953318bf94425738c7061ffdc4cba75",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -99,11 +83,11 @@
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1761867267, "lastModified": 1729251238,
"narHash": "sha256-b2vU6HzMR26JnHmnkvNZgefyfzAZOi9wLZdA+WOymHU=", "narHash": "sha256-CiWm577XgvxJUCLvIhsKDsnybFoQGel6kcC4QZR2f1M=",
"owner": "ggerganov", "owner": "ggerganov",
"repo": "llama.cpp", "repo": "llama.cpp",
"rev": "6eb208d17ea29bb60295d9a2b5e7122dfb8f4b55", "rev": "afd9909a6481402844aecefa8a8908afdd7f52f1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -112,32 +96,13 @@
"type": "github" "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": 1732014248, "lastModified": 1728492678,
"narHash": "sha256-y/MEyuJ5oBWrWAic/14LaIr/u5E0wRVzyYsouYY3W6w=", "narHash": "sha256-9UTxR8eukdg+XZeHgxW5hQA9fIKHsKCdOIUycTryeVw=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "23e89b7da85c3640bbc2173fe04f4bd114342367", "rev": "5633bcff0c6162b9e4b5f1264264611e950c8ec7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -149,39 +114,55 @@
}, },
"nixpkgs-lib": { "nixpkgs-lib": {
"locked": { "locked": {
"lastModified": 1730504152, "lastModified": 1727825735,
"narHash": "sha256-lXvH/vOfb4aGYyvFmZK/HlsNsr/0CVWlwYvo2rxJk3s=", "narHash": "sha256-0xHYkMkeLVQAMa7gvkddbPqpxph+hDzdu1XdGPJR+Os=",
"type": "tarball", "type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/cc2f28000298e1269cea6612cd06ec9979dd5d7f.tar.gz" "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/cc2f28000298e1269cea6612cd06ec9979dd5d7f.tar.gz" "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz"
} }
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1751274312, "lastModified": 1729044727,
"narHash": "sha256-/bVBlRpECLVzjV19t5KMdMFWSwKLtb5RyXdjz3LJT+g=", "narHash": "sha256-GKJjtPY+SXfLF/yTN7M2cAnQB6RERFKnQhD8UvPSf3M=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "50ab793786d9de88ee30ec4e4c24fb4236fc2674", "rev": "dc2e0028d274394f73653c7c90cc63edbb696be1",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "nixos",
"ref": "nixos-24.11", "ref": "nixos-24.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-stable_2": {
"locked": {
"lastModified": 1728156290,
"narHash": "sha256-uogSvuAp+1BYtdu6UWuObjHqSbBohpyARXDWqgI12Ss=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "17ae88b569bb15590549ff478bab6494dde4a907",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "release-24.05",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1761672384, "lastModified": 1728888510,
"narHash": "sha256-o9KF3DJL7g7iYMZq9SWgfS1BFlNbsm6xplRjVlOCkXI=", "narHash": "sha256-nsNdSldaAyu6PE3YUA+YQLqUDJh+gRbBooMMekZJwvI=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "08dacfca559e1d7da38f3cf05f1f45ee9bfd213c", "rev": "a3c0b3b21515f74fd2665903d4ce6bc4dc81c77c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -193,25 +174,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1754340878, "lastModified": 1728093190,
"narHash": "sha256-lgmUyVQL9tSnvvIvBp7x1euhkkCho7n3TMzgjdvgPoU=", "narHash": "sha256-CAZF2NRuHmqTtRTNAruWpHA43Gg2UvuCNEIzabP0l6M=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "cab778239e705082fe97bb4990e0d24c50924c04", "rev": "e2f08f4d8b3ecb5cf5c9fd9cb2d53bb3c71807da",
"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" "type": "github"
}, },
"original": { "original": {
@@ -227,7 +194,6 @@
"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", "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"
@@ -235,14 +201,15 @@
}, },
"sops-nix": { "sops-nix": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_3" "nixpkgs": "nixpkgs_2",
"nixpkgs-stable": "nixpkgs-stable_2"
}, },
"locked": { "locked": {
"lastModified": 1760998189, "lastModified": 1728345710,
"narHash": "sha256-ee2e1/AeGL5X8oy/HXsZQvZnae6XfEVdstGopKucYLY=", "narHash": "sha256-lpunY1+bf90ts+sA2/FgxVNIegPDKCpEoWwOPu4ITTQ=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "5a7d18b5c55642df5c432aadb757140edfeb70b3", "rev": "06535d0e3d0201e6a8080dd32dbfde339b94f01b",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -2,11 +2,11 @@
description = "NixOS configuration"; description = "NixOS configuration";
inputs = { inputs = {
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.11"; home-manager-stable.url = "github:nix-community/home-manager/release-24.05";
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,8 +18,6 @@
llama-cpp.url = "github:ggerganov/llama.cpp"; llama-cpp.url = "github:ggerganov/llama.cpp";
nix-matlab.url = "gitlab:doronbehar/nix-matlab";
}; };
outputs = inputs@{ self outputs = inputs@{ self
@@ -29,8 +27,6 @@
, home-manager-unstable , home-manager-unstable
, flake-utils , flake-utils
, sops-nix , sops-nix
, llama-cpp
, nix-matlab
, ... , ...
}: }:
let let
@@ -61,10 +57,6 @@
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"
"/home/eesim/.local/share/Trash"
"/home/eesim/Games"
"/home/eesim/nixpkgs"
]; ];
passphrase = "/home/eesim/.ssh/borgbase_passphrase"; passphrase = "/home/eesim/.ssh/borgbase_passphrase";
key = "/home/eesim/.ssh/id_ed25519_borgbase"; key = "/home/eesim/.ssh/id_ed25519_borgbase";
@@ -80,15 +72,9 @@
}; };
}; };
term = {
terminal = "kitty";
font = "codelia";
};
gui = { gui = {
enable = true; enable = true;
protonmail = true; protonmail = true;
secrets = true;
gtk = false; gtk = false;
sway = { sway = {
@@ -122,7 +108,6 @@
enable = true; enable = true;
lutris.enable = true; lutris.enable = true;
minecraft.enable = true; minecraft.enable = true;
vintagestory.enable = true;
}; };
common.nil.enable = true; common.nil.enable = true;
@@ -172,31 +157,11 @@
citrix = 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; common.nil.enable = true;
networking = { networking = {
wireguard.enable = true; wireguard.enable = true;
}; };
term.terminal = "kitty";
}; };
} }
{ {
@@ -208,22 +173,9 @@
options = { options = {
openssh.enable = true; 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 = { networking = {
firewall = { 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 ]; allowedTCPPorts = [ 80 443 3843 4533 6722 7474 7878 8080 8081 8083 8089 8096 8120 8181 8443 8787 8889 8902 8989 8998 9000 9091 9696 11112 24454 25565 25600 ];
allowedUDPPorts = [ 3478 10001 ]; allowedUDPPorts = [ 3478 10001 ];
}; };
}; };
@@ -238,32 +190,15 @@
pkgs = import nixpkgs { pkgs = import nixpkgs {
inherit system; inherit system;
overlays = with overlays; [ printrun shadps4 nix-matlab.overlay ]; overlays = with overlays; [ printrun llama-cpp citrix ];
config = { config.allowUnfree = true;
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: { localPackages = pkgs.lib.genAttrs flake-utils.lib.defaultSystems (system: {
kickoff-dot-desktop = pkgs.callPackage ./pkgs/kickoff-dot-desktop.nix {}; kickoff-dot-desktop = pkgs.callPackage ./pkgs/kickoff-dot-desktop.nix {};
gamescope-old = pkgs.callPackage ./pkgs/gamescope-old {};
gamescope-dbg = pkgs.callPackage ./pkgs/gamescope-dbg {};
jhelioviewer = pkgs.callPackage ./pkgs/jhelioviewer.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 {};
} }
); );
@@ -283,7 +218,6 @@
specialArgs = { specialArgs = {
inherit localPackages; inherit localPackages;
inherit pkgs; inherit pkgs;
inherit pkgs_stable_tmp;
}; };
modules = [ modules = [
{ {
@@ -302,7 +236,6 @@
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = { home-manager.extraSpecialArgs = {
inherit utils; inherit utils;
inherit localPackages;
systemConfig = config.options; systemConfig = config.options;
}; };

View File

@@ -31,13 +31,6 @@
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

View File

@@ -29,46 +29,11 @@
secrets."wireguard/private" = {}; secrets."wireguard/private" = {};
secrets."wireguard/preshared" = {}; 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; [ environment.systemPackages = with pkgs; [
localPackages.x86_64-linux.jhelioviewer localPackages.x86_64-linux.jhelioviewer
bottles bottles
matlab
discord
wine
matlab-language-server
]; ];
services.printing.enable = false; services.printing.enable = false;
@@ -95,17 +60,18 @@
networking.wg-quick.interfaces = { networking.wg-quick.interfaces = {
wg0 = { wg0 = {
address = [ "10.137.175.3/32" ]; address = [ "10.0.0.2/32" ];
listenPort = 51820; listenPort = 51820;
privateKeyFile = "/run/secrets/wireguard/private"; privateKeyFile = "/run/secrets/wireguard/private";
dns = [ "10.137.175.1" ]; dns = [ "10.0.0.1" ];
autostart = true; autostart = false;
peers = [ peers = [
{ {
publicKey = "sWdXHlBqH+tAgSl0Tqr46sfKvgFN/vMDiuN08HjzaSg="; publicKey = "sWdXHlBqH+tAgSl0Tqr46sfKvgFN/vMDiuN08HjzaSg=";
presharedKeyFile = "/run/secrets/wireguard/preshared";
allowedIPs = [ "0.0.0.0/0" "::/0" ]; allowedIPs = [ "0.0.0.0/0" "::/0" ];
endpoint = "mc.simmer505.com:51820"; endpoint = "jellyfin.simmer505.com:51820";
} }
]; ];
}; };
@@ -120,7 +86,7 @@
# Define a user account. # Define a user account.
users.users.eesim = { users.users.eesim = {
isNormalUser = true; isNormalUser = true;
extraGroups = [ "wheel" "video" "audio" "networkmanager" "cdrom" ]; extraGroups = [ "wheel" "video" "audio" "networkmanager" ];
shell = pkgs.fish; shell = pkgs.fish;
}; };

View File

@@ -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 = []; boot.extraModulePackages = [ config.boot.kernelPackages.broadcom_sta ];
fileSystems."/" = fileSystems."/" =
{ device = "/dev/disk/by-uuid/c9d87455-b02f-465d-8d63-1858dc2164fe"; { device = "/dev/disk/by-uuid/c9d87455-b02f-465d-8d63-1858dc2164fe";

View File

@@ -16,56 +16,15 @@
}; };
}; };
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; [ environment.systemPackages = with pkgs; [
localPackages.x86_64-linux.jhelioviewer localPackages.x86_64-linux.jhelioviewer
printrun
pciutils pciutils
llama-cpp
bottles bottles
inkscape
orca-slicer
qemu
protonvpn-gui
anki
]; ];
services.hardware.openrgb.enable = true; 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; [ hardware.graphics.extraPackages = with pkgs; [
rocmPackages.clr.icd rocmPackages.clr.icd
@@ -96,6 +55,8 @@
# 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;

View File

@@ -38,7 +38,7 @@
}; };
fileSystems."/media" = fileSystems."/media" =
{ device = "10.137.177.10:/volume1/Media"; { device = "192.168.1.100:/volume1/Media";
fsType = "nfs"; fsType = "nfs";
}; };

View File

@@ -1,16 +1,16 @@
source_directories: source_directories:
- /home/eesim/configs/mc-distant-horizons/ - /home/eesim/configs/mc-arcadia
repositories: repositories:
- path: ssh://lxojwl95@lxojwl95.repo.borgbase.com/./repo - path: ssh://fbv1440u@fbv1440u.repo.borgbase.com/./repo
label: "Minecraft-DH borgbase" label: "Minecraft-Arcadia borgbase"
exclude_if_present: exclude_if_present:
- .nobackup - .nobackup
compression: auto,zstd compression: auto,zstd
archive_name_format: '{hostname}-{now:%Y-%m-%d-%H%M%S}' archive_name_format: '{hostname}-{now:%Y-%m-%d-%H%M%S}'
encryption_passcommand: 'cat /run/secrets/mc-dh/repo_password' encryption_passcommand: 'cat /run/secrets/mc-arcadia/repo_password'
keep_hourly: 24 keep_hourly: 24
keep_daily: 7 keep_daily: 7

View File

@@ -20,13 +20,7 @@
defaultSopsFile = ../../secrets/diphda/secrets.yaml; defaultSopsFile = ../../secrets/diphda/secrets.yaml;
age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
secrets."backup/repo_password" = {
owner = "eesim";
};
secrets."mc-arcadia/repo_password" = {}; secrets."mc-arcadia/repo_password" = {};
secrets."mc-dh/repo_password" = {};
secrets."tandoor/secret_key" = { secrets."tandoor/secret_key" = {
owner = "tandoor"; owner = "tandoor";
}; };
@@ -37,8 +31,54 @@
format = "binary"; format = "binary";
sopsFile = ../../secrets/diphda/porkbun.keytab; sopsFile = ../../secrets/diphda/porkbun.keytab;
}; };
secrets."caddy/porkbun_api_key" = {}; };
secrets."caddy/porkbun_secret_key" = {};
systemd.timers."mc-arcadia-backup" = {
wantedBy = [ "timers.target" ];
timerConfig = {
OnCalendar = "*-*-* *:00:00";
Persistent = true;
};
};
systemd.services."mc-arcadia-backup" = {
enable = true;
preStart = ''
${pkgs.docker}/bin/docker exec mc-arcadia-mc-1 mc-send-to-console say Server backup starting in 5 minutes
sleep 5m
'';
postStart = ''
${pkgs.docker}/bin/docker exec mc-arcadia-mc-1 mc-send-to-console say Server backup starting
'';
serviceConfig = {
Type = "oneshot";
User = "root";
ExecStart = ''
systemd-inhibit --who="borgmatic" \
--why="Prevent interrupting scheduled backup" \
${pkgs.borgmatic}/bin/borgmatic -c /etc/nixos/hosts/diphda/mc-arcadia-backup.yaml --verbosity 1 --syslog-verbosity 1
'';
};
};
systemd.services."dl-manager" = {
enable = true;
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
path = [ pkgs.bash pkgs.lftp ];
serviceConfig = {
Type = "simple";
User = "eesim";
Group = "acme";
WorkingDirectory = "/home/eesim/scripts";
ExecStart = ''
/home/eesim/scripts/dl_manager_tokio -vv \
-c /var/lib/acme/download.simmer505.com/cert.pem \
-k /var/lib/acme/download.simmer505.com/key.pem \
--script-dir /home/eesim/scripts/ \
0.0.0.0:11112
'';
};
}; };
systemd.services."qbit-update-port" = { systemd.services."qbit-update-port" = {
@@ -62,6 +102,15 @@
}; };
}; };
security.acme = {
acceptTerms = true;
defaults.email = "eesimmons9105@gmail.com";
certs."download.simmer505.com" = {
dnsProvider = "porkbun";
environmentFile = "${config.sops.secrets."porkbun.keytab".path}";
};
};
# 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;
@@ -79,7 +128,6 @@
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
docker-compose docker-compose
beets-unstable
]; ];
# Set your time zone. # Set your time zone.

View File

@@ -10,9 +10,6 @@ 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>')

View File

@@ -37,8 +37,6 @@ local plugins = {
'Vigemus/iron.nvim', '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"

View File

@@ -14,19 +14,11 @@ iron.setup {
python = { python = {
command = { "python3" }, -- or { "ipython", "--no-autoindent" } command = { "python3" }, -- or { "ipython", "--no-autoindent" }
format = require("iron.fts.common").bracketed_paste_python format = require("iron.fts.common").bracketed_paste_python
},
matlab = {
command = {
"matlab",
"-nosplash",
"-nodesktop"
},
} }
}, },
-- How the repl window will be displayed -- How the repl window will be displayed
-- See below for more information -- See below for more information
repl_open_cmd = require('iron.view').split.vertical.rightbelow("%40"), repl_open_cmd = require('iron.view').bottom(40),
}, },
-- Iron doesn't set keymaps by default anymore. -- Iron doesn't set keymaps by default anymore.
-- You can set them here or manually add keymaps to the functions in iron.core -- You can set them here or manually add keymaps to the functions in iron.core

View File

@@ -24,21 +24,11 @@ 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', 'r_language_server', 'lua_ls', 'nil_ls', 'tinymist'} local default_servers = {'pylsp', 'ccls', 'typst_lsp', 'r_language_server', 'lua_ls', 'nil_ls'}
for _, lsp in ipairs(default_servers) do for _, lsp in ipairs(default_servers) do
lspconfig[lsp].setup { lspconfig[lsp].setup {

View File

@@ -12,6 +12,5 @@
./qt.nix ./qt.nix
./sway.nix ./sway.nix
./gtk.nix ./gtk.nix
./term.nix
]; ];
} }

View File

@@ -18,7 +18,7 @@ in
}; };
iconTheme = { iconTheme = {
name = "awaidta-dark"; name = "awaidta-dark";
package = pkgs.adwaita-icon-theme; package = pkgs.gnome.adwaita-icon-theme;
}; };
theme = { theme = {
name = "adw-gtk3-dark"; name = "adw-gtk3-dark";

View File

@@ -1,6 +1,5 @@
{ lib { lib
, pkgs , pkgs
, localPackages
, config , config
, systemConfig , systemConfig
, utils , utils
@@ -9,7 +8,6 @@
with lib; let with lib; let
gui = config.simmer.gui; gui = config.simmer.gui;
term = config.simmer.term;
laptop = config.simmer.laptop; laptop = config.simmer.laptop;
modifier = "Mod4"; modifier = "Mod4";
in in
@@ -58,7 +56,7 @@ in
"XF86AudioMute" = "exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle"; "XF86AudioMute" = "exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle";
"XF86AudioMicMute" = "exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle"; "XF86AudioMicMute" = "exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle";
"${modifier}+space" = "exec \"kickoff-dot-desktop | ${pkgs.kickoff}/bin/kickoff --from-stdin --stdout | xargs -d '\\n' ${pkgs.sway}/bin/swaymsg exec\""; "${modifier}+space" = "exec \"kickoff-dot-desktop | ${pkgs.kickoff}/bin/kickoff --from-stdin --stdout | xargs -d '\\n' ${pkgs.sway}/bin/swaymsg exec\"";
"${modifier}+Return" = "exec ${term.terminal}"; "${modifier}+Return" = "exec alacritty ";
"${modifier}+Control+f" = "exec MOZ_ENABLE_WAYLAND=1 firefox"; "${modifier}+Control+f" = "exec MOZ_ENABLE_WAYLAND=1 firefox";
"${modifier}+Control+t" = "exec thunar"; "${modifier}+Control+t" = "exec thunar";
"${modifier}+Control+h" = "exec helvum"; "${modifier}+Control+h" = "exec helvum";
@@ -110,11 +108,9 @@ in
"${modifier}+Shift+0" = "move container to workspace 10"; "${modifier}+Shift+0" = "move container to workspace 10";
"${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+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+c" = "reload"; "${modifier}+Shift+c" = "reload";
"${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+s" = "exec ${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp)\" \"/home/eesim/Pictures/$(date +'%s_grim.png')\"";
"${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+q" = "kill"; "${modifier}+Shift+q" = "kill";
"${modifier}+p" = "focus mode_toggle"; "${modifier}+p" = "focus mode_toggle";
"${modifier}+Control+b" = "exec bluetoothctl connect 18:3F:70:62:A5:3C";
"XF86AudioPause" = "exec playerctl play-pause"; "XF86AudioPause" = "exec playerctl play-pause";
"XF86AudioNext" = "exec playerctl next"; "XF86AudioNext" = "exec playerctl next";
"XF86AudioPrev" = "exec playerctl previous"; "XF86AudioPrev" = "exec playerctl previous";
@@ -130,9 +126,8 @@ in
}) })
]; ];
startup = [ startup = []
{ command = "fcitx5 -d"; } ++ optionals gui.sway.desktop [
] ++ 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"; }
@@ -198,7 +193,7 @@ in
input."type:keyboard" = { input."type:keyboard" = {
xkb_layout = "us,de"; xkb_layout = "us,de";
xkb_options = "grp:lctrl_lalt_toggle,lv3:ralt_switch"; xkb_options = "grp:toggle";
}; };
output = gui.monitors; output = gui.monitors;
@@ -214,11 +209,9 @@ 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"; } { criteria = { app_id = "org.speedcrunch."; }; command = "floating enable"; }
]; ];
@@ -257,19 +250,9 @@ in
''; '';
extraSessionCommands = extraSessionCommands = mkIf gui.secrets ''
(if gui.secrets
then ''
eval $(gnome-keyring-daemon --start --components=pkcs11,secrets,ssh); eval $(gnome-keyring-daemon --start --components=pkcs11,secrets,ssh);
export SSH_AUTH_SOCK; 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
''; '';
}; };
}; };

View File

@@ -1,27 +0,0 @@
{ 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;
};
};
}

View File

@@ -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 supersonic ++ optional cfg.music.enable feishin
++ 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;

View File

@@ -41,11 +41,6 @@ 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)"; }
]; ];
}; };
}; };

View File

@@ -9,18 +9,15 @@ with lib; let
in in
{ {
config = mkIf cfg.enable { config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [] environment.systemPackages = with pkgs; with localPackages.x86_64-linux; []
++ 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 ];
}; };
}; };
} }

View File

@@ -24,13 +24,14 @@ 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.seahorse ]; services.dbus.packages = mkIf cfg.secrets [ pkgs.gnome.seahorse ];
# Remove when nixpkgs issue 143365 is fixed # Remove when nixpkgs issue 143365 is fixed
security.pam.services.swaylock = mkIf (!cfg.sway.desktop) {}; security.pam.services.swaylock = mkIf (!cfg.sway.desktop) {};
@@ -40,27 +41,17 @@ in
hardware.opengl.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-sans noto-fonts-cjk
ubuntu-classic noto-fonts-extra
ubuntu_font_family
vazir-fonts vazir-fonts
font-awesome font-awesome
corefonts corefonts
carlito carlito
roboto
source-sans
source-sans-pro
]; ];
fontconfig = { fontconfig = {

View File

@@ -1,24 +1,19 @@
{ lib { lib
, pkgs , pkgs
, config , config
, localPackages
, pkgs_stable_tmp
, ... , ...
}: }:
with lib; let with lib; let
cfg = config.simmer.school; cfg = config.simmer.school;
extraCerts = [ ./incommon-rsa-ca2.pem ]; extraCerts = [ ./incommon-rsa-ca2.pem ];
citrix = pkgs_stable_tmp.citrix_workspace_23_09_0.override { inherit extraCerts; }; citrix = pkgs.citrix_workspace_23_09_0.override { inherit extraCerts; };
in in
{ {
config = mkIf cfg.enable { config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
xournalpp xournalpp
libreoffice libreoffice
] ] ++ optional cfg.citrix citrix;
++ optional cfg.citrix citrix
++ optional cfg.kicad kicad
++ optional cfg.logisim logisim-evolution;
}; };
} }

View File

@@ -16,6 +16,5 @@
./system.nix ./system.nix
./laptop.nix ./laptop.nix
./school.nix ./school.nix
./term.nix
]; ];
} }

View File

@@ -34,24 +34,12 @@ 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;

View File

@@ -33,6 +33,12 @@ 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;

View File

@@ -1,6 +1,5 @@
{ lib { lib
, pkgs , pkgs
, config
, ... , ...
}: }:
@@ -20,15 +19,5 @@ in
type = types.bool; type = types.bool;
default = false; 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;
};
}; };
} }

View File

@@ -1,32 +0,0 @@
{ 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";
};
};
}

View File

@@ -1,8 +1,8 @@
{ inputs, ...}: { inputs, ...}:
{ {
gamescope = import ./gamescope-last-working.nix;
nose = import ./nose.nix; nose = import ./nose.nix;
llama-cpp = import ./llama-cpp.nix { inherit inputs; }; llama-cpp = import ./llama-cpp.nix { inherit inputs; };
printrun = import ./printrun.nix { inherit inputs; }; printrun = import ./printrun.nix { inherit inputs; };
citrix = import ./citrix.nix; citrix = import ./citrix.nix;
shadps4 = import ./shadps4.nix;
} }

View File

@@ -0,0 +1,11 @@
final: prev: {
gamescope = prev.gamescope.overrideAttrs ( old: {
src = prev.fetchFromGitHub {
owner = "ValveSoftware";
repo = "gamescope";
rev = "d0d23c4c3010c81add1bd90cbe478ce4a386e28d";
fetchSubmodules = true;
hash = "sha256-Ym1kl9naAm1MGlxCk32ssvfiOlstHiZPy7Ga8EZegus=";
};
});
}

View File

@@ -1,15 +0,0 @@
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 = [];
});
}

View File

@@ -1,36 +0,0 @@
{ 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;
}

View File

@@ -11,8 +11,7 @@ rustPlatform.buildRustPackage {
hash = "sha256-exMmqOkDKuyAEdda8gG/uF3+tnQzhJnOJK+sEtZbsZc="; hash = "sha256-exMmqOkDKuyAEdda8gG/uF3+tnQzhJnOJK+sEtZbsZc=";
}; };
useFetchCargoVendor = true; cargoHash = "sha256-z3apcltBKNovwo+yOHxvzn53PPefr2lEzkGst25fGsM=";
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";

View File

@@ -1,109 +0,0 @@
{ 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
'';
}

View File

@@ -1,8 +1,6 @@
wireguard: wireguard:
private: ENC[AES256_GCM,data:Vii9We3fJBFCQNfek+fKqzy4jor2mhHz7KZhoWS9fuBbccz/DHPOnpzRhJQ=,iv:eDorsjazLZjIYsL+AP7YHoBY03ByywtmuRAG0KFonu0=,tag:z7b8NiGOgz0CrhFNalK4Qw==,type:str] 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] 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: sops:
kms: [] kms: []
gcp_kms: [] gcp_kms: []
@@ -27,8 +25,8 @@ sops:
R3F6M3dsdXVxSk4va3ptS1JNQ1JSZ2sK7WtQj148lDKG36T6oIL2ASrUY9Q9QwL4 R3F6M3dsdXVxSk4va3ptS1JNQ1JSZ2sK7WtQj148lDKG36T6oIL2ASrUY9Q9QwL4
FiVkiNAvZPddFRYFSg9UhM92mTWLKay3ak+8IzojfsJmy7Aw9aavSA== FiVkiNAvZPddFRYFSg9UhM92mTWLKay3ak+8IzojfsJmy7Aw9aavSA==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2024-11-20T18:20:08Z" lastmodified: "2024-06-24T00:52:56Z"
mac: ENC[AES256_GCM,data:bq1HJC/yvekeqQEjvHZHynlcwwwYY9xRIK6Wp/BGPG3gcN4BaFG8iEgGjQjLIcgi7szsnUnozLYBKe/Na+YmNFS4mLgfn9PxDrMjr3NymO764j2QzXKg4hDnt3qA1HpwZJLZY0l7Mfe6FSovl4X/7x6MWLMDLb1EYys0aBaLnlc=,iv:y5NecMaRVyCWjn3URpJG4EnRkcV2dpitJpzJqEyQbAM=,tag:HVeS/v703EYcro/2cMtb8A==,type:str] mac: ENC[AES256_GCM,data:4eHx1JEmFa9ugyjsJYYvIJ85EYQOsxThKtFzL9Aiw16NOl58B0CNFAwVSL1KryjjmsRxxDQoAFldkfpxzKuERoUPMsRlFXlNgApXqkaH2aJBH2VCFd7jBTvqALXgWv5Gjh8yTD3qySUAeWN8F44HjGg1cx8Poxp5xOPk5VlzyXA=,iv:LrjjSM8hC8ujfXM9W+rgGLo1muDR+CIo1UfnNJcr2TE=,tag:Oosqkn1XnEpnoNH31ghL5w==,type:str]
pgp: [] pgp: []
unencrypted_suffix: _unencrypted unencrypted_suffix: _unencrypted
version: 3.9.1 version: 3.8.1

View File

@@ -6,10 +6,8 @@ tandoor:
mc-dh: mc-dh:
repo_password: ENC[AES256_GCM,data:iD1isjDUlJixMPaiE+bDhhKgzLM=,iv:pf9q2M8wRh7B0quYaezdZ81B/8JtsN7jFj8/00YXzcQ=,tag:f5/KHzsc+B21sF+dE8I2Nw==,type:str] repo_password: ENC[AES256_GCM,data:iD1isjDUlJixMPaiE+bDhhKgzLM=,iv:pf9q2M8wRh7B0quYaezdZ81B/8JtsN7jFj8/00YXzcQ=,tag:f5/KHzsc+B21sF+dE8I2Nw==,type:str]
caddy: caddy:
porkbun_api_key: ENC[AES256_GCM,data:1ILVkhIks0MqMWXsxIol8Nt2OAbNmDQXd49DUhEyIx6jLpzZKe98ha9cZAl0rNmQHcIQjpg4KptXw07l11KXWZf5oZA=,iv:0q/ZLzAGsOsTvJH9Wa7lR+uC/t97HWv6+SdTCRUNNcM=,tag:TzdrBPfV/e0njCSbofR29Q==,type:str] porkbun_api_key: ENC[AES256_GCM,data:5UkeI2g1Q7k2BgCy5egoYrGsD/+yky6WDU7k44pZASyxHrGLthswjDsNnQDeWapu3dHgV74esC1cKJLlq1sYoe1SSj8=,iv:Qu3sgwvRXfYaksP8HpOPpwx+A5C9bdtWmFB40jGg6pM=,tag:ZRhZ4in9YbSbCnulyOmqTw==,type:str]
porkbun_secret_key: ENC[AES256_GCM,data:v7vFKRcZ2JqjNA1vQyROmM9LGLGclzraZB9sqUVfK3iaDJfVlLbAyOxv8TW15navjWRTn6WjxH1iwPlB6b4WWHtuUWs=,iv:4d1K8tTZ/9Gs7nOKjCwcQB0M9E68RFppxPkOQRRSwa8=,tag:6J2pxXP3yy5IK3rDiwTFIQ==,type:str] porkbun_secret_key: ENC[AES256_GCM,data:5sZiwTlfVXBUBZRR25Y/CdapZHo58lkwt/r3rhCa6e0p3AX6J7BUNppL4qI4+wr7L6H0ERBkBtfeOAxyjMVmVsgRJ38=,iv:t+OUaBdfy+KBk+gWl4qnhFE627WTg+gcMXcXUpdMc8w=,tag:61eYqKTiwTOBxqnMqRn+dA==,type:str]
backup:
repo_password: ENC[AES256_GCM,data:v7WGvvpUonAAfCCGqDs+EKUH6Lk=,iv:jE7lainNWLlG+KZspwxW/I/1PXKFtkUWUPDaTK3Rgj0=,tag:dA2ccAXUNC1up4DX4iF7HQ==,type:str]
sops: sops:
kms: [] kms: []
gcp_kms: [] gcp_kms: []
@@ -43,8 +41,8 @@ sops:
eUxTaTJVRlpNNWZodE8yZXpWTlpCWVkKHtJFmHUSNfy46J1BJdOvIRjegQrTWdfH eUxTaTJVRlpNNWZodE8yZXpWTlpCWVkKHtJFmHUSNfy46J1BJdOvIRjegQrTWdfH
KSbKbz7ezBOOPlrR7eDEx2FIjP4TVBRksYq+NYockmKVk+VGsc5pBQ== KSbKbz7ezBOOPlrR7eDEx2FIjP4TVBRksYq+NYockmKVk+VGsc5pBQ==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2025-02-02T03:11:38Z" lastmodified: "2024-10-22T19:33:56Z"
mac: ENC[AES256_GCM,data:Mr5WWzX4hl3SkljEuMy0cl+jgxA9iL4ONXxEmdfS320ucIBKeMWyrmgoO7LxRAT+iQ4kXKTW24yzzLH1flqYxiVvdGvaKisfao7GSkeuF+9YeM+xFev0aspxOK5p7/EYbvnE5cMM81VVhXm+gX9ywxh8r0eqG68SQK8FIP556TM=,iv:AsYcYrMdwo4zuY5G12P47P1537lydofIt/zuPQo/9Ls=,tag:EKs6kyofkiWuF+uqoQscWA==,type:str] mac: ENC[AES256_GCM,data:XaWrqy8GTvvc9b+pvqEKc0Pnai5THfeFg+OEyWbzcxPyNFPKD54kWUWm8t0PGntyWM/G8j/Ar36jnnoprInNyy/g7HuAPCNUojdFUFgvTST1TJqSbLprUJ/buCjbph38xWXCxDNxAycv0TdTHfT+q5laCEv1mNkcv4ZPJ0vJq7A=,iv:xROcRftKIIXkU6TBG5U72fF7F4VTbapqudJIcka0BLo=,tag:PbRoRKW1W8KBZD/GuaKi2w==,type:str]
pgp: [] pgp: []
unencrypted_suffix: _unencrypted unencrypted_suffix: _unencrypted
version: 3.9.3 version: 3.9.1

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long