Compare commits
43
Commits
962a0ad527
...
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 | ||
|
|
569e753bb9 | ||
|
|
9dcacd63ad | ||
|
|
c4c4f61b36 | ||
|
|
2981bbacad | ||
|
|
8c80db59cf | ||
|
|
4ee2e727a2 | ||
|
|
9609e157ea | ||
|
|
a6c11c5ca4 | ||
|
|
70773fd8e4 | ||
|
|
9bcda8302f | ||
|
|
0c40aecab7 | ||
|
|
5e807ce9d0 | ||
|
|
bfc067c31f | ||
|
|
221a39e865 | ||
|
|
2011068784 | ||
|
|
fb8e597a43 | ||
|
|
4c525f9335 | ||
|
|
d834b0be80 | ||
|
|
848323bb4a | ||
|
|
ce420d867c |
@@ -0,0 +1,2 @@
|
||||
*.env
|
||||
.gitea-actions-runner-token
|
||||
@@ -13,6 +13,30 @@
|
||||
boot.kernelModules = [ "kvm-amd" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
networking.hostName = "alien";
|
||||
|
||||
networking.networkmanager = {
|
||||
enable = true;
|
||||
wifi.backend = "wpa_supplicant"; # remove the iwd line, this is the default
|
||||
wifi.powersave = false;
|
||||
};
|
||||
|
||||
|
||||
networking.wireless.enable = false;
|
||||
# nixpkgs.config.allowUnfree = true;
|
||||
hardware.enableAllFirmware = true;
|
||||
services.gnome.gnome-keyring.enable = true;
|
||||
security.pam.services.login.enableGnomeKeyring = true;
|
||||
security.polkit.enable = true;
|
||||
|
||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||
boot.extraModprobeConfig = ''
|
||||
options mt7921e disable_aspm=Y
|
||||
options cfg80211 ieee80211_regdom="CA"
|
||||
'';
|
||||
|
||||
programs.nm-applet.enable = true;
|
||||
hardware.wirelessRegulatoryDatabase = true;
|
||||
# systemd.services.heat-room = {
|
||||
# description = "Morning room heating";
|
||||
# after = [ "graphical-session.target" ];
|
||||
@@ -1,21 +1,17 @@
|
||||
# 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, ... }:
|
||||
{ config, lib, pkgs, inputs, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ # Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
<home-manager/nixos>
|
||||
];
|
||||
|
||||
{
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||
|
||||
programs.hyprland.enable = true;
|
||||
# programs.hyprland.enable = true;
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
|
||||
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
|
||||
gamescopeSession.enable = true;
|
||||
};
|
||||
programs.neovim = {
|
||||
enable = true;
|
||||
@@ -28,7 +24,6 @@
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
networking.hostName = "alien";
|
||||
time.timeZone = "America/Toronto";
|
||||
|
||||
|
||||
@@ -62,7 +57,10 @@
|
||||
LC_TIME = "en_US.UTF-8";
|
||||
};
|
||||
|
||||
virtualisation.docker.enable = true;
|
||||
virtualisation.docker = {
|
||||
enable = true;
|
||||
package = pkgs.docker_29;
|
||||
};
|
||||
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
@@ -73,7 +71,7 @@
|
||||
|
||||
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
enable = false;
|
||||
settings = {
|
||||
mainBar = {
|
||||
layer = "top";
|
||||
@@ -167,7 +165,7 @@
|
||||
};
|
||||
programs.vscode = { # Configure vscodium
|
||||
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
|
||||
profiles.default.extensions = with pkgs.vscode-extensions; [
|
||||
jnoortheen.nix-ide # NIX syntax highlighting. Also uses nixfmt package
|
||||
@@ -176,13 +174,20 @@
|
||||
tamasfe.even-better-toml # toml file support
|
||||
myriad-dreamin.tinymist # typst files
|
||||
tekumara.typos-vscode # spellcheck
|
||||
bierner.markdown-mermaid # mermaid
|
||||
] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
|
||||
{
|
||||
name = "skillavid-pure-black";
|
||||
publisher = "redwan-hossain";
|
||||
version = "5.0.0";
|
||||
sha256 = "sha256-/gLvhw0XcUb6Jch/LZ4k7xpSS9wdYWVf5u7uvOHS+i8=";
|
||||
}
|
||||
# {
|
||||
# name = "skillavid-pure-black";
|
||||
# publisher = "redwan-hossain";
|
||||
# version = "5.0.0";
|
||||
# sha256 = "sha256-/gLvhw0XcUb6Jch/LZ4k7xpSS9wdYWVf5u7uvOHS+i8=";
|
||||
# }
|
||||
# {
|
||||
# name = "remote-ssh-edit";
|
||||
# publisher = "ms-vscode-remote";
|
||||
# version = "0.47.2";
|
||||
# sha256 = "1hp6gjh4xp2m1xlm1jsdzxw9d8frkiidhph6nvl24d0h8z34w49g";
|
||||
# }
|
||||
];
|
||||
};
|
||||
};
|
||||
@@ -193,18 +198,19 @@
|
||||
|
||||
users.users.jeremy = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "wheel" "docker" "wireshark" ]; # Enable sudo
|
||||
extraGroups = [ "wheel" "docker" "wireshark" "adbusers" "plugdev" "networkmanager" ];
|
||||
shell = pkgs.bash;
|
||||
home = "/home/jeremy";
|
||||
createHome = true;
|
||||
packages = with pkgs; [
|
||||
prismlauncher # minecraft launcher
|
||||
discord-canary
|
||||
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}.typst # bleeding edge html exports for typst
|
||||
inputs.nixpkgs-unstable.legacyPackages.${pkgs.system}.tinymist # typst previews
|
||||
nextcloud-client
|
||||
steam
|
||||
signal-desktop
|
||||
docker
|
||||
# swaybg # wallpaper
|
||||
nixfmt # nix file formatting
|
||||
openrgb # RGB editor
|
||||
@@ -213,21 +219,26 @@
|
||||
gcc
|
||||
xauth
|
||||
burpsuite
|
||||
ollama
|
||||
ollama-rocm
|
||||
python3
|
||||
direnv # develop projects in custom environments
|
||||
# hyprshot # screenshots
|
||||
typst # typst compilation
|
||||
tinymist # typst previews
|
||||
binaryninja-free # broke ahh cracker
|
||||
patchelf # make programs understand nix. good for downloaded executables such as crackmes
|
||||
starsector # support indie games!
|
||||
htop
|
||||
ripgrep
|
||||
mullvad-vpn # arrr
|
||||
qbittorrent # arrr
|
||||
mpv # arrr
|
||||
wireshark
|
||||
obs-studio
|
||||
slack
|
||||
scrcpy # phone rdp
|
||||
android-tools # phone rdp
|
||||
wireguard-tools
|
||||
blender # drone
|
||||
gnumake # make & makefile
|
||||
thunderbird
|
||||
];
|
||||
};
|
||||
|
||||
@@ -236,13 +247,11 @@
|
||||
firefox
|
||||
neovim
|
||||
wget
|
||||
networkmanager
|
||||
gnome-disk-utility
|
||||
dunst
|
||||
libnotify
|
||||
rofi
|
||||
alacritty
|
||||
vscodium
|
||||
ncdu
|
||||
nmap
|
||||
kitty
|
||||
@@ -251,14 +260,19 @@
|
||||
pavucontrol # PulseAudio Volume Control
|
||||
bluez # Bluetooth support
|
||||
bluez-tools # Bluetooth tools
|
||||
|
||||
polkit_gnome
|
||||
usbutils # for lsusb
|
||||
xwayland-satellite # xwayland support
|
||||
fuzzel # menu
|
||||
networkmanagerapplet
|
||||
wireless-regdb
|
||||
];
|
||||
|
||||
|
||||
|
||||
fonts.packages = [ pkgs.nerd-fonts.jetbrains-mono ];
|
||||
|
||||
programs.niri.enable = true;
|
||||
programs.niri.enable = false;
|
||||
boot.initrd.kernelModules = [ "amdgpu" ];
|
||||
|
||||
environment.sessionVariables = {
|
||||
@@ -271,14 +285,10 @@
|
||||
};
|
||||
|
||||
services.ollama = {
|
||||
enable = false;
|
||||
enable = true;
|
||||
package = pkgs.ollama;
|
||||
acceleration = "rocm";
|
||||
environmentVariables = {
|
||||
# Force Ollama to only see the dedicated GPU
|
||||
HIP_VISIBLE_DEVICES = "0";
|
||||
# Optional: Force the GPU architecture if discovery still fails
|
||||
HSA_OVERRIDE_GFX_VERSION = "10.3.0";
|
||||
};
|
||||
host = "0.0.0.0";
|
||||
};
|
||||
|
||||
services.pulseaudio.enable = false; # Use Pipewire
|
||||
@@ -289,6 +299,29 @@
|
||||
jack.enable = false;
|
||||
};
|
||||
|
||||
# networking = {
|
||||
# interfaces.eno1 = {
|
||||
# ipv4.addresses = [{
|
||||
# address = "192.168.2.100";
|
||||
# prefixLength = 24;
|
||||
# }];
|
||||
# };
|
||||
# defaultGateway = {
|
||||
# address = "192.168.2.1";
|
||||
# interface = "eno1";
|
||||
# };
|
||||
# # interfaces.ens3 = {
|
||||
# # ipv4.addresses = [{
|
||||
# # address = "10.40.0.132";
|
||||
# # prefixLength = 24;
|
||||
# # }];
|
||||
# # };
|
||||
# # defaultGateway = {
|
||||
# # address = "10.40.0.1";
|
||||
# # interface = "wlp10s0";
|
||||
# # };
|
||||
# };
|
||||
|
||||
|
||||
|
||||
security.rtkit.enable = true; # Enable RealtimeKit for audio purposes
|
||||
@@ -299,17 +332,17 @@
|
||||
server.port = 6742;
|
||||
};
|
||||
services.udisks2.enable = true; # Enable gnome-disks
|
||||
services.displayManager.sddm.enable = true; # Enable display manager
|
||||
services.displayManager.sddm.wayland.enable = true; # Wayland
|
||||
# services.displayManager.sddm.enable = true; # Enable display manager
|
||||
# services.displayManager.sddm.wayland.enable = true; # Wayland
|
||||
|
||||
services.mullvad-vpn.package = pkgs.mullvad-vpn; # arr
|
||||
services.resolved.enable = true; # for mullvad
|
||||
|
||||
# programs.ssh.startAgent = true; # Enable SSH tools
|
||||
programs.thunar.enable = true; # file manager
|
||||
# programs.thunar.enable = true; # file manager
|
||||
programs.wireshark.enable = true;
|
||||
|
||||
virtualisation.waydroid.enable = true; # android :0
|
||||
# virtualisation.waydroid.enable = true; # android :0
|
||||
|
||||
|
||||
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
|
||||
@@ -319,6 +352,7 @@
|
||||
"steam-run"
|
||||
"furmark"
|
||||
"burpsuite"
|
||||
"slack"
|
||||
];
|
||||
|
||||
# Some programs need SUID wrappers, can be configured further or are
|
||||
@@ -335,19 +369,13 @@
|
||||
ports = [2121];
|
||||
settings.X11Forwarding = true;
|
||||
};
|
||||
networking.firewall.allowedTCPPorts = [2121];
|
||||
|
||||
# MatLab
|
||||
nixpkgs.overlays = let
|
||||
nix-matlab = import (builtins.fetchTarball "https://gitlab.com/doronbehar/nix-matlab/-/archive/master/nix-matlab-master.tar.gz");
|
||||
in [
|
||||
nix-matlab.overlay
|
||||
(
|
||||
final: prev: {
|
||||
# Your own overlays...
|
||||
}
|
||||
)
|
||||
];
|
||||
networking.firewall.allowedTCPPorts = [2121];
|
||||
networking.networkmanager.enable = true;
|
||||
networking.extraHosts = ''
|
||||
10.0.1.51 freeipa.bsidestoctf.com
|
||||
'';
|
||||
programs.nm-applet.enable = true;
|
||||
|
||||
# Binaries auto linked
|
||||
programs.nix-ld.enable = true;
|
||||
@@ -360,11 +388,41 @@
|
||||
openssl
|
||||
curl
|
||||
expat
|
||||
wayland
|
||||
libxkbcommon
|
||||
libGL
|
||||
gtk3
|
||||
glib
|
||||
pango
|
||||
harfbuzz
|
||||
cairo
|
||||
gdk-pixbuf
|
||||
webkitgtk_4_1
|
||||
libsoup_3
|
||||
gobject-introspection
|
||||
];
|
||||
|
||||
|
||||
services.displayManager.gdm.enable = true;
|
||||
services.desktopManager.gnome.enable = true;
|
||||
services.gnome.core-apps.enable = true;
|
||||
services.gnome.core-developer-tools.enable = false;
|
||||
services.gnome.games.enable = false;
|
||||
environment.gnome.excludePackages = with pkgs; [ gnome-tour gnome-user-docs ];
|
||||
|
||||
|
||||
# udev rules for pyocd for UTAT
|
||||
services.udev.extraRules = ''
|
||||
SUBSYSTEM=="usb", ATTR{idVendor}=="0483", ATTR{idProduct}=="374e", MODE="0666", GROUP="plugdev"
|
||||
SUBSYSTEM=="usb", ATTR{idVendor}=="0483", ATTR{idProduct}=="374b", MODE="0666", GROUP="plugdev"
|
||||
SUBSYSTEM=="usb", ATTR{idVendor}=="0483", ATTR{idProduct}=="374f", MODE="0666", GROUP="plugdev"
|
||||
SUBSYSTEM=="usb", ATTR{idVendor}=="0483", ATTR{idProduct}=="3753", MODE="0666", GROUP="plugdev"
|
||||
'';
|
||||
|
||||
|
||||
|
||||
# bootloader device
|
||||
boot.loader.grub.device = "/dev/sda";
|
||||
# boot.loader.grub.device = "/dev/sda";
|
||||
|
||||
# Open ports in the firewall.
|
||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||
@@ -395,4 +453,4 @@
|
||||
#
|
||||
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
|
||||
system.stateVersion = "25.11"; # Did you read the comment?
|
||||
}
|
||||
}
|
||||
Generated
+66
@@ -0,0 +1,66 @@
|
||||
{
|
||||
"nodes": {
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1779506708,
|
||||
"narHash": "sha256-QOD/CNm196nCJRheux/URi4/HE66fthdOMqCJoPP1Y0=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "3ee51fbdac8c8bdfe1e7e1fcaba6520a563f394f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "release-25.11",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1782847189,
|
||||
"narHash": "sha256-twXPFqFsrrY5r28Zh7Homgcp2gUMBgQ6WDS98Q/3xFI=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "b6018f87da91d19d0ab4cf979885689b469cdd41",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-25.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1787498568,
|
||||
"narHash": "sha256-9i/VTdusq/+NM/tz+J1Re+ojkMB8MBf0QshnYfzHz30=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "56c02bc00adcf003215cc4bd996d6efaf4cff188",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"home-manager": "home-manager",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
{
|
||||
description = "Default NixOS Flake Configuration";
|
||||
|
||||
inputs = {
|
||||
# The primary source for packages
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
|
||||
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager/release-25.11";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
# Optional: Unstable branch for things like Ollama or Hyprland
|
||||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, nixpkgs-unstable, home-manager, ... }@inputs: {
|
||||
nixosConfigurations."alien" = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = { inherit inputs; };
|
||||
modules = [
|
||||
./client-configuration.nix
|
||||
./alien-hardware-configuration.nix
|
||||
./shared-configuration.nix
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
nixpkgs.overlays = [
|
||||
(final: prev: {
|
||||
ollama = nixpkgs-unstable.legacyPackages.${prev.system}.ollama;
|
||||
})
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
nixosConfigurations."thinkpad" = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = { inherit inputs; };
|
||||
modules = [
|
||||
./client-configuration.nix
|
||||
./thinkpad-hardware-configuration.nix
|
||||
./shared-configuration.nix
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
nixpkgs.overlays = [
|
||||
(final: prev: {
|
||||
ollama = nixpkgs-unstable.legacyPackages.${prev.system}.ollama;
|
||||
})
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
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
|
||||
'';
|
||||
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ "dm-snapshot" ];
|
||||
boot.initrd.luks.devices."cryptroot" = {
|
||||
device = "/dev/disk/by-uuid/8f79adab-ca08-497b-921a-ee386ad03cfc";
|
||||
preLVM = true;
|
||||
};
|
||||
boot.kernelModules = [ "kvm-amd" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
networking.hostName = "thinkpad";
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/mapper/vg0-root";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/06C1-B3A3";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0022" "dmask=0022" ];
|
||||
};
|
||||
|
||||
swapDevices =
|
||||
[ { device = "/dev/mapper/vg0-swap"; }
|
||||
];
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user