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": {
|
||||
"lastModified": 1762041416,
|
||||
"narHash": "sha256-rmJKABRXnhFjjI6RB/MnEvLTQa569zu684Th9y6UlOI=",
|
||||
"lastModified": 1758463745,
|
||||
"narHash": "sha256-uhzsV0Q0I9j2y/rfweWeGif5AWe0MGrgZ/3TjpDYdGA=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "c0016dd14773f4ca0b467b74c7cdcc501570df4b",
|
||||
"rev": "3b955f5f0a942f9f60cdc9cacb7844335d0f21c3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "release-25.05",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1761907660,
|
||||
"narHash": "sha256-kJ8lIZsiPOmbkJypG+B5sReDXSD1KGu2VEPNqhRa/ew=",
|
||||
"lastModified": 1762233356,
|
||||
"narHash": "sha256-cGS3lLTYusbEP/IJIWGgnkzIl+FA5xDvtiHyjalGr4k=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "2fb006b87f04c4d3bdf08cfdbc7fab9c13d94a15",
|
||||
"rev": "ca534a76c4afb2bdc07b681dbc11b453bab21af8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"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",
|
||||
"type": "github"
|
||||
}
|
||||
@@ -39,7 +56,8 @@
|
||||
"root": {
|
||||
"inputs": {
|
||||
"home-manager": "home-manager",
|
||||
"nixpkgs": "nixpkgs"
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
97
flake.nix
97
flake.nix
@@ -2,61 +2,74 @@
|
||||
description = "NixOS + Home Manager config";
|
||||
|
||||
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 = {
|
||||
url = "github:nix-community/home-manager";
|
||||
url = "github:nix-community/home-manager/release-25.05";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
outputs = inputs@{ self, nixpkgs, home-manager, ... }: {
|
||||
|
||||
|
||||
nixosConfigurations = {
|
||||
segfault-machine = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = { inherit inputs; };
|
||||
modules = [
|
||||
./hosts/segfault-machine/configuration.nix
|
||||
|
||||
home-manager.nixosModules.home-manager {
|
||||
home-manager.backupFileExtension = "backup";
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
|
||||
home-manager.users.lukas.imports = [
|
||||
./home/lukas/laptop/default.nix
|
||||
];
|
||||
|
||||
home-manager.extraSpecialArgs = { inherit inputs; };
|
||||
|
||||
}
|
||||
];
|
||||
outputs = inputs@{ self, nixpkgs, home-manager, ... }:
|
||||
let
|
||||
system = "x86_64-linux";
|
||||
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
|
||||
|
||||
segfault-tower = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = { inherit inputs; };
|
||||
modules = [
|
||||
./hosts/segfault-tower/configuration.nix
|
||||
specialArgs = { inherit pkgs-unstable; };
|
||||
|
||||
home-manager.nixosModules.home-manager {
|
||||
home-manager.backupFileExtension = "backup";
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
modules = [
|
||||
./hosts/segfault-machine/configuration.nix
|
||||
|
||||
home-manager.users.lukas.imports = [
|
||||
./home/lukas/tower/default.nix
|
||||
];
|
||||
home-manager.nixosModules.home-manager {
|
||||
home-manager.backupFileExtension = "backup";
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
|
||||
|
||||
|
||||
home-manager.users.lukas.imports = [
|
||||
./home/lukas/laptop/default.nix
|
||||
];
|
||||
|
||||
home-manager.extraSpecialArgs = { inherit inputs; };
|
||||
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
segfault-tower = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = { inherit pkgs-unstable; };
|
||||
modules = [
|
||||
./hosts/segfault-tower/configuration.nix
|
||||
|
||||
|
||||
home-manager.nixosModules.home-manager {
|
||||
home-manager.backupFileExtension = "backup";
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
|
||||
home-manager.users.lukas.imports = [
|
||||
./home/lukas/tower/default.nix
|
||||
];
|
||||
|
||||
home-manager.extraSpecialArgs = { inherit inputs; };
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
home-manager.extraSpecialArgs = { inherit inputs; };
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -12,13 +12,7 @@ in {
|
||||
userName= "Lukas";
|
||||
userEmail = "mail@lukas.contact";
|
||||
|
||||
settings = {
|
||||
|
||||
user = {
|
||||
mail = "mail@lukas.contact";
|
||||
name = "Lukas";
|
||||
};
|
||||
|
||||
extraConfig = {
|
||||
commit.gpgsign = true;
|
||||
gpg.format = "ssh";
|
||||
gpg.ssh.allowedSignersFile = "~/.ssh/allowed_signers";
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{
|
||||
imports = [
|
||||
./packages.nix
|
||||
# ./ollama.nix
|
||||
../common/brave.nix
|
||||
../common/direnv.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.telegram-desktop
|
||||
pkgs.element-desktop
|
||||
pkgs.tidal-hifi
|
||||
|
||||
pkgs.tree
|
||||
pkgs.htop
|
||||
@@ -16,11 +17,15 @@
|
||||
pkgs.wget
|
||||
pkgs.unzip
|
||||
|
||||
pkgs.open-webui
|
||||
pkgs.librechat
|
||||
|
||||
pkgs.feather
|
||||
|
||||
pkgs.firefox
|
||||
|
||||
pkgs.ranger
|
||||
pkgs.zathura
|
||||
|
||||
pkgs.nerd-fonts.fira-code
|
||||
pkgs.fira-code
|
||||
@@ -35,7 +40,7 @@
|
||||
pkgs.binutils
|
||||
pkgs.gcc
|
||||
|
||||
pkgs.scenebuilder
|
||||
# pkgs.scenebuilder
|
||||
|
||||
pkgs.nil
|
||||
|
||||
|
||||
@@ -10,10 +10,10 @@
|
||||
../../users/lukas.nix
|
||||
../../modules/desktop/gnome.nix
|
||||
../../modules/input/katana.nix
|
||||
../../modules/input/qmk.nix
|
||||
../../modules/networking/networkmanager.nix
|
||||
../../modules/networking/bluetooth.nix
|
||||
../../modules/system/locale.nix
|
||||
../../modules/system/suspend-and-hibernate.nix
|
||||
../../modules/system/nvidia.nix
|
||||
../../modules/system/audio.nix
|
||||
../../modules/system/printing.nix
|
||||
@@ -21,6 +21,7 @@
|
||||
../../modules/system/gpg.nix
|
||||
../../modules/system/virtualbox.nix
|
||||
../../modules/system/mullvad.nix
|
||||
../../modules/services/ollama.nix
|
||||
];
|
||||
|
||||
# Bootloader.
|
||||
@@ -40,6 +41,6 @@
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
# Version festlegen
|
||||
system.stateVersion = "25.11";
|
||||
system.stateVersion = "25.05";
|
||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||
}
|
||||
|
||||
@@ -1,13 +1,19 @@
|
||||
{ config, pkgs, ... }:
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
services.displayManager.gdm.enable = true;
|
||||
services.desktopManager.gnome.enable = true;
|
||||
services.xserver = {
|
||||
displayManager.gdm.enable = true;
|
||||
desktopManager.gnome.enable = true;
|
||||
};
|
||||
|
||||
|
||||
# To disable installing GNOME's suite of applications
|
||||
# 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.games.enable = false;
|
||||
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
|
||||
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.oci-containers.backend = "docker";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user