Compare commits
6 Commits
60c764324a
...
tower
| Author | SHA1 | Date | |
|---|---|---|---|
|
a78d66fbd3
|
|||
|
941c51884d
|
|||
|
ddfde55edf
|
|||
|
9ba39dbff4
|
|||
|
2cbbbddcab
|
|||
|
bf441a6979
|
34
flake.lock
generated
34
flake.lock
generated
@@ -7,31 +7,48 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1762041416,
|
"lastModified": 1758463745,
|
||||||
"narHash": "sha256-rmJKABRXnhFjjI6RB/MnEvLTQa569zu684Th9y6UlOI=",
|
"narHash": "sha256-uhzsV0Q0I9j2y/rfweWeGif5AWe0MGrgZ/3TjpDYdGA=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "c0016dd14773f4ca0b467b74c7cdcc501570df4b",
|
"rev": "3b955f5f0a942f9f60cdc9cacb7844335d0f21c3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
|
"ref": "release-25.05",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1761907660,
|
"lastModified": 1762233356,
|
||||||
"narHash": "sha256-kJ8lIZsiPOmbkJypG+B5sReDXSD1KGu2VEPNqhRa/ew=",
|
"narHash": "sha256-cGS3lLTYusbEP/IJIWGgnkzIl+FA5xDvtiHyjalGr4k=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "2fb006b87f04c4d3bdf08cfdbc7fab9c13d94a15",
|
"rev": "ca534a76c4afb2bdc07b681dbc11b453bab21af8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-unstable",
|
"ref": "nixos-25.05",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs-unstable": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1762361079,
|
||||||
|
"narHash": "sha256-lz718rr1BDpZBYk7+G8cE6wee3PiBUpn8aomG/vLLiY=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "ffcdcf99d65c61956d882df249a9be53e5902ea5",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@@ -39,7 +56,8 @@
|
|||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs",
|
||||||
|
"nixpkgs-unstable": "nixpkgs-unstable"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
31
flake.nix
31
flake.nix
@@ -2,22 +2,32 @@
|
|||||||
description = "NixOS + Home Manager config";
|
description = "NixOS + Home Manager config";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
|
||||||
|
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable";
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager/release-25.05";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs@{ self, nixpkgs, home-manager, ... }: {
|
outputs = inputs@{ self, nixpkgs, home-manager, ... }:
|
||||||
|
let
|
||||||
|
|
||||||
nixosConfigurations = {
|
|
||||||
segfault-machine = nixpkgs.lib.nixosSystem {
|
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
specialArgs = { inherit inputs; };
|
lib = nixpkgs.lib;
|
||||||
|
pkgs-unstable = import inputs.nixpkgs-unstable {
|
||||||
|
system = system;
|
||||||
|
config.allowUnfree = true;
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
nixosConfigurations = {
|
||||||
|
segfault-machine = lib.nixosSystem {
|
||||||
|
inherit system; # inherited it from 'let' block
|
||||||
|
|
||||||
|
specialArgs = { inherit pkgs-unstable; };
|
||||||
|
|
||||||
modules = [
|
modules = [
|
||||||
./hosts/segfault-machine/configuration.nix
|
./hosts/segfault-machine/configuration.nix
|
||||||
|
|
||||||
@@ -26,6 +36,8 @@
|
|||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
home-manager.useUserPackages = true;
|
home-manager.useUserPackages = true;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
home-manager.users.lukas.imports = [
|
home-manager.users.lukas.imports = [
|
||||||
./home/lukas/laptop/default.nix
|
./home/lukas/laptop/default.nix
|
||||||
];
|
];
|
||||||
@@ -38,10 +50,11 @@
|
|||||||
|
|
||||||
segfault-tower = nixpkgs.lib.nixosSystem {
|
segfault-tower = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
specialArgs = { inherit inputs; };
|
specialArgs = { inherit pkgs-unstable; };
|
||||||
modules = [
|
modules = [
|
||||||
./hosts/segfault-tower/configuration.nix
|
./hosts/segfault-tower/configuration.nix
|
||||||
|
|
||||||
|
|
||||||
home-manager.nixosModules.home-manager {
|
home-manager.nixosModules.home-manager {
|
||||||
home-manager.backupFileExtension = "backup";
|
home-manager.backupFileExtension = "backup";
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
|
|||||||
@@ -12,13 +12,7 @@ in {
|
|||||||
userName= "Lukas";
|
userName= "Lukas";
|
||||||
userEmail = "mail@lukas.contact";
|
userEmail = "mail@lukas.contact";
|
||||||
|
|
||||||
settings = {
|
extraConfig = {
|
||||||
|
|
||||||
user = {
|
|
||||||
mail = "mail@lukas.contact";
|
|
||||||
name = "Lukas";
|
|
||||||
};
|
|
||||||
|
|
||||||
commit.gpgsign = true;
|
commit.gpgsign = true;
|
||||||
gpg.format = "ssh";
|
gpg.format = "ssh";
|
||||||
gpg.ssh.allowedSignersFile = "~/.ssh/allowed_signers";
|
gpg.ssh.allowedSignersFile = "~/.ssh/allowed_signers";
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./packages.nix
|
./packages.nix
|
||||||
# ./ollama.nix
|
|
||||||
../common/brave.nix
|
../common/brave.nix
|
||||||
../common/direnv.nix
|
../common/direnv.nix
|
||||||
../common/emacs.nix
|
../common/emacs.nix
|
||||||
|
|||||||
@@ -1,8 +0,0 @@
|
|||||||
{
|
|
||||||
services.ollama = {
|
|
||||||
enable = true;
|
|
||||||
acceleration = "cuda";
|
|
||||||
# Optional: preload models, see https://ollama.com/library
|
|
||||||
# loadModels = [ "qwen3:30b" "gpt-oss:20b" "deepseek-r1:32b" "gemma3:27b"];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -9,6 +9,7 @@
|
|||||||
pkgs.keepassxc
|
pkgs.keepassxc
|
||||||
pkgs.telegram-desktop
|
pkgs.telegram-desktop
|
||||||
pkgs.element-desktop
|
pkgs.element-desktop
|
||||||
|
pkgs.tidal-hifi
|
||||||
|
|
||||||
pkgs.tree
|
pkgs.tree
|
||||||
pkgs.htop
|
pkgs.htop
|
||||||
@@ -16,11 +17,15 @@
|
|||||||
pkgs.wget
|
pkgs.wget
|
||||||
pkgs.unzip
|
pkgs.unzip
|
||||||
|
|
||||||
|
pkgs.open-webui
|
||||||
|
pkgs.librechat
|
||||||
|
|
||||||
pkgs.feather
|
pkgs.feather
|
||||||
|
|
||||||
pkgs.firefox
|
pkgs.firefox
|
||||||
|
|
||||||
pkgs.ranger
|
pkgs.ranger
|
||||||
|
pkgs.zathura
|
||||||
|
|
||||||
pkgs.nerd-fonts.fira-code
|
pkgs.nerd-fonts.fira-code
|
||||||
pkgs.fira-code
|
pkgs.fira-code
|
||||||
@@ -35,7 +40,7 @@
|
|||||||
pkgs.binutils
|
pkgs.binutils
|
||||||
pkgs.gcc
|
pkgs.gcc
|
||||||
|
|
||||||
pkgs.scenebuilder
|
# pkgs.scenebuilder
|
||||||
|
|
||||||
pkgs.nil
|
pkgs.nil
|
||||||
|
|
||||||
|
|||||||
@@ -10,10 +10,10 @@
|
|||||||
../../users/lukas.nix
|
../../users/lukas.nix
|
||||||
../../modules/desktop/gnome.nix
|
../../modules/desktop/gnome.nix
|
||||||
../../modules/input/katana.nix
|
../../modules/input/katana.nix
|
||||||
|
../../modules/input/qmk.nix
|
||||||
../../modules/networking/networkmanager.nix
|
../../modules/networking/networkmanager.nix
|
||||||
../../modules/networking/bluetooth.nix
|
../../modules/networking/bluetooth.nix
|
||||||
../../modules/system/locale.nix
|
../../modules/system/locale.nix
|
||||||
../../modules/system/suspend-and-hibernate.nix
|
|
||||||
../../modules/system/nvidia.nix
|
../../modules/system/nvidia.nix
|
||||||
../../modules/system/audio.nix
|
../../modules/system/audio.nix
|
||||||
../../modules/system/printing.nix
|
../../modules/system/printing.nix
|
||||||
@@ -21,6 +21,7 @@
|
|||||||
../../modules/system/gpg.nix
|
../../modules/system/gpg.nix
|
||||||
../../modules/system/virtualbox.nix
|
../../modules/system/virtualbox.nix
|
||||||
../../modules/system/mullvad.nix
|
../../modules/system/mullvad.nix
|
||||||
|
../../modules/services/ollama.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
# Bootloader.
|
# Bootloader.
|
||||||
@@ -40,6 +41,6 @@
|
|||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
# Version festlegen
|
# Version festlegen
|
||||||
system.stateVersion = "25.11";
|
system.stateVersion = "25.05";
|
||||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,19 @@
|
|||||||
{ config, pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
services.displayManager.gdm.enable = true;
|
services.xserver = {
|
||||||
services.desktopManager.gnome.enable = true;
|
displayManager.gdm.enable = true;
|
||||||
|
desktopManager.gnome.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
# To disable installing GNOME's suite of applications
|
# To disable installing GNOME's suite of applications
|
||||||
# and only be left with GNOME shell.
|
# and only be left with GNOME shell.
|
||||||
services.gnome.core-apps.enable = false;
|
services.gnome.core-apps.enable = true;
|
||||||
services.gnome.core-developer-tools.enable = false;
|
services.gnome.core-developer-tools.enable = false;
|
||||||
services.gnome.games.enable = false;
|
services.gnome.games.enable = false;
|
||||||
environment.gnome.excludePackages = with pkgs; [ gnome-tour gnome-user-docs ];
|
environment.gnome.excludePackages = with pkgs; [ gnome-tour gnome-user-docs ];
|
||||||
|
|
||||||
|
environment.systemPackages = [ pkgs.gnomeExtensions.appindicator ];
|
||||||
|
services.udev.packages = [ pkgs.gnome-settings-daemon ];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
{ inputs, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
# Enable the uinput module
|
# Enable the uinput module
|
||||||
boot.kernelModules = [ "uinput" ];
|
boot.kernelModules = [ "uinput" ];
|
||||||
|
|||||||
6
modules/input/qmk.nix
Normal file
6
modules/input/qmk.nix
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
hardware.keyboard.qmk.enable = true;
|
||||||
|
environment.systemPackages = with pkgs; [ via qmk ];
|
||||||
|
services.udev.packages = [ pkgs.via ];
|
||||||
|
}
|
||||||
45
modules/services/ollama.nix
Normal file
45
modules/services/ollama.nix
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
{config, pkgs-unstable, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
services.ollama = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs-unstable.ollama;
|
||||||
|
acceleration = "cuda";
|
||||||
|
environmentVariables = {
|
||||||
|
OLLAMA_CONTEXT_LENGTH="32000";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services.ollama.serviceConfig = {
|
||||||
|
Environment = [ "OLLAMA_HOST=0.0.0.0:11434" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
services.open-webui = {
|
||||||
|
package = pkgs-unstable.open-webui;
|
||||||
|
enable = true;
|
||||||
|
port = 8081;
|
||||||
|
environment = {
|
||||||
|
ANONYMIZED_TELEMETRY = "False";
|
||||||
|
DO_NOT_TRACK = "True";
|
||||||
|
SCARF_NO_ANALYTICS = "True";
|
||||||
|
OLLAMA_API_BASE_URL = "http://127.0.0.1:11434/api";
|
||||||
|
OLLAMA_BASE_URL = "http://127.0.0.1:11434";
|
||||||
|
WEBUI_AUTH = "False";
|
||||||
|
FRONTEND_BUILD_DIR = "${config.services.open-webui.stateDir}/build";
|
||||||
|
DATA_DIR = "${config.services.open-webui.stateDir}/data";
|
||||||
|
STATIC_DIR = "${config.services.open-webui.stateDir}/static";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.searx = {
|
||||||
|
enable = true;
|
||||||
|
redisCreateLocally = true;
|
||||||
|
settings.server = {
|
||||||
|
bind_address = "::1";
|
||||||
|
port = 1111;
|
||||||
|
secret_key = "my ultra secret key";
|
||||||
|
};
|
||||||
|
settings.search.formats = ["html" "json"];
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,3 +1,4 @@
|
|||||||
{
|
{
|
||||||
virtualisation.docker.enable = true;
|
virtualisation.docker.enable = true;
|
||||||
|
virtualisation.oci-containers.backend = "docker";
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user