2 Commits
Author SHA1 Message Date
Armel van Ravels 3c2c5fbecf Add bitwarden 2026-06-12 15:44:25 +02:00
armel 6593978a74 Upgrade to 26.05 2026-06-11 20:34:31 +02:00
105 changed files with 854 additions and 1559 deletions

No files matched your search

-15
View File
@@ -1,15 +0,0 @@
{
"customizations": {
"vscode": {
"extensions": [
"mkhl.direnv"
]
},
"zed": {
"extensions": []
}
},
"image": "ghcr.io/cachix/devenv/devcontainer:latest",
"overrideCommand": false,
"updateContentCommand": "devenv test"
}
-7
View File
@@ -1,7 +0,0 @@
#!/usr/bin/env bash
eval "$(devenv direnvrc)"
# You can pass flags to the devenv command
# For example: use devenv --impure --option services.postgres.enable:bool true
use devenv
-10
View File
@@ -1,10 +0,0 @@
# Devenv
.devenv*
devenv.local.nix
devenv.local.yaml
# direnv
.direnv
# pre-commit
.pre-commit-config.yaml
-124
View File
@@ -1,124 +0,0 @@
{
"nodes": {
"devenv": {
"locked": {
"dir": "src/modules",
"lastModified": 1790701375,
"narHash": "sha256-0FpLHIRDYiyo3EMTnMQSobZQknZaa3JuWo6vmMCK76o=",
"owner": "cachix",
"repo": "devenv",
"rev": "fe20b5cba7ab5e93ae73f956a8d3efc50e1753f4",
"type": "github"
},
"original": {
"dir": "src/modules",
"owner": "cachix",
"repo": "devenv",
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1767039857,
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
"owner": "NixOS",
"repo": "flake-compat",
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "flake-compat",
"type": "github"
}
},
"git-hooks": {
"inputs": {
"flake-compat": "flake-compat",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1790500375,
"narHash": "sha256-XN3sDtn8TU9hAc9xqZ+SqRB/HHm2wjxM6aSWYLJU+oo=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "a0e4241b51206fbcbf52fd322eb5f0cd80f153c4",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"nixpkgs": {
"inputs": {
"nixpkgs-src": "nixpkgs-src"
},
"locked": {
"lastModified": 1789506231,
"narHash": "sha256-vNkJbtmqyBfFhn/HnzQo4ROuoyYWuy/allqTfJb4kMY=",
"owner": "cachix",
"repo": "devenv-nixpkgs",
"rev": "c2f38fe7f9e04d9aadd354d380f2bd40531d9737",
"type": "github"
},
"original": {
"owner": "cachix",
"ref": "rolling",
"repo": "devenv-nixpkgs",
"type": "github"
}
},
"nixpkgs-src": {
"flake": false,
"locked": {
"lastModified": 1789370336,
"narHash": "sha256-6RSEDHIWQtesQKWSu5qRai8L2h4KgCgMEfJHstW99G4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c7def046b9a883d46974757852106483d741586f",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"devenv": "devenv",
"git-hooks": "git-hooks",
"nixpkgs": "nixpkgs",
"treefmt-nix": "treefmt-nix"
}
},
"treefmt-nix": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1791203292,
"narHash": "sha256-vuzVwvjeucSnwKwMBpyP8r5IzdrMKCHEdwTrRFwUN7I=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "03d8ee1bcbc8f9638907bb79edb9673151d0e22b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
}
},
"root": "root",
"version": 7
}
-21
View File
@@ -1,21 +0,0 @@
{ pkgs
, lib
, config
, ...
}:
{
devcontainer.enable = true;
treefmt.enable = true;
treefmt.config.programs.nixpkgs-fmt.enable = true;
git-hooks = {
enable = true;
hooks = {
treefmt.enable = true;
};
};
}
-11
View File
@@ -1,11 +0,0 @@
inputs:
git-hooks:
url: github:cachix/git-hooks.nix
inputs:
nixpkgs:
follows: nixpkgs
treefmt-nix:
url: github:numtide/treefmt-nix
inputs:
nixpkgs:
follows: nixpkgs
Generated
+12 -33
View File
@@ -1,25 +1,5 @@
{
"nodes": {
"ai-usage": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1791814870,
"narHash": "sha256-z8oGuIY9I/MvgOoeNLBFg9aj9ySOEj6mw0224gQsh2U=",
"ref": "refs/heads/master",
"rev": "81ec07a9aa01d9d5773187c7ad285482f1bf1525",
"revCount": 3,
"type": "git",
"url": "https://git.een.ninja/armel/ai-usage.git"
},
"original": {
"type": "git",
"url": "https://git.een.ninja/armel/ai-usage.git"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
@@ -27,11 +7,11 @@
]
},
"locked": {
"lastModified": 1792438572,
"narHash": "sha256-5mQQOcggBRBXB7NlzUxO0dbvQN4euJOISjNybrtfxPk=",
"lastModified": 1781184346,
"narHash": "sha256-cZRlW47U6A2nWvAmnZeeO6Xvq23gxYbVLel4KxqOrcQ=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "24f8f8e786f87d6a818e1746cb2389bf922afdab",
"rev": "ea6d221d7aa85652d014b6f719dddf036037515b",
"type": "github"
},
"original": {
@@ -43,11 +23,11 @@
},
"nix-flatpak": {
"locked": {
"lastModified": 1791644268,
"narHash": "sha256-f7Z4PmfnRxf7+37NN48ep+KsQauGtL5REE99pJtMNp8=",
"lastModified": 1780908363,
"narHash": "sha256-llGS4y3Qh1eUkli3/Y2VY9FV3GOUKFZR1E2BDftt45Q=",
"owner": "gmodena",
"repo": "nix-flatpak",
"rev": "02656785ab214fa1c9655f1beaaf0269eeeec2ca",
"rev": "1df08625f0f8c7d6e300a0e5df7955bbb877d809",
"type": "github"
},
"original": {
@@ -58,11 +38,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1792615934,
"narHash": "sha256-MlvRfa1O5Cqc2/a+gG+l9TSuowEoCKCmrJ1d9oAVm0I=",
"lastModified": 1780902259,
"narHash": "sha256-q8yYEC5f1mFlQO9RGna4LTc9QrcvWunX6FYp83munkQ=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "da6dc0e7b26060f2f71ce3ef7088fb56ee44fa36",
"rev": "bd0ff2d3eac24699c3664d5966b9ef36f388e2ca",
"type": "github"
},
"original": {
@@ -74,11 +54,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1792506237,
"narHash": "sha256-Q/8KLB6jNfpaUN1HAedE/u/Et9feE/zYSsutBLKrCFk=",
"lastModified": 1781141223,
"narHash": "sha256-Eye4UQJjC4TLobclolFCMl6MrjgiF6Bk1cOI5x8SH00=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "5adc50831c259f87faeb09ddf930d43597197473",
"rev": "b503dde361500433ca25a32e8f4d218bf58fb659",
"type": "github"
},
"original": {
@@ -90,7 +70,6 @@
},
"root": {
"inputs": {
"ai-usage": "ai-usage",
"home-manager": "home-manager",
"nix-flatpak": "nix-flatpak",
"nixpkgs": "nixpkgs",
-5
View File
@@ -19,11 +19,6 @@
url = "github:gmodena/nix-flatpak";
inputs.nixpkgs.follows = "nixpkgs";
};
ai-usage = {
url = "git+https://git.een.ninja/armel/ai-usage.git";
inputs.nixpkgs.follows = "nixpkgs";
};
};
# This strange syntax is a workaround for the intentional limitations of `flake.nix` files.
-80
View File
@@ -1,80 +0,0 @@
# 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
, ...
}:
{
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix
../../modules/home-manager.nix
../../modules/common.nix
../../modules/users.nix
../../modules/locales.nix
../../modules/services.nix
../../modules/programs.nix
../../modules/docker.nix
../../modules/printing.nix
../../modules/bambu-studio-flatpak.nix
../../modules/arduino-ide.nix
../../modules/devenv.nix
../../modules/vlc.nix
../../modules/btop.nix
../../modules/lazygit.nix
# ../../modules/bitwarden.nix
];
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.loader.systemd-boot.enable = false;
boot.loader = {
efi = {
canTouchEfiVariables = true;
efiSysMountPoint = "/boot/efi"; # ← use the same mount point here.
};
grub = {
efiSupport = true;
device = "nodev";
};
};
networking.hostName = "balrog";
networking.networkmanager.enable = true;
networking.nameservers = [
"192.168.68.56"
"1.1.1.1"
"8.8.8.8"
];
hardware.enableAllFirmware = true;
boot.initrd.kernelModules = [ "wl" ];
boot.kernelModules = [
"wl"
"kvm-intel"
];
boot.extraModulePackages = with config.boot.kernelPackages; [
broadcom_sta
];
nixpkgs.config = {
allowInsecurePredicate = pkg: builtins.elem (lib.getName pkg) [ "broadcom-sta" ];
};
hardware.bluetooth.enable = true;
services.blueman.enable = true;
home-manager.users.avravels.home.hyprland.monitors = [
{
output = "eDP-1";
mode = "1920x1200";
}
];
system.stateVersion = "25.11"; # Did you read the comment?
}
-45
View File
@@ -1,45 +0,0 @@
# 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"
"usbhid"
"usb_storage"
"sd_mod"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" = {
device = "/dev/disk/by-uuid/6795dc19-3130-4693-b04c-a2c56fbdbd55";
fsType = "ext4";
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/A202-E19C";
fsType = "vfat";
options = [
"fmask=0022"
"dmask=0022"
];
};
swapDevices = [ ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}
-78
View File
@@ -1,78 +0,0 @@
{ config, pkgs, ... }:
{
imports = [
./hardware-configuration.nix
../../modules/home-manager.nix
../../modules/common.nix
../../modules/users.nix
../../modules/locales.nix
../../modules/services.nix
../../modules/programs.nix
../../modules/gaming.nix
../../modules/obs-studio.nix
../../modules/garbage-collection.nix
../../modules/printing.nix
../../modules/docker.nix
../../modules/matrix.nix
../../modules/kdenlive.nix
../../modules/audacity.nix
#../../modules/ollama.nix
../../modules/wireguard.nix
../../modules/qbittorrent.nix
../../modules/gimp.nix
../../modules/openscad.nix
../../modules/bambu-studio-flatpak.nix
../../modules/arduino-ide.nix
../../modules/bitwarden.nix
../../modules/vlc.nix
../../modules/devenv.nix
../../modules/btop.nix
../../modules/discord.nix
../../modules/lazygit.nix
../../modules/yazi.nix
../../modules/cursor-cli.nix
../../modules/openrct2.nix
../../modules/jazz2.nix
../../modules/opencode.nix
../../modules/git-churn.nix
../../modules/photocraft.nix
];
# boot.kernelPackages = pkgs.linuxPackages_7_2;
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking.hostName = "gandalf";
networking.networkmanager.enable = true;
networking.nameservers = [
# "192.168.68.56"
"1.1.1.1"
"8.8.8.8"
];
networking.firewall.enable = false;
networking.interfaces.enp130s0.wakeOnLan.enable = true;
networking.firewall.allowedUDPPorts = [ 9 ];
services.xserver.videoDrivers = [ "nvidia" ];
services.openssh.settings.X11Forwarding = true;
hardware = {
graphics.enable = true;
nvidia.modesetting.enable = true;
nvidia.open = true;
nvidia.nvidiaSettings = true;
};
systemd.targets.sleep.enable = false;
systemd.targets.suspend.enable = false;
systemd.targets.hibernate.enable = false;
systemd.targets.hybrid-sleep.enable = false;
virtualisation.libvirtd.enable = true;
system.stateVersion = "25.11"; # Did you read the comment?
}
-46
View File
@@ -1,46 +0,0 @@
# 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"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" = {
device = "/dev/disk/by-uuid/fbdcecb5-3a2b-4bd5-9586-4de834200363";
fsType = "ext4";
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/01E4-5DD7";
fsType = "vfat";
options = [
"fmask=0077"
"dmask=0077"
];
};
swapDevices = [ ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}
-50
View File
@@ -1,50 +0,0 @@
# 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"
"sd_mod"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" = {
device = "/dev/disk/by-uuid/3369db74-89ad-4b2f-b843-485c1b4f356b";
fsType = "ext4";
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/C4C8-E90E";
fsType = "vfat";
options = [
"fmask=0022"
"dmask=0022"
];
};
fileSystems."/media" = {
device = "/dev/disk/by-uuid/faa2f6ba-00a5-46e4-9b03-a031509dd232";
fsType = "ext4";
};
swapDevices = [ ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}
-79
View File
@@ -1,79 +0,0 @@
{ config, home-manager, pkgs, ... }:
{
imports = [
./hardware-configuration.nix
../../modules/home-manager.nix
../../modules/common.nix
../../modules/users.nix
../../modules/locales.nix
../../modules/services.nix
../../modules/programs.nix
../../modules/garbage-collection.nix
../../modules/printing.nix
../../modules/docker.nix
../../modules/teams-for-linux.nix
../../modules/azure-data-studio.nix
../../modules/filezilla.nix
../../modules/wireguard.nix
../../modules/remmina.nix
../../modules/postman.nix
../../modules/gimp.nix
../../modules/jq.nix
../../modules/enova.nix
../../modules/devenv.nix
../../modules/bitwarden.nix
../../modules/btop.nix
../../modules/vlc.nix
../../modules/lazygit.nix
../../modules/yazi.nix
../../modules/bubblewrap.nix
../../modules/socat.nix
../../modules/cursor-cli.nix
../../modules/git-churn.nix
../../modules/ai-usage.nix
../../modules/photocraft.nix
];
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.plymouth.enable = true;
boot.plymouth.theme = "spinner";
boot.initrd.systemd.enable = true;
programs.nix-ld.enable = true;
networking.hostName = "laptop-armel";
home-manager.users.avravels.home.git.userName = "Armel van Ravels";
home-manager.users.avravels.home.git.userEmail = "armel@webavance.nl";
networking.networkmanager.enable = true;
networking.nameservers = [
"127.0.0.1"
"192.168.68.56"
"1.1.1.1"
"8.8.8.8"
];
networking.firewall.enable = false;
hardware.graphics.enable = true;
services.xserver.videoDrivers = [ "intel" ];
virtualisation.libvirtd.enable = true;
networking.hosts = {
"127.0.0.1" = [
"local.wormundco.de"
"local.wormundco.nl"
"local.wormenco.nl"
"local.wurmundco.de"
];
"149.210.174.226" = [ "kindertelefoon" ];
};
system.stateVersion = "25.11"; # Did you read the comment?
}
-48
View File
@@ -1,48 +0,0 @@
# 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"
"nvme"
"usb_storage"
"usbhid"
"sd_mod"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" = {
device = "/dev/mapper/luks-5217fae8-1b85-4667-abb7-2b4ca7d443ba";
fsType = "ext4";
};
boot.initrd.luks.devices."luks-5217fae8-1b85-4667-abb7-2b4ca7d443ba".device =
"/dev/disk/by-uuid/5217fae8-1b85-4667-abb7-2b4ca7d443ba";
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/3892-6129";
fsType = "vfat";
options = [
"fmask=0077"
"dmask=0077"
];
};
swapDevices = [ ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}
-15
View File
@@ -1,15 +0,0 @@
{ pkgs, ai-usage, home-manager, ... }:
{
home-manager.users.avravels = {
imports = [ ai-usage.homeManagerModules.default ];
programs.ai-usage = {
enable = true;
providers.cursor.enable = true;
providers.codex.enable = false;
providers.claude.enable = false;
package = ai-usage.packages.${pkgs.stdenv.hostPlatform.system}.default;
};
};
}
-7
View File
@@ -1,7 +0,0 @@
{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
btop
];
}
-8
View File
@@ -1,8 +0,0 @@
{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
bubblewrap
];
}
-8
View File
@@ -1,8 +0,0 @@
{ config, pkgsUnstable, ... }:
{
environment.systemPackages = with pkgsUnstable; [
cursor-cli
];
}
-12
View File
@@ -1,12 +0,0 @@
{ config, pkgsUnstable, ... }:
{
environment.systemPackages = with pkgsUnstable; [
devenv
];
nix.settings.trusted-users = [
"root"
"avravels"
];
}
-8
View File
@@ -1,8 +0,0 @@
{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
discord
];
}
-23
View File
@@ -1,23 +0,0 @@
{ pkgs, ... }:
{
environment.systemPackages = [
(pkgs.writeShellApplication {
name = "git-churn";
runtimeInputs = with pkgs; [
git
coreutils
gnugrep
];
text = ''
git log -M -C --name-only --format='format:' "$@" |
sort |
grep -v '^$' |
uniq -c |
sort -n
'';
})
];
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 MiB

-39
View File
@@ -1,39 +0,0 @@
{ pkgs, config, ... }:
{
programs.firefox = {
enable = true;
configPath = "${config.xdg.configHome}/mozilla/firefox";
profiles.default = {
settings = {
"extensions.activeThemeID" = "firefox-compact-dark@mozilla.org";
};
};
policies = {
# From https://discourse.nixos.org/t/declare-firefox-extensions-and-settings/36265/17
ExtensionSettings =
with builtins;
let
extension = shortId: uuid: {
name = uuid;
value = {
install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${shortId}/latest.xpi";
installation_mode = "normal_installed";
};
};
in
listToAttrs [
(extension "bitwarden-password-manager" "{446900e4-71c2-419f-a6a7-df9c091e268b}")
(extension "ublock-origin" "uBlock0@raymondhill.net")
(extension "privacy-badger17" "jid1-MnnxcxisBPnSXQ@jetpack")
(extension "i-dont-care-about-cookies" "jid1-KKzOGWgsW3Ao4Q@jetpack")
];
# To add additional extensions, find it on addons.mozilla.org, find
# the short ID in the url (like https://addons.mozilla.org/en-US/firefox/addon/!SHORT_ID!/)
# Then, download the XPI by filling it in to the install_url template, unzip it,
# run `jq .browser_specific_settings.gecko.id manifest.json` or
# `jq .applications.gecko.id manifest.json` to get the UUID
};
};
}
-162
View File
@@ -1,162 +0,0 @@
{ pkgs, ... }:
{
programs.neovim = {
enable = true;
withRuby = false;
withPython3 = false;
defaultEditor = true;
extraLuaPackages = ps: [ ps.magick ];
extraPackages = [
pkgs.ueberzugpp
pkgs.imagemagick
pkgs.intelephense
];
plugins = with pkgs.vimPlugins; [
neo-tree-nvim
catppuccin-nvim
tokyonight-nvim
nvim-lspconfig
nvim-cmp
cmp-nvim-lsp
cmp-buffer
cmp-path
plenary-nvim
telescope-nvim
(nvim-treesitter.withAllGrammars)
vim-nix
lualine-nvim
image-nvim
];
initLua = ''
vim.cmd("colorscheme catppuccin-mocha")
-- Basic settings
vim.o.number = true
vim.o.relativenumber = true
-- =========================
-- LSP (Neovim 0.11+ way)
-- =========================
-- Add cmp capabilities
local capabilities = require("cmp_nvim_lsp").default_capabilities()
vim.lsp.config("nil_ls", {
capabilities = capabilities,
})
-- PHP LSP
vim.lsp.config("intelephense", {
capabilities = capabilities,
})
vim.lsp.enable("intelephense")
vim.lsp.enable("nil_ls")
-- =========================
-- nvim-cmp
-- =========================
local cmp = require("cmp")
cmp.setup({
mapping = cmp.mapping.preset.insert({
["<C-Space>"] = cmp.mapping.complete(),
["<CR>"] = cmp.mapping.confirm({ select = true }),
}),
sources = {
{ name = "nvim_lsp" },
{ name = "buffer" },
{ name = "path" },
}
})
-- =========================
-- Telescope
-- =========================
local builtin = require("telescope.builtin")
vim.keymap.set("n", "<leader>ff", builtin.find_files, {})
vim.keymap.set("n", "<leader>fg", builtin.live_grep, {})
-- =========================
-- Lualine (status line with Git branch)
-- =========================
require('lualine').setup {
options = {
theme = 'catppuccin', -- match your colorscheme
section_separators = {'', ''},
component_separators = {'', ''},
},
sections = {
lualine_a = {'mode'},
lualine_b = {'branch'}, -- shows Git branch here
lualine_c = {'filename'},
lualine_x = {'encoding', 'fileformat', 'filetype'},
lualine_y = {'progress'},
lualine_z = {'location'}
}
}
-- =========================
-- image-nvim
-- =========================
require("image").setup({
backend = "ueberzug", -- or "ueberzug" or "sixel"
processor = "magick_cli", -- or "magick_rock"
integrations = {
markdown = {
enabled = true,
clear_in_insert_mode = false,
download_remote_images = true,
only_render_image_at_cursor = false,
only_render_image_at_cursor_mode = "popup", -- or "inline"
floating_windows = false, -- if true, images will be rendered in floating markdown windows
filetypes = { "markdown", "vimwiki" }, -- markdown extensions (ie. quarto) can go here
},
asciidoc = {
enabled = true,
clear_in_insert_mode = false,
download_remote_images = true,
only_render_image_at_cursor = false,
only_render_image_at_cursor_mode = "popup",
floating_windows = false,
filetypes = { "asciidoc", "adoc" },
},
neorg = {
enabled = true,
filetypes = { "norg" },
},
rst = {
enabled = true,
},
typst = {
enabled = true,
filetypes = { "typst" },
},
html = {
enabled = false,
},
css = {
enabled = false,
},
},
max_width = nil,
max_height = nil,
max_width_window_percentage = nil,
max_height_window_percentage = 50,
scale_factor = 1.0,
window_overlap_clear_enabled = false, -- toggles images when windows are overlapped
window_overlap_clear_ft_ignore = { "cmp_menu", "cmp_docs", "snacks_notif", "scrollview", "scrollview_sign" },
editor_only_render_when_focused = false, -- auto show/hide images when the editor gains/looses focus
tmux_show_only_in_active_window = false, -- auto show/hide images in the correct Tmux window (needs visual-activity off)
hijack_file_patterns = { "*.png", "*.jpg", "*.jpeg", "*.gif", "*.webp", "*.avif" }, -- render image files as images when opened
})
'';
};
}
-86
View File
@@ -1,86 +0,0 @@
{ pkgs, pkgsUnstable, ... }:
let
extensions = with pkgs.vscode-extensions; [
ms-dotnettools.csharp
ms-dotnettools.csdevkit
ms-dotnettools.vscode-dotnet-runtime
mkhl.direnv
catppuccin.catppuccin-vsc
bmewburn.vscode-intelephense-client
vue.volar
ms-vscode-remote.remote-containers
(pkgs.vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
publisher = "ryanluker";
name = "vscode-coverage-gutters";
version = "2.14.0"; # use the current version
sha256 = "sha256-waF3FmncUsXqWFWGRy9X7RQ29BDRYlaqyFhEXg4HXNo";
};
})
(pkgs.vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
publisher = "laravel";
name = "vscode-laravel";
version = "1.7.0"; # use the current version
sha256 = "sha256-5PVbv5hWIdsOHvYttnf2BPeqfPXsOVENrnRyiUf/Hlg=";
};
})
(pkgs.vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
publisher = "amiralizadeh9480";
name = "laravel-extra-intellisense";
version = "0.7.4"; # use the current version
sha256 = "sha256-EoyKm2YYfEZDmI1mqRU/SaNk0bNLPrWVINpIhglnL80=";
};
})
(pkgs.vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
publisher = "recca0120";
name = "vscode-phpunit";
version = "3.9.40"; # use the current version
sha256 = "sha256-EVyDT5aXu1KsGr8xrBQlIRCMOtiCyHgU7aDjl9d9ldY=";
};
})
];
userSettings = {
"editor.lineNumbers" = "relative";
"workbench.colorTheme" = "Catppuccin Mocha";
"workbench.editor.enablePreview" = false;
"workbench.activityBar.orientation" = "vertical";
"direnv.restart.automatic" = true;
"terminal.integrated.defaultProfile.linux" = "zsh";
"terminal.integrated.profiles.linux".zsh = {
path = "${pkgs.zsh}/bin/zsh";
};
# PHPUnit
"phpunit.command" =
"docker compose exec laravel.test \${php} \${phpargs} \${phpunit} \${phpunitargs}";
"phpunit.phpunit" = "artisan test";
"phpunit.paths" = {
"\${workspaceFolder}" = "/var/www/html";
};
"LaravelExtraIntellisense.basePathForCode" = "/var/www/html";
};
editors = {
vscode = pkgsUnstable.vscode.fhs;
cursor = pkgsUnstable.code-cursor-fhs;
vscodium = pkgsUnstable.vscodium-fhs;
};
mkEditor = package: {
enable = true;
inherit package;
profiles.default = {
inherit extensions;
inherit userSettings;
};
};
in
{
programs = builtins.mapAttrs (_: mkEditor) editors;
}
@@ -1,59 +0,0 @@
dex() {
clear
local container
container=$(
docker ps --format '{{.Names}}\t{{.Image}}\t{{.Status}}' |
sort |
fzf \
--delimiter=$'\t' \
--with-nth=1,2,3 \
--header=$'Ctrl-I: Inspect | Ctrl-L: Logs | Ctrl-R: Refresh | ?: Toggle Preview\n\nNAME\tIMAGE\tSTATUS' \
--tabstop=4 \
--height=100% \
--layout=reverse \
--border=rounded \
--info=inline-right \
--prompt='🐳 Container > ' \
--pointer='▶' \
--marker='✓' \
--preview 'docker logs -f --tail=50 {1} 2>&1' \
--preview-label=' Logs ' \
--preview-window='right,65%,follow,border-left,wrap' \
--bind 'ctrl-r:reload(docker ps --format "{{.Names}}\t{{.Image}}\t{{.Status}}" | sort)' \
--bind 'ctrl-u:preview-half-page-up' \
--bind 'ctrl-d:preview-half-page-down' \
--bind '?:toggle-preview' \
--bind 'ctrl-l:change-preview(docker logs -f --tail=50 {1} 2>&1)+change-preview-label(Logs)' \
--bind 'ctrl-i:change-preview(
docker inspect --format "
Name: {{.Name}}
Image: {{.Config.Image}}
Status: {{.State.Status}}
Running: {{.State.Running}}
Started: {{.State.StartedAt}}
Finished: {{.State.FinishedAt}}
PID: {{.State.Pid}}
Exit Code: {{.State.ExitCode}}
Networks:
{{range .NetworkSettings.Networks}} • {{.IPAddress}}
{{end}}
Mounts:
{{range .Mounts}} • {{.Source}} -> {{.Destination}}
{{end}}
" {1}
)+change-preview-label(Inspect)' |
cut -f1
) || return
docker exec -it "$container" sh -c '
for shell in bash ash zsh sh; do
command -v "$shell" >/dev/null 2>&1 && exec "$shell"
done
echo "No suitable shell found." >&2
exit 1
'
}
-216
View File
@@ -1,216 +0,0 @@
{ lib
, pkgs
, config
, ...
}:
let
cfg = config.home.hyprland;
toggleRecorder = import ./scripts/toggle-recorder.nix { inherit pkgs; };
in
{
options.home.hyprland.monitors = lib.mkOption {
type = lib.types.listOf (lib.types.submodule {
options = {
output = lib.mkOption { type = lib.types.str; };
mode = lib.mkOption {
type = lib.types.str;
default = "preferred";
};
position = lib.mkOption {
type = lib.types.str;
default = "auto";
};
scale = lib.mkOption {
type = lib.types.number;
default = 1;
};
};
});
default = [ ];
};
config = {
home.packages = with pkgs; [
bzmenu
hyprshot
hyprlock
playerctl
speedcrunch
toggleRecorder
];
wayland.windowManager.hyprland = {
enable = true;
configType = "lua";
settings =
let
mkLuaInline = lib.generators.mkLuaInline;
toLua = lib.generators.toLua;
mkArgs = args: { _args = args; };
defaultMonitor = {
output = "";
mode = "preferred";
position = "auto";
scale = 1;
};
bind =
keys: dispatcher: options:
mkArgs [
keys
dispatcher
options
];
dsp = {
exec_cmd = app: mkLuaInline ''hl.dsp.exec_cmd("${app}")'';
focus = arg: mkLuaInline "hl.dsp.focus(${toLua { } arg})";
window = {
move = arg: mkLuaInline "hl.dsp.window.move(${toLua { } arg})";
drag = mkLuaInline "hl.dsp.window.drag()";
resize = mkLuaInline "hl.dsp.window.resize()";
close = mkLuaInline "hl.dsp.window.close()";
kill = mkLuaInline "hl.dsp.window.kill()";
fullscreen = mkLuaInline "hl.dsp.window.fullscreen()";
};
exit = mkLuaInline "hl.dsp.exit()";
workspace = {
move = arg: mkLuaInline "hl.dsp.workspace.move(${toLua { } arg})";
};
};
mod = "SUPER";
workspaces = lib.stringToCharacters "abcdefgimnopqrstuvwxyz";
in
{
config = {
general = {
resize_on_border = true;
allow_tearing = true;
};
animations.enabled = true;
decoration = {
inactive_opacity = 0.7;
active_opacity = 0.9;
rounding = 5;
rounding_power = 2.5;
blur = {
enabled = true;
brightness = 1.0;
contrast = 1.0;
noise = 0.01;
vibrancy = 0.2;
vibrancy_darkness = 0.5;
passes = 4;
size = 7;
popups = true;
popups_ignorealpha = 0.2;
};
shadow = {
enabled = true;
color = "rgba(00000055)";
offset = "0 15";
range = 100;
render_power = 2;
scale = 0.97;
};
};
misc = {
focus_on_activate = true;
};
};
bind = lib.flatten [
(bind "${mod} + W" (dsp.exec_cmd "pkill -SIGUSR1 -f '^waybar$'") { })
(bind "${mod} + Q" (dsp.window.close) { })
(bind "${mod} + L" (dsp.exec_cmd "hyprlock") { })
(bind "${mod} + D" (dsp.exec_cmd "rofi -show drun") { })
(bind "${mod} + B" (dsp.exec_cmd "bzmenu --launcher rofi") { })
(bind "${mod} + F" (dsp.window.fullscreen) { })
(bind "${mod} + Z" (dsp.exec_cmd "hyprshot -m region") { })
(bind "${mod} + SHIFT + Z" (dsp.exec_cmd "toggle-recorder") { })
(bind "${mod} + M" (dsp.exit) { })
(bind "${mod} + SPACE" (dsp.exec_cmd "firefox") { })
(bind "${mod} + RETURN" (dsp.exec_cmd "kitty") { })
(bind "${mod} + SHIFT + LEFT" (dsp.window.move { direction = "l"; }) { })
(bind "${mod} + SHIFT + DOWN" (dsp.window.move { direction = "d"; }) { })
(bind "${mod} + SHIFT + UP" (dsp.window.move { direction = "u"; }) { })
(bind "${mod} + SHIFT + RIGHT" (dsp.window.move { direction = "r"; }) { })
(bind "${mod} + LEFT" (dsp.focus { direction = "l"; }) { })
(bind "${mod} + DOWN" (dsp.focus { direction = "d"; }) { })
(bind "${mod} + UP" (dsp.focus { direction = "u"; }) { })
(bind "${mod} + RIGHT" (dsp.focus { direction = "r"; }) { })
(bind "${mod} + 1" (dsp.focus { workspace = 1; }) { })
(bind "${mod} + 2" (dsp.focus { workspace = 2; }) { })
(bind "${mod} + 3" (dsp.focus { workspace = 3; }) { })
(bind "${mod} + 4" (dsp.focus { workspace = 4; }) { })
(bind "${mod} + 5" (dsp.focus { workspace = 5; }) { })
(bind "${mod} + 6" (dsp.focus { workspace = 6; }) { })
(bind "${mod} + 7" (dsp.focus { workspace = 7; }) { })
(bind "${mod} + 8" (dsp.focus { workspace = 8; }) { })
(bind "${mod} + 9" (dsp.focus { workspace = 9; }) { })
(bind "${mod} + SHIFT + 1" (dsp.window.move { workspace = 1; }) { })
(bind "${mod} + SHIFT + 2" (dsp.window.move { workspace = 2; }) { })
(bind "${mod} + SHIFT + 3" (dsp.window.move { workspace = 3; }) { })
(bind "${mod} + SHIFT + 4" (dsp.window.move { workspace = 4; }) { })
(bind "${mod} + SHIFT + 5" (dsp.window.move { workspace = 5; }) { })
(bind "${mod} + SHIFT + 6" (dsp.window.move { workspace = 6; }) { })
(bind "${mod} + SHIFT + 7" (dsp.window.move { workspace = 7; }) { })
(bind "${mod} + SHIFT + 8" (dsp.window.move { workspace = 8; }) { })
(bind "${mod} + SHIFT + 9" (dsp.window.move { workspace = 9; }) { })
(bind "XF86AudioLowerVolume" (dsp.exec_cmd "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-") {
repeating = true;
locked = true;
})
(bind "XF86AudioRaiseVolume" (dsp.exec_cmd "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+") {
repeating = true;
locked = true;
})
(bind "XF86AudioPlay" (dsp.exec_cmd "playerctl play-pause") { locked = true; })
(bind "XF86AudioPrev" (dsp.exec_cmd "playerctl previous") { locked = true; })
(bind "XF86AudioNext" (dsp.exec_cmd "playerctl next") { locked = true; })
(bind "${mod} + mouse:272" dsp.window.drag { mouse = true; })
(bind "${mod} + mouse:273" dsp.window.resize { mouse = true; })
];
on = [
(mkArgs [
"hyprland.start"
(mkLuaInline ''
function()
hl.exec_cmd("waybar")
hl.monitor(${toLua {} defaultMonitor})
${lib.concatMapStringsSep "\n"
(m: "hl.monitor(${toLua {} m})")
cfg.monitors}
end
'')
])
(mkArgs [
"config.reloaded"
(mkLuaInline ''
function()
hl.monitor(${toLua {} defaultMonitor})
${lib.concatMapStringsSep "\n"
(m: "hl.monitor(${toLua {} m})")
cfg.monitors}
end
'')
])
];
};
};
};
}
@@ -1,22 +0,0 @@
{ pkgs }:
pkgs.writeShellApplication {
name = "toggle-recorder";
runtimeInputs = with pkgs; [
wf-recorder
slurp
procps
coreutils
];
text = ''
if pgrep -x wf-recorder >/dev/null; then
pkill -INT wf-recorder
else
wf-recorder \
-g "$(slurp)" \
-f "$HOME/Videos/recording-$(date +%F-%H%M%S).mp4"
fi
'';
}
-8
View File
@@ -1,8 +0,0 @@
{ pkgsUnstable, ... }:
{
environment.systemPackages = with pkgsUnstable; [
jazz2
];
}
-7
View File
@@ -1,7 +0,0 @@
{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
lazygit
];
}
-8
View File
@@ -1,8 +0,0 @@
{ pkgsUnstable, ... }:
{
environment.systemPackages = with pkgsUnstable; [
opencode
];
}
-8
View File
@@ -1,8 +0,0 @@
{ pkgsUnstable, ... }:
{
environment.systemPackages = with pkgsUnstable; [
openrct2
];
}
-7
View File
@@ -1,7 +0,0 @@
{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
(pkgs.callPackage ../packages/photocraft.nix { })
];
}
-8
View File
@@ -1,8 +0,0 @@
{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
socat
];
}
-7
View File
@@ -1,7 +0,0 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
vlc
];
}
-7
View File
@@ -1,7 +0,0 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
yazi
];
}
+57 -27
View File
@@ -1,43 +1,73 @@
{ nixpkgs
, nixpkgs-unstable
, home-manager
, nix-flatpak
, ai-usage
, ...
}:
{ nixpkgs, nixpkgs-unstable, home-manager, nix-flatpak, ... }:
let
system = "x86_64-linux";
pkgsUnstable = import nixpkgs-unstable {
mkPkgsUnstable = system: import nixpkgs-unstable {
inherit system;
config.allowUnfree = true;
};
in
mkHost =
name:
nixpkgs.lib.nixosSystem {
inherit system;
{
nixosConfigurations = {
"gandalf" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
inherit pkgsUnstable ai-usage;
pkgsUnstable = mkPkgsUnstable "x86_64-linux";
nixFlatpak = nix-flatpak;
};
modules = [
nix-flatpak.nixosModules.nix-flatpak
home-manager.nixosModules.home-manager
./hosts/${name}
./systems/gandalf
];
};
"frodo" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
pkgsUnstable = mkPkgsUnstable "x86_64-linux";
nixFlatpak = nix-flatpak;
};
modules = [
nix-flatpak.nixosModules.nix-flatpak
home-manager.nixosModules.home-manager
./systems/frodo
];
};
"legolas" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
pkgsUnstable = mkPkgsUnstable "x86_64-linux";
nixFlatpak = nix-flatpak;
};
modules = [
nix-flatpak.nixosModules.nix-flatpak
home-manager.nixosModules.home-manager
./systems/legolas
];
};
"balrog" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
pkgsUnstable = mkPkgsUnstable "x86_64-linux";
nixFlatpak = nix-flatpak;
};
modules = [
nix-flatpak.nixosModules.nix-flatpak
home-manager.nixosModules.home-manager
./systems/balrog
];
};
"work" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
pkgsUnstable = mkPkgsUnstable "x86_64-linux";
nixFlatpak = nix-flatpak;
};
modules = [
nix-flatpak.nixosModules.nix-flatpak
home-manager.nixosModules.home-manager
./systems/work
];
};
in
{
nixosConfigurations = {
gandalf = mkHost "gandalf";
frodo = mkHost "frodo";
legolas = mkHost "legolas";
balrog = mkHost "balrog";
work = mkHost "work";
};
}
-45
View File
@@ -1,45 +0,0 @@
{ lib
, appimageTools
, fetchurl
,
}:
let
pname = "photocraft";
version = "0.7.0";
src = fetchurl {
url = "https://github.com/storytold/photocraft/releases/download/v${version}/photocraft-${version}-linux-x86_64.AppImage";
hash = "sha256-h+vONrzfazHRapyiLOKfmtjbaBheTZgRiADRwt54rEI=";
};
in
appimageTools.wrapType2 {
inherit pname version src;
extraInstallCommands = ''
install -Dm644 ${src} $out/share/${pname}/source.AppImage
mkdir -p $out/share/applications
cat > $out/share/applications/${pname}.desktop <<EOF
[Desktop Entry]
Name=PhotoCraft
Comment=Open-source image editor
Exec=${pname} %F
Terminal=false
Type=Application
Categories=Graphics;RasterGraphics;
StartupNotify=true
EOF
'';
meta = {
description = "Open-source image editor";
homepage = "https://github.com/storytold/photocraft";
downloadPage = "https://github.com/storytold/photocraft/releases";
license = lib.licenses.mit;
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
platforms = [ "x86_64-linux" ];
mainProgram = "photocraft";
};
}
+57
View File
@@ -0,0 +1,57 @@
# 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, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
../modules/home-manager.nix
../modules/common.nix
../modules/users.nix
../modules/locales.nix
../modules/services.nix
../modules/programs.nix
../modules/docker.nix
../modules/printing.nix
../modules/bambu-studio-flatpak.nix
../modules/arduino-ide.nix
../modules/devenv.nix
../modules/bitwarden.nix
];
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.loader.systemd-boot.enable = false;
boot.loader = {
efi = {
canTouchEfiVariables = true;
efiSysMountPoint = "/boot/efi"; # ← use the same mount point here.
};
grub = {
efiSupport = true;
device = "nodev";
};
};
networking.hostName = "balrog";
networking.networkmanager.enable = true;
networking.nameservers = [ "192.168.68.56" "1.1.1.1" "8.8.8.8" ];
hardware.enableAllFirmware = true;
boot.initrd.kernelModules = [ "wl" ]; boot.kernelModules = [ "wl" "kvm-intel" ];
boot.extraModulePackages = with config.boot.kernelPackages; [
broadcom_sta
];
nixpkgs.config = {
allowInsecurePredicate = pkg: builtins.elem (lib.getName pkg) ["broadcom-sta"];
};
hardware.bluetooth.enable = true;
services.blueman.enable = true;
system.stateVersion = "25.11"; # Did you read the comment?
}
+31
View File
@@ -0,0 +1,31 @@
# 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" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/6795dc19-3130-4693-b04c-a2c56fbdbd55";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/A202-E19C";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
};
swapDevices = [ ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}
@@ -5,14 +5,14 @@
{ config, pkgs, ... }:
{
imports = [
# Include the results of the hardware scan.
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
../../modules/common.nix
../../modules/users.nix
../../modules/locales.nix
../../modules/services.nix
../../modules/programs.nix
../modules/common.nix
../modules/users.nix
../modules/locales.nix
../modules/services.nix
../modules/programs.nix
];
# Bootloader.
@@ -1,31 +1,20 @@
# 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
, ...
}:
{ config, lib, pkgs, modulesPath, ... }:
{
imports = [
(modulesPath + "/profiles/qemu-guest.nix")
imports =
[ (modulesPath + "/profiles/qemu-guest.nix")
];
boot.initrd.availableKernelModules = [
"ahci"
"xhci_pci"
"virtio_pci"
"sr_mod"
"virtio_blk"
];
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" = {
device = "/dev/disk/by-uuid/abc73402-b278-4995-a3bf-4bd28646285a";
fileSystems."/" =
{ device = "/dev/disk/by-uuid/abc73402-b278-4995-a3bf-4bd28646285a";
fsType = "ext4";
};
+84
View File
@@ -0,0 +1,84 @@
{ config, pkgs, ... }:
{
imports =
[
./hardware-configuration.nix
../modules/home-manager.nix
../modules/common.nix
../modules/users.nix
../modules/locales.nix
../modules/services.nix
../modules/programs.nix
../modules/gaming.nix
../modules/obs-studio.nix
../modules/garbage-collection.nix
../modules/printing.nix
../modules/docker.nix
../modules/matrix.nix
../modules/kdenlive.nix
../modules/audacity.nix
../modules/ollama.nix
../modules/wireguard.nix
../modules/qbittorrent.nix
../modules/gimp.nix
../modules/openscad.nix
../modules/bambu-studio-flatpak.nix
../modules/arduino-ide.nix
../modules/bitwarden.nix
];
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking.hostName = "gandalf";
networking.networkmanager.enable = true;
networking.nameservers = [ "192.168.68.56" "1.1.1.1" "8.8.8.8" ];
networking.firewall.enable = false;
home-manager.users.avravels.home.hyprland.execOnce = [
"waybar"
"[workspace 1 silent] kitty"
"[workspace 1 silent] spotify"
"[workspace 2 silent] firefox"
];
networking.interfaces.enp130s0.wakeOnLan.enable = true;
networking.firewall.allowedUDPPorts = [ 9 ];
services.xserver.videoDrivers = ["nvidia"];
services.openssh.settings.X11Forwarding = true;
hardware = {
graphics.enable = true;
nvidia.modesetting.enable = true;
nvidia.open = true;
nvidia.nvidiaSettings = true;
};
systemd.targets.sleep.enable = false;
systemd.targets.suspend.enable = false;
systemd.targets.hibernate.enable = false;
systemd.targets.hybrid-sleep.enable = false;
virtualisation.libvirtd.enable = true;
services = {
# Bluetooth fixes
# Can be removed when https://github.com/NixOS/nixpkgs/pull/499670 is merged and in 25.11
udev.extraRules = ''
SUBSYSTEM=="usb", ENV{ID_VENDOR_ID}=="0489", ENV{ID_MODEL_ID}=="e111", ENV{UDISKS_IGNORE}="1", ENV{ID_MEDIA_PLAYER}="", ENV{ID_MTP_DEVICE}="", ENV{ID_GPHOTO2}="", ENV{ID_INPUT}="", ENV{SOLID_IGNORE}="1", TAG-="uaccess"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0489", ATTRS{idProduct}=="e111", ENV{DEVTYPE}=="usb_interface", ENV{UDISKS_IGNORE}="1", ENV{ID_MEDIA_PLAYER}="", ENV{ID_MTP_DEVICE}="", ENV{ID_GPHOTO2}="", ENV{ID_INPUT}="", ENV{SOLID_IGNORE}="1", TAG-="uaccess"
SUBSYSTEM=="usb", KERNEL=="3-14:*", ENV{UDISKS_IGNORE}="1", ENV{ID_MEDIA_PLAYER}="", ENV{ID_MTP_DEVICE}="", ENV{ID_GPHOTO2}="", ENV{ID_INPUT}="", ENV{SOLID_IGNORE}="1", TAG-="uaccess"
SUBSYSTEM=="usb", KERNELS=="3-14", ENV{UDISKS_IGNORE}="1", ENV{ID_MEDIA_PLAYER}="", ENV{ID_MTP_DEVICE}="", ENV{ID_GPHOTO2}="", ENV{SOLID_IGNORE}="1"
'';
};
system.stateVersion = "25.11"; # Did you read the comment?
}
@@ -0,0 +1,31 @@
# 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" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/fbdcecb5-3a2b-4bd5-9586-4de834200363";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/01E4-5DD7";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices = [ ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}
@@ -1,14 +1,15 @@
{ config, pkgs, ... }:
{
imports = [
imports =
[
./hardware-configuration.nix
../../modules/common.nix
../../modules/users.nix
../../modules/locales.nix
../../modules/services.nix
../../modules/programs.nix
../../modules/gaming.nix
../modules/common.nix
../modules/users.nix
../modules/locales.nix
../modules/services.nix
../modules/programs.nix
../modules/gaming.nix
];
boot.loader.systemd-boot.enable = true;
@@ -16,13 +17,9 @@
networking.hostName = "legolas";
networking.networkmanager.enable = true;
networking.nameservers = [
"192.168.68.56"
"1.1.1.1"
"8.8.8.8"
];
networking.nameservers = [ "192.168.68.56" "1.1.1.1" "8.8.8.8" ];
services.xserver.videoDrivers = [ "nvidia" ];
services.xserver.videoDrivers = ["nvidia"];
hardware = {
graphics.enable = true;
@@ -0,0 +1,36 @@
# 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" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/3369db74-89ad-4b2f-b843-485c1b4f356b";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/C4C8-E90E";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
};
fileSystems."/media" =
{ device = "/dev/disk/by-uuid/faa2f6ba-00a5-46e4-9b03-a031509dd232";
fsType = "ext4";
};
swapDevices = [ ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}
@@ -5,3 +5,4 @@
arduino-ide
];
}
File renamed without changes.
File renamed without changes.
@@ -1,7 +1,6 @@
{ pkgs, ... }:
{ pkgs, ...}:
{
services.flatpak.update.onActivation = true;
services.flatpak.enable = true;
services.flatpak.packages = [
"com.bambulab.BambuStudio"
@@ -9,3 +9,4 @@
bitwarden-desktop
];
}
@@ -3,10 +3,7 @@
{
nixpkgs.config.allowUnfree = true;
nix.settings.experimental-features = [
"nix-command"
"flakes"
];
nix.settings.experimental-features = [ "nix-command" "flakes" ];
users.defaultUserShell = pkgs.zsh;
+10
View File
@@ -0,0 +1,10 @@
{ config, pkgsUnstable, ... } :
{
environment.systemPackages = with pkgsUnstable; [
devenv
];
nix.settings.trusted-users = [ "root" "avravels" ];
}
File renamed without changes.
@@ -5,10 +5,7 @@
enable = true;
settings = {
server = [
"1.1.1.1"
"8.8.8.8"
];
server = [ "1.1.1.1" "8.8.8.8" ];
address = [ "/.enova.local/127.0.0.1" ];
};
};
File renamed without changes.
@@ -8,12 +8,13 @@
package = pkgs.steam.override {
extraEnv = {
MANGOHUD = "1";
WINE_VK_VULKAN_ONLY = "1";
WINE_VK_VULKAN_ONLY="1";
};
};
};
environment.systemPackages = [
pkgs.heroic
pkgs.mangohud
];
}
File renamed without changes.
@@ -1,4 +1,4 @@
{ config, pkgs, ... }:
{ config, pkgs, ... } :
{
environment.systemPackages = with pkgs; [
@@ -1,11 +1,11 @@
{ pkgs, ai-usage, pkgsUnstable, ... }:
{ pkgs, pkgsUnstable, ... }:
{
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
extraSpecialArgs = {
inherit pkgsUnstable ai-usage;
inherit pkgsUnstable;
};
users.avravels = import home/home.nix;
File renamed without changes.
File renamed without changes.
@@ -9,7 +9,7 @@
imports = [
./other/fonts.nix
# ./programs/bitwarden.nix
# ./programs/bitwarden.nix
./programs/kitty.nix
./programs/zsh.nix
./programs/direnv.nix
File renamed without changes.
@@ -1,4 +1,4 @@
{ pkgs, ... }:
{ pkgs, ...}:
{
home.packages = [
File renamed without changes.
+36
View File
@@ -0,0 +1,36 @@
{ pkgs, ... }:
{
programs.firefox = {
enable = true;
profiles.default = {
settings = {
"extensions.activeThemeID" = "firefox-compact-dark@mozilla.org";
};
};
policies = {
# From https://discourse.nixos.org/t/declare-firefox-extensions-and-settings/36265/17
ExtensionSettings = with builtins;
let extension = shortId: uuid: {
name = uuid;
value = {
install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${shortId}/latest.xpi";
installation_mode = "normal_installed";
};
};
in listToAttrs [
(extension "bitwarden-password-manager" "{446900e4-71c2-419f-a6a7-df9c091e268b}")
(extension "ublock-origin" "uBlock0@raymondhill.net")
(extension "privacy-badger17" "jid1-MnnxcxisBPnSXQ@jetpack")
(extension "i-dont-care-about-cookies" "jid1-KKzOGWgsW3Ao4Q@jetpack")
];
# To add additional extensions, find it on addons.mozilla.org, find
# the short ID in the url (like https://addons.mozilla.org/en-US/firefox/addon/!SHORT_ID!/)
# Then, download the XPI by filling it in to the install_url template, unzip it,
# run `jq .browser_specific_settings.gecko.id manifest.json` or
# `jq .applications.gecko.id manifest.json` to get the UUID
};
};
}
@@ -1,8 +1,4 @@
{ lib
, pkgsUnstable
, config
, ...
}:
{ lib, pkgsUnstable, config, ... }:
{
options.home.git = {
@@ -4,6 +4,5 @@
programs.kitty = {
enable = true;
settings.confirm_quit = false;
settings.remember_window_size = false;
};
}
+159
View File
@@ -0,0 +1,159 @@
{ pkgs, ... }:
{
programs.neovim = {
enable = true;
defaultEditor = true;
extraLuaPackages = ps: [ ps.magick ];
extraPackages = [
pkgs.ueberzugpp
pkgs.imagemagick
];
plugins = with pkgs.vimPlugins; [
neo-tree-nvim
catppuccin-nvim
tokyonight-nvim
nvim-lspconfig
nvim-cmp
cmp-nvim-lsp
cmp-buffer
cmp-path
plenary-nvim
telescope-nvim
(nvim-treesitter.withAllGrammars)
vim-nix
lualine-nvim
image-nvim
];
extraLuaConfig = ''
vim.cmd("colorscheme catppuccin-mocha")
-- Basic settings
vim.o.number = true
vim.o.relativenumber = true
-- =========================
-- LSP (Neovim 0.11+ way)
-- =========================
-- Add cmp capabilities
local capabilities = require("cmp_nvim_lsp").default_capabilities()
vim.lsp.config("nil_ls", {
capabilities = capabilities,
})
-- PHP LSP
vim.lsp.config("intelephense", {
capabilities = capabilities,
})
vim.lsp.enable("intelephense")
vim.lsp.enable("nil_ls")
-- =========================
-- nvim-cmp
-- =========================
local cmp = require("cmp")
cmp.setup({
mapping = cmp.mapping.preset.insert({
["<C-Space>"] = cmp.mapping.complete(),
["<CR>"] = cmp.mapping.confirm({ select = true }),
}),
sources = {
{ name = "nvim_lsp" },
{ name = "buffer" },
{ name = "path" },
}
})
-- =========================
-- Telescope
-- =========================
local builtin = require("telescope.builtin")
vim.keymap.set("n", "<leader>ff", builtin.find_files, {})
vim.keymap.set("n", "<leader>fg", builtin.live_grep, {})
-- =========================
-- Lualine (status line with Git branch)
-- =========================
require('lualine').setup {
options = {
theme = 'catppuccin', -- match your colorscheme
section_separators = {'', ''},
component_separators = {'', ''},
},
sections = {
lualine_a = {'mode'},
lualine_b = {'branch'}, -- shows Git branch here
lualine_c = {'filename'},
lualine_x = {'encoding', 'fileformat', 'filetype'},
lualine_y = {'progress'},
lualine_z = {'location'}
}
}
-- =========================
-- image-nvim
-- =========================
require("image").setup({
backend = "ueberzug", -- or "ueberzug" or "sixel"
processor = "magick_cli", -- or "magick_rock"
integrations = {
markdown = {
enabled = true,
clear_in_insert_mode = false,
download_remote_images = true,
only_render_image_at_cursor = false,
only_render_image_at_cursor_mode = "popup", -- or "inline"
floating_windows = false, -- if true, images will be rendered in floating markdown windows
filetypes = { "markdown", "vimwiki" }, -- markdown extensions (ie. quarto) can go here
},
asciidoc = {
enabled = true,
clear_in_insert_mode = false,
download_remote_images = true,
only_render_image_at_cursor = false,
only_render_image_at_cursor_mode = "popup",
floating_windows = false,
filetypes = { "asciidoc", "adoc" },
},
neorg = {
enabled = true,
filetypes = { "norg" },
},
rst = {
enabled = true,
},
typst = {
enabled = true,
filetypes = { "typst" },
},
html = {
enabled = false,
},
css = {
enabled = false,
},
},
max_width = nil,
max_height = nil,
max_width_window_percentage = nil,
max_height_window_percentage = 50,
scale_factor = 1.0,
window_overlap_clear_enabled = false, -- toggles images when windows are overlapped
window_overlap_clear_ft_ignore = { "cmp_menu", "cmp_docs", "snacks_notif", "scrollview", "scrollview_sign" },
editor_only_render_when_focused = false, -- auto show/hide images when the editor gains/looses focus
tmux_show_only_in_active_window = false, -- auto show/hide images in the correct Tmux window (needs visual-activity off)
hijack_file_patterns = { "*.png", "*.jpg", "*.jpeg", "*.gif", "*.webp", "*.avif" }, -- render image files as images when opened
})
'';
};
}
@@ -5,3 +5,4 @@
ripgrep
];
}
File renamed without changes.
+31
View File
@@ -0,0 +1,31 @@
{ pkgs, pkgsUnstable, ... }:
{
programs.vscode = {
enable = true;
package = pkgsUnstable.vscode.fhs;
profiles.default.extensions = with pkgs.vscode-extensions; [
ms-dotnettools.csharp
ms-dotnettools.csdevkit
ms-dotnettools.vscode-dotnet-runtime
mkhl.direnv # Direnv integration for VSCode
catppuccin.catppuccin-vsc
bmewburn.vscode-intelephense-client
continue.continue
];
profiles.default.userSettings = {
"editor.lineNumbers" = "relative";
"workbench.colorTheme" = "Catppuccin Mocha";
"workbench.editor.enablePreview" = false;
"direnv.restart.automatic" = true;
"terminal.integrated.defaultProfile.linux" = "zsh";
"terminal.integrated.profiles.linux" = {
zsh = {
path = pkgs.zsh;
};
};
};
};
}
@@ -1,12 +1,11 @@
{ pkgs, ... }:
{
home.file.".zsh/fastfetch.jsonc".source = ./fastfetch/config.jsonc;
home.file.".zsh/functions/dex.zsh".source = ./zsh/functions/dex.zsh;
home.file.".zsh/fastfetch.jsonc".source =
./fastfetch/config.jsonc;
programs.zsh = {
enable = true;
oh-my-zsh = {
enable = true;
theme = "agnoster";
@@ -15,8 +14,6 @@
initContent = ''
# Use kitty's ssh helper if running inside kitty
[ "$TERM" = "xterm-kitty" ] && alias ssh="kitty +kitten ssh"
source ~/.zsh/functions/dex.zsh
'';
};
}
@@ -2,8 +2,8 @@
{
home.pointerCursor = {
# name = "Bibata-Modern-Ice"; # change to your cursor theme
# package = pkgs.bibata-cursors;
# name = "Bibata-Modern-Ice"; # change to your cursor theme
# package = pkgs.bibata-cursors;
name = "Adwaita";
package = pkgs.adwaita-icon-theme;
size = 24;
File renamed without changes.
@@ -15,7 +15,6 @@
name = "Adwaita";
package = pkgs.adwaita-icon-theme;
};
gtk4.theme = null;
};
home.sessionVariables = {
+157
View File
@@ -0,0 +1,157 @@
{ lib, pkgs, config, ... }:
let
cfg = config.home.hyprland;
in
{
options.home.hyprland = {
execOnce = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [ "waybar" ];
description = "Commands to run once when Hyprland starts (maps to Hyprland `exec-once`).";
};
};
config = {
home.packages = with pkgs; [
bzmenu
hyprshot
hyprlock
playerctl
speedcrunch
];
wayland.windowManager.hyprland = {
enable = true;
settings = {
### MONITOR
monitor = [
"eDP-1,1920x1200,auto,1"
"DP-3,2440x1440,auto,1"
",preferred,auto,1"
];
### VARIABLES
"$mod" = "SUPER";
"$terminal" = "kitty";
"$menu" = "rofi -show drun";
"$bluetoothMenu" = "bzmenu --launcher rofi";
"$files" = "rofi -show filebrowser";
### BASIC LAYOUT
general = {
layout = "dwindle";
resize_on_border = true;
};
decoration = {
inactive_opacity = 0.8;
active_opacity = 0.9;
rounding = 5;
rounding_power = 2.5;
blur = {
enabled = true;
brightness = 1.0;
contrast = 1.0;
noise = 0.01;
vibrancy = 0.2;
vibrancy_darkness = 0.5;
passes = 4;
size = 7;
popups = true;
popups_ignorealpha = 0.2;
};
shadow = {
enabled = true;
color = "rgba(00000055)";
#ignore_window = true;
offset = "0 15";
range = 100;
render_power = 2;
scale = 0.97;
};
};
# Use the configurable option here (default `[ "waybar" ]`)
exec-once = (if cfg == null then { execOnce = [ "waybar" ]; } else cfg).execOnce;
### INPUT
input = {
kb_layout = "us";
};
### KEYBINDINGS
bind = [
# Apps
"$mod, RETURN, exec, $terminal"
"$mod, D, exec, $menu"
"$mod, B, exec, $bluetoothMenu"
"$mod, G, exec, $files"
"$mod, Q, killactive"
"$mod, F, fullscreen"
"$mod, M, exit"
"$mod, L, exec, hyprlock"
# show/hide waybar
"$mod, W, exec, pkill -SIGUSR1 -f '^waybar$'"
# Focus
"$mod, LEFT, movefocus, l"
"$mod, RIGHT, movefocus, r"
"$mod, UP, movefocus, u"
"$mod, DOWN, movefocus, d"
# Workspaces
"$mod, 1, workspace, 1"
"$mod, 2, workspace, 2"
"$mod, 3, workspace, 3"
"$mod, 4, workspace, 4"
"$mod, 5, workspace, 5"
"$mod, 6, workspace, 6"
"$mod, 7, workspace, 7"
"$mod, 8, workspace, 8"
"$mod, 9, workspace, 9"
"$mod SHIFT, 1, movetoworkspace, 1"
"$mod SHIFT, 2, movetoworkspace, 2"
"$mod SHIFT, 3, movetoworkspace, 3"
"$mod SHIFT, 4, movetoworkspace, 4"
"$mod SHIFT, 5, movetoworkspace, 5"
"$mod SHIFT, 6, movetoworkspace, 6"
"$mod SHIFT, 7, movetoworkspace, 7"
"$mod SHIFT, 8, movetoworkspace, 8"
"$mod SHIFT, 9, movetoworkspace, 9"
# Window movement
"$mod SHIFT, LEFT, movewindow, l"
"$mod SHIFT, RIGHT, movewindow, r"
"$mod SHIFT, UP, movewindow, u"
"$mod SHIFT, DOWN, movewindow, d"
# Hyprshot
"$mod, Z, exec, hyprshot -m region"
# Media keys
", XF86AudioPlay, exec, playerctl play-pause"
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"
", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
", XF86AudioNext, exec, playerctl next"
", XF86AudioPrev, exec, playerctl previous"
", XF86Calculator, exec, speedcrunch"
];
bindm = [
"$mod, mouse:272, movewindow"
"$mod, mouse:273, resizewindow"
];
};
};
};
}
@@ -4,26 +4,19 @@ let
wallpaper = builtins.toString ../backgrounds/monkey.jpg;
wallpaper2 = builtins.toString ../backgrounds/bird.jpg;
wallpaper3 = builtins.toString ../backgrounds/nix.png;
wallpaper4 = builtins.toString ../backgrounds/catppucin.png;
in
{
services.hyprpaper = {
enable = true;
settings = {
splash = false;
preload = [
wallpaper
wallpaper2
wallpaper3
wallpaper4
];
wallpaper = [
{
monitor = "";
path = wallpaper4;
}
",${wallpaper3}"
];
};
};
File renamed without changes.
@@ -21,23 +21,12 @@
];
modules-right = [
"custom/recording"
"pulseaudio"
"cpu"
"tray"
"clock"
];
"custom/recording" = {
exec = ''
if pgrep -x wf-recorder >/dev/null; then
echo "🔴 REC"
fi
'';
interval = 1;
tooltip = false;
};
pulseaudio = {
format = "{icon} {volume}%";
format-muted = "󰝟 muted";
@@ -46,11 +35,7 @@
scroll-step = 5;
format-icons = {
default = [
"󰕿"
"󰖀"
"󰕾"
];
default = [ "󰕿" "󰖀" "󰕾" ];
};
on-click = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
@@ -61,10 +46,7 @@
format = "{player_icon} {artist} - {title}";
format-paused = "{player_icon} ⏸ {title}";
tooltip = true;
ignored-players = [
"firefox"
"vlc"
];
ignored-players = [ "firefox" "vlc" ];
};
cpu = {
+1 -1
View File
@@ -1,4 +1,4 @@
{ config, pkgs, ... }:
{ config, pkgs, ... } :
{
environment.systemPackages = with pkgs; [
@@ -1,4 +1,4 @@
{ config, pkgs, ... }:
{ config, pkgs, ... } :
{
environment.systemPackages = with pkgs; [
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -1,4 +1,5 @@
{ config, pkgs, ... }:
{ config, pkgs, ... } :
{
environment.systemPackages = with pkgs; [
File renamed without changes.
@@ -34,9 +34,6 @@
# for samba
networking.hosts = {
"192.168.68.60" = [
"2C2919000000.local"
"2C2919000000"
];
"192.168.68.60" = [ "2C2919000000.local" "2C2919000000" ];
};
}
@@ -10,3 +10,4 @@
virt-manager.enable = true;
};
}
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loaded 100 of 105 files, more files were not shown because too many files have changed in this diff. Show more