Compare commits
19 Commits
panam
...
90113aa08e
| Author | SHA1 | Date | |
|---|---|---|---|
| 90113aa08e | |||
| 96a283f505 | |||
| d5ac189e66 | |||
| 233f3341bf | |||
| 866bd86ea3 | |||
| 35e4745ec0 | |||
| f169c425ef | |||
| f01eb7d39c | |||
| 49f4498fa4 | |||
| 86516997ec | |||
| aeafa5bbe9 | |||
| b65bc1696b | |||
| 1ce125327d | |||
| 66cca6bc2f | |||
| 087a160601 | |||
| 7ba91ab1a4 | |||
| fceb70c5e5 | |||
| c344e97678 | |||
| 6fbb14e637 |
@@ -1,3 +1,3 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
nixos-rebuild switch --fast --flake .#condoserver --target-host root@192.168.86.21 --build-host root@192.168.86.21
|
||||
nixos-rebuild switch --fast --flake .#condoserver --target-host root@condoserver.room409.wg.test --build-host root@condoserver.room409.wg.test
|
||||
|
||||
Generated
+8
-40
@@ -4,15 +4,14 @@
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"utils": "utils"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1676367705,
|
||||
"narHash": "sha256-un5UbRat9TwruyImtwUGcKF823rCEp4fQxnsaLFL7CM=",
|
||||
"lastModified": 1694643239,
|
||||
"narHash": "sha256-pv2k/5FvyirDE8g4TNehzwZ0T4UOMMmqWSQnM/luRtE=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "da72e6fc6b7dc0c3f94edbd310aae7cd95c678b5",
|
||||
"rev": "d9b88b43524db1591fb3d9410a21428198d75d49",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -23,11 +22,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1676569297,
|
||||
"narHash": "sha256-2n4C4H3/U+3YbDrQB6xIw7AaLdFISCCFwOkcETAigqU=",
|
||||
"lastModified": 1694767346,
|
||||
"narHash": "sha256-5uH27SiVFUwsTsqC5rs3kS7pBoNhtoy9QfTP9BmknGk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "ac1f5b72a9e95873d1de0233fddcb56f99884b37",
|
||||
"rev": "ace5093e36ab1e95cb9463863491bee90d5a4183",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -39,38 +38,7 @@
|
||||
"root": {
|
||||
"inputs": {
|
||||
"home-manager": "home-manager",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"vps_nixpkgs": "vps_nixpkgs"
|
||||
}
|
||||
},
|
||||
"utils": {
|
||||
"locked": {
|
||||
"lastModified": 1667395993,
|
||||
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"vps_nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1673410828,
|
||||
"narHash": "sha256-xAggTjXt7iqOe4lNRtq+B31cjxchvJOr9zIJJ4JmfY8=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "9852294f15c380cd61fd441538982426f8ee8ccc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"ref": "master",
|
||||
"type": "indirect"
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -3,14 +3,13 @@
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "nixpkgs/nixos-unstable";
|
||||
vps_nixpkgs.url = "nixpkgs/master";
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, vps_nixpkgs, home-manager }@attrs:
|
||||
outputs = { self, nixpkgs, home-manager }@attrs:
|
||||
let
|
||||
system = "x86_64-linux";
|
||||
homeManagerSharedModule = {
|
||||
@@ -26,7 +25,32 @@
|
||||
# changes in each release.
|
||||
home.stateVersion = "22.11";
|
||||
|
||||
home.packages = with pkgs; [ ];
|
||||
fonts.fontconfig.enable = true;
|
||||
home.packages = with pkgs; [ fira-code jetbrains-mono iosevka monoid recursive ];
|
||||
|
||||
systemd.user.services.mpris-proxy = {
|
||||
Unit.Description = "Mpris proxy";
|
||||
Unit.After = [ "network.target" "sound.target" ];
|
||||
Service.ExecStart = "${pkgs.bluez}/bin/mpris-proxy";
|
||||
Install.WantedBy = [ "default.target" ];
|
||||
};
|
||||
|
||||
programs.foot = {
|
||||
enable = true;
|
||||
settings = {
|
||||
main = {
|
||||
#font = "Fira Code:size=8";
|
||||
#font = "JetBrainsMono:size=8";
|
||||
#font = "Iosevka:size=8";
|
||||
#font = "Monoid:size=6";
|
||||
font = "Recursive:size=8";
|
||||
#dpi-aware = "yes";
|
||||
};
|
||||
mouse = {
|
||||
hide-when-typing = "yes";
|
||||
};
|
||||
};
|
||||
};
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
@@ -212,8 +236,8 @@
|
||||
shell = "/run/current-system/sw/bin/bash";
|
||||
};
|
||||
|
||||
# testing
|
||||
services.jellyfin.enable = false;
|
||||
#fonts.fonts = with pkgs; [ fira-code jetbrains-mono iosevka ];
|
||||
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
@@ -226,6 +250,8 @@
|
||||
extraPortals = [pkgs.xdg-desktop-portal-gtk ];
|
||||
gtkUsePortal = true;
|
||||
};
|
||||
|
||||
hardware.bluetooth.enable = true;
|
||||
services.blueman.enable = true;
|
||||
|
||||
services.printing.enable = true;
|
||||
@@ -256,11 +282,11 @@
|
||||
hardware.opengl.driSupport32Bit = true;
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
tmux vim wget curl git w3m iftop iotop killall file unzip zip ripgrep imv killall gomuks htop
|
||||
firefox-wayland chromium gnome.nautilus
|
||||
vlc steam calibre foliate transmission-gtk mupdf
|
||||
tmux vim wget curl git w3m iftop iotop killall file unzip zip ripgrep imv killall gomuks htop python3
|
||||
waypipe firefox-wayland chromium gnome.nautilus
|
||||
vlc steam libreoffice calibre foliate transmission-gtk mupdf
|
||||
gimp
|
||||
foot pavucontrol pywal
|
||||
pavucontrol pywal
|
||||
sway wayland glib dracula-theme gnome.adwaita-icon-theme swaylock swayidle wl-clipboard
|
||||
(pkgs.writeTextFile {
|
||||
name = "dbus-sway-environment";
|
||||
@@ -321,7 +347,7 @@
|
||||
modules = [
|
||||
home-manager.nixosModules.home-manager
|
||||
homeManagerSharedModule
|
||||
({ config, lib, pkgs, modulesPath, ... }@innerArgs: (lib.recursiveUpdate (commonConfigFunc innerArgs [ pkgs.light ]) {
|
||||
({ config, lib, pkgs, modulesPath, ... }@innerArgs: (lib.recursiveUpdate (commonConfigFunc innerArgs [ pkgs.light pkgs.gpodder pkgs.evince ]) {
|
||||
# HARDWARE
|
||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||
|
||||
@@ -333,7 +359,6 @@
|
||||
fileSystems."/" = { device = "/dev/disk/by-uuid/ae8e4a92-53dd-49b5-bf3a-aeb9a109c01e"; fsType = "ext4"; };
|
||||
fileSystems."/boot" = { device = "/dev/disk/by-uuid/28E9-0409"; fsType = "vfat"; };
|
||||
swapDevices = [ ];
|
||||
nix.maxJobs = lib.mkDefault 16;
|
||||
# END HARDWARE
|
||||
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
@@ -348,22 +373,6 @@
|
||||
networking.useDHCP = false;
|
||||
networking.interfaces.eno1.useDHCP = true;
|
||||
networking.interfaces.wlp1s0.useDHCP = true;
|
||||
networking.wireguard.interfaces = {
|
||||
wg0 = {
|
||||
ips = [ "10.100.0.7/24" ];
|
||||
privateKeyFile = "/home/nathan/wireguard-keys/private";
|
||||
peers = [
|
||||
{
|
||||
publicKey = "WXx7XXJzerPJBPMTvZ454iQhx5Q5bFvBgF6NsPPX9nk=";
|
||||
allowedIPs = [ "10.100.0.0/24" ];
|
||||
#allowedIPs = [ "0.0.0.0/0" ];
|
||||
## Then sudo ip route add 104.238.179.164 via 10.0.0.1 dev enp30s0
|
||||
endpoint = "104.238.179.164:51820";
|
||||
persistentKeepalive = 25;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
system.stateVersion = "20.03";
|
||||
}))
|
||||
];
|
||||
@@ -384,7 +393,9 @@
|
||||
boot.supportedFilesystems = [ "ntfs" ];
|
||||
fileSystems."/" = { device = "/dev/disk/by-uuid/163c1731-2f66-436b-a74f-20f84ec628dd"; fsType = "ext4"; };
|
||||
fileSystems."/boot" = { device = "/dev/disk/by-uuid/9C44-5411"; fsType = "vfat"; };
|
||||
fileSystems."/reborn" = { device = "/dev/disk/by-label/reborn"; fsType = "ext4"; };
|
||||
#fileSystems."/big_disk" = { device = "/dev/disk/by-uuid/B610D69310D65A47"; fsType = "ntfs3"; options = ["rw" "uid=1000"]; };
|
||||
#fileSystems."/big_disk" = { device = "/dev/sdb1"; fsType = "ntfs3"; options = ["rw" "uid=1000"]; };
|
||||
swapDevices = [ ];
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
@@ -395,6 +406,8 @@
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
networking.hostName = "nixos-desktop"; # Define your hostname.
|
||||
system.stateVersion = "22.11";
|
||||
|
||||
services.jellyfin.enable = true;
|
||||
}))
|
||||
];
|
||||
};
|
||||
@@ -415,21 +428,20 @@
|
||||
swapDevices = [ { device = "/dev/disk/by-uuid/20cc65f9-f35e-419a-b00f-252cd576b2ce"; } ];
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
# high-resolution display
|
||||
hardware.video.hidpi.enable = lib.mkDefault true;
|
||||
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
# don't suspend on lid close
|
||||
services.logind.lidSwitch = "ignore";
|
||||
services.glusterfs.enable = true;
|
||||
networking.hostName = "condoserver"; # Define your hostname.
|
||||
|
||||
system.stateVersion = "22.11"; # Did you read the comment?
|
||||
}))
|
||||
];
|
||||
};
|
||||
nixosConfigurations.vps = vps_nixpkgs.lib.nixosSystem {
|
||||
nixosConfigurations.vps = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
specialArgs = attrs;
|
||||
modules = [
|
||||
@@ -442,7 +454,6 @@
|
||||
{ device = "/dev/disk/by-uuid/b9470789-6d82-4ad4-9a4a-7e19b8fcc8dc";
|
||||
fsType = "ext4";
|
||||
};
|
||||
nix.maxJobs = lib.mkDefault 1;
|
||||
# END HARDWARE
|
||||
|
||||
nix.gc.automatic = true;
|
||||
@@ -463,11 +474,19 @@
|
||||
python-olm pycryptodome unpaddedbase64
|
||||
]);
|
||||
});
|
||||
|
||||
#lemmy-server = super.lemmy-server.overrideAttrs (old: {
|
||||
# patches = (old.patches or []) ++ [(super.fetchpatch {
|
||||
# name = "fix-db-migrations.patch";
|
||||
# url = "https://gist.githubusercontent.com/matejc/9be474fa581c1a29592877ede461f1f2/raw/83886917153fcba127b43d9a94a49b3d90e635b3/fix-db-migrations.patch";
|
||||
# hash = "sha256-BvoA4K9v84n60lG96j1+91e8/ERn9WlVTGk4Z6Fj4iA=";
|
||||
# })];
|
||||
#});
|
||||
|
||||
}) ];
|
||||
|
||||
# Use the GRUB 2 boot loader.
|
||||
boot.loader.grub.enable = true;
|
||||
boot.loader.grub.version = 2;
|
||||
boot.loader.grub.device = "/dev/vda"; # or "nodev" for efi only
|
||||
|
||||
swapDevices = [{
|
||||
@@ -484,8 +503,8 @@
|
||||
networking.firewall = {
|
||||
#allowedTCPPorts = [ 22 80 443 3478 3479 ];
|
||||
#allowedUDPPorts = [ 22 80 443 5349 5350 51820 ];
|
||||
allowedTCPPorts = [ 22 80 443 ];
|
||||
allowedUDPPorts = [ 22 80 443 51820 ];
|
||||
allowedTCPPorts = [ 22 80 443 30000 ]; #30000 is minetest
|
||||
allowedUDPPorts = [ 22 80 443 51820 30000 ];
|
||||
#extraCommands = ''
|
||||
# iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
|
||||
#'';
|
||||
@@ -525,9 +544,11 @@
|
||||
#};
|
||||
|
||||
services.openssh.enable = true;
|
||||
services.openssh.passwordAuthentication = false;
|
||||
services.openssh.kbdInteractiveAuthentication = false;
|
||||
services.openssh.permitRootLogin = "prohibit-password";
|
||||
services.openssh.settings = {
|
||||
PasswordAuthentication = false;
|
||||
KbdInteractiveAuthentication = false;
|
||||
PermitRootLogin = "prohibit-password";
|
||||
};
|
||||
|
||||
services.mastodon = {
|
||||
enable = true;
|
||||
@@ -568,6 +589,7 @@
|
||||
public_baseurl = "https://synapse.room409.xyz/";
|
||||
|
||||
enable_registration = false;
|
||||
#enable_registration_without_verification = true;
|
||||
#registration_shared_secret = null;
|
||||
database.name = "psycopg2";
|
||||
url_preview_enabled = true;
|
||||
@@ -595,13 +617,26 @@
|
||||
|
||||
services.gitea = {
|
||||
enable = true;
|
||||
disableRegistration = true;
|
||||
settings.service.DISABLE_REGISTRATION = true;
|
||||
appName = "Room409.xyz Forge";
|
||||
domain = "forge.room409.xyz";
|
||||
rootUrl = "https://forge.room409.xyz/";
|
||||
httpPort = 3001;
|
||||
settings.server = {
|
||||
DOMAIN = "forge.room409.xyz";
|
||||
ROOT_URL = "https://forge.room409.xyz/";
|
||||
HTTP_PORT = 3001;
|
||||
};
|
||||
};
|
||||
|
||||
#systemd.services.lemmy.environment.RUST_BACKTRACE = "full";
|
||||
#systemd.services.lemmy.environment.LEMMY_DATABASE_URL = pkgs.lib.mkForce "postgres:///lemmy?host=/run/postgresql&user=lemmy";
|
||||
#services.lemmy = {
|
||||
# enable = true;
|
||||
# database.createLocally = true;
|
||||
# settings = {
|
||||
# hostname = "lemmy.room409.xyz";
|
||||
# };
|
||||
# nginx.enable = true;
|
||||
#};
|
||||
|
||||
services.postgresql = {
|
||||
enable = true;
|
||||
# postgresql user and db name in the service.matrix-synapse.databse_args setting is default
|
||||
@@ -618,13 +653,23 @@
|
||||
enable = true;
|
||||
address = "0.0.0.0";
|
||||
port = 8789;
|
||||
serverUrl = "https://headscale.room409.xyz";
|
||||
dns.baseDomain = "wg.test";
|
||||
settings.serverUrl = "https://headscale.room409.xyz";
|
||||
settings.dns_config.baseDomain = "wg.test";
|
||||
settings.logtail.enabled = false;
|
||||
};
|
||||
|
||||
security.acme.email = "miloignis@gmail.com";
|
||||
security.acme.acceptTerms = true;
|
||||
services.ttyd = {
|
||||
enable = true;
|
||||
port = 9134;
|
||||
username = "miloignis";
|
||||
passwordFile = /var/lib/ttyd/secrets;
|
||||
clientOptions.fontFamily="Recursive";
|
||||
};
|
||||
|
||||
security.acme = {
|
||||
acceptTerms = true;
|
||||
defaults.email = "miloignis@gmail.com";
|
||||
};
|
||||
services.nginx = {
|
||||
enable = true;
|
||||
recommendedGzipSettings = true;
|
||||
@@ -641,6 +686,12 @@
|
||||
};
|
||||
};
|
||||
|
||||
## the rest is defined by the lemmy service
|
||||
#virtualHosts."lemmy.room409.xyz" = {
|
||||
# forceSSL = true;
|
||||
# enableACME = true;
|
||||
#};
|
||||
|
||||
virtualHosts."forge.room409.xyz" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
@@ -690,6 +741,25 @@
|
||||
enableACME = true;
|
||||
root = "/var/www/faint.room409.xyz";
|
||||
};
|
||||
virtualHosts."shell.room409.xyz" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://localhost:9134";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
virtualHosts."drop.room409.xyz" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://localhost:9009";
|
||||
proxyWebsockets = true;
|
||||
extraConfig = ''
|
||||
client_max_body_size 500M;
|
||||
'';
|
||||
};
|
||||
};
|
||||
#virtualHosts."www.kraken-lang.org" = {
|
||||
# forceSSL = true;
|
||||
# enableACME = true;
|
||||
@@ -815,6 +885,7 @@
|
||||
iftop ripgrep
|
||||
config.services.headscale.package
|
||||
#wireguard
|
||||
droopy
|
||||
];
|
||||
users.extraUsers.nathan = {
|
||||
name = "nathan";
|
||||
|
||||
Reference in New Issue
Block a user