Compare commits
23
Commits
569e753bb9
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7ccd4e15da | ||
|
|
3490817248 | ||
|
|
148640bb2a | ||
|
|
ba44c1bc08 | ||
|
|
4d3a006bfd | ||
|
|
491d6adc91 | ||
|
|
8e0c80c3b0 | ||
|
|
b23dbf47b3 | ||
|
|
eac355b345 | ||
|
|
49c73c9139 | ||
|
|
4319f158ff | ||
|
|
9a2939d652 | ||
|
|
5cb7962371 | ||
|
|
de75a0fdbd | ||
|
|
34ba6d636c | ||
|
|
dcacdc457c | ||
|
|
0ee096cc68 | ||
|
|
23769c139f | ||
|
|
7c68d3e0d3 | ||
|
|
8fd41b9360 | ||
|
|
a29b3994a3 | ||
|
|
ca2854e432 | ||
|
|
e47856a88a |
@@ -0,0 +1,2 @@
|
|||||||
|
*.env
|
||||||
|
.gitea-actions-runner-token
|
||||||
@@ -11,6 +11,7 @@
|
|||||||
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
|
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
|
||||||
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
|
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
|
||||||
localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
|
localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
|
||||||
|
gamescopeSession.enable = true;
|
||||||
};
|
};
|
||||||
programs.neovim = {
|
programs.neovim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -56,7 +57,10 @@
|
|||||||
LC_TIME = "en_US.UTF-8";
|
LC_TIME = "en_US.UTF-8";
|
||||||
};
|
};
|
||||||
|
|
||||||
virtualisation.docker.enable = true;
|
virtualisation.docker = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.docker_29;
|
||||||
|
};
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
@@ -161,7 +165,7 @@
|
|||||||
};
|
};
|
||||||
programs.vscode = { # Configure vscodium
|
programs.vscode = { # Configure vscodium
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.vscodium;
|
package = inputs.nixpkgs-unstable.legacyPackages.${pkgs.system}.vscodium; # i just want the vscode-dark-2026 theme
|
||||||
mutableExtensionsDir = true; # Keep theme updated
|
mutableExtensionsDir = true; # Keep theme updated
|
||||||
profiles.default.extensions = with pkgs.vscode-extensions; [
|
profiles.default.extensions = with pkgs.vscode-extensions; [
|
||||||
jnoortheen.nix-ide # NIX syntax highlighting. Also uses nixfmt package
|
jnoortheen.nix-ide # NIX syntax highlighting. Also uses nixfmt package
|
||||||
@@ -172,18 +176,18 @@
|
|||||||
tekumara.typos-vscode # spellcheck
|
tekumara.typos-vscode # spellcheck
|
||||||
bierner.markdown-mermaid # mermaid
|
bierner.markdown-mermaid # mermaid
|
||||||
] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
|
] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
|
||||||
{
|
# {
|
||||||
name = "skillavid-pure-black";
|
# name = "skillavid-pure-black";
|
||||||
publisher = "redwan-hossain";
|
# publisher = "redwan-hossain";
|
||||||
version = "5.0.0";
|
# version = "5.0.0";
|
||||||
sha256 = "sha256-/gLvhw0XcUb6Jch/LZ4k7xpSS9wdYWVf5u7uvOHS+i8=";
|
# sha256 = "sha256-/gLvhw0XcUb6Jch/LZ4k7xpSS9wdYWVf5u7uvOHS+i8=";
|
||||||
}
|
# }
|
||||||
{
|
# {
|
||||||
name = "remote-ssh-edit";
|
# name = "remote-ssh-edit";
|
||||||
publisher = "ms-vscode-remote";
|
# publisher = "ms-vscode-remote";
|
||||||
version = "0.47.2";
|
# version = "0.47.2";
|
||||||
sha256 = "1hp6gjh4xp2m1xlm1jsdzxw9d8frkiidhph6nvl24d0h8z34w49g";
|
# sha256 = "1hp6gjh4xp2m1xlm1jsdzxw9d8frkiidhph6nvl24d0h8z34w49g";
|
||||||
}
|
# }
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -204,11 +208,9 @@
|
|||||||
# godot # 4.5.1 for now
|
# godot # 4.5.1 for now
|
||||||
inputs.nixpkgs-unstable.legacyPackages.${pkgs.system}.godot_4
|
inputs.nixpkgs-unstable.legacyPackages.${pkgs.system}.godot_4
|
||||||
inputs.nixpkgs-unstable.legacyPackages.${pkgs.system}.typst # bleeding edge html exports for typst
|
inputs.nixpkgs-unstable.legacyPackages.${pkgs.system}.typst # bleeding edge html exports for typst
|
||||||
tinymist # typst previews
|
inputs.nixpkgs-unstable.legacyPackages.${pkgs.system}.tinymist # typst previews
|
||||||
nextcloud-client
|
nextcloud-client
|
||||||
steam
|
|
||||||
signal-desktop
|
signal-desktop
|
||||||
docker
|
|
||||||
# swaybg # wallpaper
|
# swaybg # wallpaper
|
||||||
nixfmt # nix file formatting
|
nixfmt # nix file formatting
|
||||||
openrgb # RGB editor
|
openrgb # RGB editor
|
||||||
@@ -224,6 +226,7 @@
|
|||||||
patchelf # make programs understand nix. good for downloaded executables such as crackmes
|
patchelf # make programs understand nix. good for downloaded executables such as crackmes
|
||||||
starsector # support indie games!
|
starsector # support indie games!
|
||||||
htop
|
htop
|
||||||
|
ripgrep
|
||||||
mullvad-vpn # arrr
|
mullvad-vpn # arrr
|
||||||
qbittorrent # arrr
|
qbittorrent # arrr
|
||||||
mpv # arrr
|
mpv # arrr
|
||||||
@@ -235,6 +238,7 @@
|
|||||||
wireguard-tools
|
wireguard-tools
|
||||||
blender # drone
|
blender # drone
|
||||||
gnumake # make & makefile
|
gnumake # make & makefile
|
||||||
|
thunderbird
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -248,7 +252,6 @@
|
|||||||
libnotify
|
libnotify
|
||||||
rofi
|
rofi
|
||||||
alacritty
|
alacritty
|
||||||
vscodium
|
|
||||||
ncdu
|
ncdu
|
||||||
nmap
|
nmap
|
||||||
kitty
|
kitty
|
||||||
@@ -262,10 +265,11 @@
|
|||||||
xwayland-satellite # xwayland support
|
xwayland-satellite # xwayland support
|
||||||
fuzzel # menu
|
fuzzel # menu
|
||||||
networkmanagerapplet
|
networkmanagerapplet
|
||||||
|
|
||||||
wireless-regdb
|
wireless-regdb
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
fonts.packages = [ pkgs.nerd-fonts.jetbrains-mono ];
|
fonts.packages = [ pkgs.nerd-fonts.jetbrains-mono ];
|
||||||
|
|
||||||
programs.niri.enable = false;
|
programs.niri.enable = false;
|
||||||
@@ -368,6 +372,9 @@
|
|||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [2121];
|
networking.firewall.allowedTCPPorts = [2121];
|
||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
|
networking.extraHosts = ''
|
||||||
|
10.0.1.51 freeipa.bsidestoctf.com
|
||||||
|
'';
|
||||||
programs.nm-applet.enable = true;
|
programs.nm-applet.enable = true;
|
||||||
|
|
||||||
# Binaries auto linked
|
# Binaries auto linked
|
||||||
Generated
+9
-9
@@ -7,11 +7,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1778606796,
|
"lastModified": 1779506708,
|
||||||
"narHash": "sha256-P2krpSkFVYJ89bgsnAZ9RtQiGwiTW77sfSJp9SEDscM=",
|
"narHash": "sha256-QOD/CNm196nCJRheux/URi4/HE66fthdOMqCJoPP1Y0=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "e1fd7350f4410972bcb8c42a697d8c924ffe642a",
|
"rev": "3ee51fbdac8c8bdfe1e7e1fcaba6520a563f394f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -23,11 +23,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1778430510,
|
"lastModified": 1782847189,
|
||||||
"narHash": "sha256-Ti+ZBvW6yrWWAg2szExVTwCd4qOJ3KlVr1tFHfyfi8Q=",
|
"narHash": "sha256-twXPFqFsrrY5r28Zh7Homgcp2gUMBgQ6WDS98Q/3xFI=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "8fd9daa3db09ced9700431c5b7ad0e8ba199b575",
|
"rev": "b6018f87da91d19d0ab4cf979885689b469cdd41",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -39,11 +39,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1785090369,
|
"lastModified": 1787498568,
|
||||||
"narHash": "sha256-m0pDuRJG7EDo9ri+4Ksu83VsI+PlxNC9lNBfydejce4=",
|
"narHash": "sha256-9i/VTdusq/+NM/tz+J1Re+ojkMB8MBf0QshnYfzHz30=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "624af665418d3c65d544145b4d34ad696439570e",
|
"rev": "56c02bc00adcf003215cc4bd996d6efaf4cff188",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -18,8 +18,9 @@
|
|||||||
nixosConfigurations."alien" = nixpkgs.lib.nixosSystem {
|
nixosConfigurations."alien" = nixpkgs.lib.nixosSystem {
|
||||||
specialArgs = { inherit inputs; };
|
specialArgs = { inherit inputs; };
|
||||||
modules = [
|
modules = [
|
||||||
./default-configuration.nix
|
./client-configuration.nix
|
||||||
./alien-hardware-configuration.nix
|
./alien-hardware-configuration.nix
|
||||||
|
./shared-configuration.nix
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
{
|
{
|
||||||
nixpkgs.overlays = [
|
nixpkgs.overlays = [
|
||||||
@@ -33,8 +34,9 @@
|
|||||||
nixosConfigurations."thinkpad" = nixpkgs.lib.nixosSystem {
|
nixosConfigurations."thinkpad" = nixpkgs.lib.nixosSystem {
|
||||||
specialArgs = { inherit inputs; };
|
specialArgs = { inherit inputs; };
|
||||||
modules = [
|
modules = [
|
||||||
./default-configuration.nix
|
./client-configuration.nix
|
||||||
./thinkpad-hardware-configuration.nix
|
./thinkpad-hardware-configuration.nix
|
||||||
|
./shared-configuration.nix
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
{
|
{
|
||||||
nixpkgs.overlays = [
|
nixpkgs.overlays = [
|
||||||
@@ -45,5 +47,21 @@
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
nixosConfigurations."predator" = nixpkgs.lib.nixosSystem {
|
||||||
|
specialArgs = { inherit inputs; };
|
||||||
|
modules = [
|
||||||
|
./server-configuration.nix
|
||||||
|
./predator-hardware-configuration.nix
|
||||||
|
./shared-configuration.nix
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
|
{
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
(final: prev: {
|
||||||
|
ollama = nixpkgs-unstable.legacyPackages.${prev.system}.ollama;
|
||||||
|
})
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
networking.hostName = "predator";
|
||||||
|
services.logind.lidSwitch = "ignore";
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/f4c64434-432c-436b-85b5-168350b33724";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/9566-B0E9";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [ "fmask=0022" "dmask=0022" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
||||||
@@ -0,0 +1,123 @@
|
|||||||
|
{ config, lib, pkgs, inputs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [];
|
||||||
|
# Use the systemd-boot EFI boot loader.
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
|
||||||
|
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||||
|
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
networking.firewall.allowedTCPPorts = [22 42069 9876];
|
||||||
|
services.openssh = {
|
||||||
|
enable = true;
|
||||||
|
ports = [22];
|
||||||
|
settings.X11Forwarding = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.miniflux = {
|
||||||
|
enable = true;
|
||||||
|
createDatabaseLocally = true;
|
||||||
|
adminCredentialsFile = "/etc/miniflux.env";
|
||||||
|
config = {
|
||||||
|
LISTEN_ADDR = "0.0.0.0:9876";
|
||||||
|
BASE_URL = "https://reader.janel.la";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services."gitea-runner-homelab".serviceConfig = {
|
||||||
|
ReadWritePaths = [ "/servers/site" ];
|
||||||
|
DynamicUser = lib.mkForce false;
|
||||||
|
User = lib.mkForce "gitea-runner";
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.binsh = "${pkgs.bash}/bin/bash";
|
||||||
|
services.gitea-actions-runner.instances."homelab" = {
|
||||||
|
enable = true;
|
||||||
|
url = "https://git.janel.la";
|
||||||
|
tokenFile = "/servers/gitea/runner-token";
|
||||||
|
name = "predator";
|
||||||
|
labels = [ "homelab:host" "nixos:host" "predator:host" ];
|
||||||
|
settings = {
|
||||||
|
container.network = "host";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
time.timeZone = "America/Toronto";
|
||||||
|
|
||||||
|
virtualisation.docker = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.docker_29;
|
||||||
|
};
|
||||||
|
|
||||||
|
home-manager = {
|
||||||
|
useGlobalPkgs = true;
|
||||||
|
useUserPackages = true;
|
||||||
|
backupFileExtension = "not-nix"; # Add this line
|
||||||
|
users.jeremy = { pkgs, ... }: {
|
||||||
|
home.stateVersion = "25.11";
|
||||||
|
programs.neovim = { # Configure nvim
|
||||||
|
enable = true;
|
||||||
|
extraConfig = ''
|
||||||
|
set number relativenumber
|
||||||
|
set tabstop=2
|
||||||
|
set softtabstop=2
|
||||||
|
set shiftwidth=2
|
||||||
|
set expandtab
|
||||||
|
set cc=80
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
users.users.jeremy = {
|
||||||
|
isNormalUser = true;
|
||||||
|
extraGroups = [ "wheel" "docker" "networkmanager" ];
|
||||||
|
shell = pkgs.bash;
|
||||||
|
home = "/home/jeremy";
|
||||||
|
createHome = true;
|
||||||
|
packages = with pkgs; [
|
||||||
|
nixfmt # nix file formatting
|
||||||
|
direnv # develop projects in custom environments
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
users.users.gitea-runner = {
|
||||||
|
isSystemUser = true;
|
||||||
|
group = "gitea-runner";
|
||||||
|
};
|
||||||
|
users.groups.gitea-runner = {};
|
||||||
|
|
||||||
|
# Use https://search.nixos.org/ to find more packages (and options).
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
gcc
|
||||||
|
htop
|
||||||
|
neovim
|
||||||
|
wget
|
||||||
|
ncdu
|
||||||
|
nmap
|
||||||
|
git
|
||||||
|
unzip
|
||||||
|
bluez # Bluetooth support
|
||||||
|
bluez-tools # Bluetooth tools
|
||||||
|
polkit_gnome
|
||||||
|
usbutils # for lsusb
|
||||||
|
networkmanagerapplet
|
||||||
|
wireguard-tools
|
||||||
|
inputs.nixpkgs-unstable.legacyPackages.${pkgs.system}.typst # bleeding edge html exports for typst
|
||||||
|
];
|
||||||
|
|
||||||
|
environment.sessionVariables = {
|
||||||
|
SUDO_EDITOR = "nvim";
|
||||||
|
};
|
||||||
|
|
||||||
|
hardware.bluetooth = {
|
||||||
|
enable = true;
|
||||||
|
powerOnBoot = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
system.stateVersion = "25.11";
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
{ config, lib, pkgs, inputs, ... }:
|
||||||
|
{
|
||||||
|
programs.ssh.extraConfig = ''
|
||||||
|
Host scinet
|
||||||
|
HostName teach.scinet.utoronto.ca
|
||||||
|
User lcl_uotcscd60s2180
|
||||||
|
ForwardX11 yes
|
||||||
|
ForwardX11Trusted yes
|
||||||
|
IdentityFile ~/.ssh/id_ed25519.pub
|
||||||
|
|
||||||
|
Host node
|
||||||
|
Hostname janel.la
|
||||||
|
User jeremy
|
||||||
|
ForwardX11Trusted yes
|
||||||
|
IdentityFile ~/.ssh/id_ed25519.pub
|
||||||
|
|
||||||
|
Host predator
|
||||||
|
Hostname 10.8.0.4
|
||||||
|
User jeremy
|
||||||
|
ForwardX11Trusted yes
|
||||||
|
ProxyJump node
|
||||||
|
|
||||||
|
Host mathlab
|
||||||
|
Hostname mathlab.utsc.utoronto.ca
|
||||||
|
User janellaj
|
||||||
|
ForwardX11 yes
|
||||||
|
ForwardX11Trusted yes
|
||||||
|
IdentityFile ~/.ssh/id_ed25519.pub
|
||||||
|
|
||||||
|
Host lab
|
||||||
|
Hostname it-ia3160-01.utsc-labs.utoronto.ca
|
||||||
|
User janellaj
|
||||||
|
ForwardX11 yes
|
||||||
|
ForwardX11Trusted yes
|
||||||
|
IdentityFile ~/.ssh/id_ed25519.pub
|
||||||
|
ProxyJump mathlab
|
||||||
|
'';
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user