Compare commits

...

10 commits

13 changed files with 130 additions and 63 deletions

54
flake.lock generated
View file

@ -10,11 +10,11 @@
"systems": "systems" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1720546205, "lastModified": 1723293904,
"narHash": "sha256-boCXsjYVxDviyzoEyAk624600f3ZBo/DKtUdvMTpbGY=", "narHash": "sha256-b+uqzj+Wa6xgMS9aNbX4I+sXeb5biPDi39VgvSFqFvU=",
"owner": "ryantm", "owner": "ryantm",
"repo": "agenix", "repo": "agenix",
"rev": "de96bd907d5fbc3b14fc33ad37d1b9a3cb15edc6", "rev": "f6291c5935fdc4e0bef208cfc0dcab7e3f7a1c41",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -68,11 +68,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1722217815, "lastModified": 1730135292,
"narHash": "sha256-8r5AJ3n8WEDw3rsZLALSuFQ5kJyWOcssNZvPxYLr2yc=", "narHash": "sha256-QUU1P8x42b8moaUsxJkamfcRXdyNjIq79ZThzT3CVUA=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "1e6f8a7b4634fc051cc9361959bf414fcf17e094", "rev": "0e55423bf8c241cf18676a8b8424c7eadd170ffc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -90,11 +90,11 @@
"nixpkgs-stable": "nixpkgs-stable" "nixpkgs-stable": "nixpkgs-stable"
}, },
"locked": { "locked": {
"lastModified": 1722273087, "lastModified": 1730132590,
"narHash": "sha256-uELMts/UTJ4jTPQbQgOnE75flmdbWm672yDvL3QLWOI=", "narHash": "sha256-5XCF16oq/NBmx/2cJ8mK1kv+kOKNULcNWP0MsgMraq8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "emacs-overlay", "repo": "emacs-overlay",
"rev": "087cf45264b4487b2848e08548bb4c5f933d460c", "rev": "64c6af10947cd17201570726eba26046e95ed58b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -140,11 +140,11 @@
"systems": "systems_2" "systems": "systems_2"
}, },
"locked": { "locked": {
"lastModified": 1710146030, "lastModified": 1726560853,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -202,11 +202,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1722321190, "lastModified": 1730016908,
"narHash": "sha256-WeVWVRqkgrbLzmk6FfJoloJ7Xe7HWD27Pv950IUG2kI=", "narHash": "sha256-bFCxJco7d8IgmjfNExNz9knP8wvwbXU4s/d53KOK6U0=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "4fcd54df7cbb1d79cbe81209909ee8514d6b17a4", "rev": "e83414058edd339148dc142a8437edb9450574c8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -287,11 +287,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1722062969, "lastModified": 1729880355,
"narHash": "sha256-QOS0ykELUmPbrrUGmegAUlpmUFznDQeR4q7rFhl8eQg=", "narHash": "sha256-RP+OQ6koQQLX5nw0NmcDrzvGL8HDLnyXt/jHhL1jwjM=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "b73c2221a46c13557b1b3be9c2070cc42cf01eb3", "rev": "18536bf04cd71abd345f9579158841376fdd0c5a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -350,11 +350,11 @@
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1722087241, "lastModified": 1729973466,
"narHash": "sha256-2ShmEaFi0kJVOEEu5gmlykN5dwjWYWYUJmlRTvZQRpU=", "narHash": "sha256-knnVBGfTCZlQgxY1SgH0vn2OyehH9ykfF8geZgS95bk=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "8c50662509100d53229d4be607f1a3a31157fa12", "rev": "cd3e8833d70618c4eea8df06f95b364b016d4950",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -453,11 +453,11 @@
"nixpkgs-stable": "nixpkgs-stable_2" "nixpkgs-stable": "nixpkgs-stable_2"
}, },
"locked": { "locked": {
"lastModified": 1721042469, "lastModified": 1729104314,
"narHash": "sha256-6FPUl7HVtvRHCCBQne7Ylp4p+dpP3P/OYuzjztZ4s70=", "narHash": "sha256-pZRZsq5oCdJt3upZIU4aslS9XwFJ+/nVtALHIciX/BI=",
"owner": "cachix", "owner": "cachix",
"repo": "pre-commit-hooks.nix", "repo": "pre-commit-hooks.nix",
"rev": "f451c19376071a90d8c58ab1a953c6e9840527fd", "rev": "3c3e88f0f544d6bb54329832616af7eb971b6be6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -487,11 +487,11 @@
"nixpkgs-24_05": "nixpkgs-24_05" "nixpkgs-24_05": "nixpkgs-24_05"
}, },
"locked": { "locked": {
"lastModified": 1721121314, "lastModified": 1722877200,
"narHash": "sha256-zwc7YXga/1ppaZMWFreZykXtFwBgXodxUZiUx969r+g=", "narHash": "sha256-qgKDNJXs+od+1UbRy62uk7dYal3h98I4WojfIqMoGcg=",
"owner": "simple-nixos-mailserver", "owner": "simple-nixos-mailserver",
"repo": "nixos-mailserver", "repo": "nixos-mailserver",
"rev": "059b50b2e729729ea00c6831124d3837c494f3d5", "rev": "af7d3bf5daeba3fc28089b015c0dd43f06b176f2",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {

View file

@ -62,7 +62,7 @@
tools.fourmolu = pkgs.haskellPackages.fourmolu; tools.fourmolu = pkgs.haskellPackages.fourmolu;
tools.nixfmt = pkgs.nixfmt-rfc-style; tools.nixfmt = pkgs.nixfmt-rfc-style;
hooks = { hooks = {
nixfmt.enable = true; nixfmt-rfc-style.enable = true;
fourmolu.enable = true; fourmolu.enable = true;
hpack.enable = true; hpack.enable = true;
hlint.enable = true; hlint.enable = true;
@ -139,7 +139,7 @@
withHoogle = true; withHoogle = true;
nativeBuildInputs = with pkgs; [ buildInputs = with pkgs; [
haskellPackages.haskell-language-server haskellPackages.haskell-language-server
haskellPackages.fourmolu haskellPackages.fourmolu
haskellPackages.hspec-discover haskellPackages.hspec-discover

View file

@ -137,7 +137,7 @@ in
# better ls with icons and stuff, maybe also try lsd # better ls with icons and stuff, maybe also try lsd
${myEza} = { ${myEza} = {
enable = true; enable = true;
icons = true; icons = "auto";
}; };
starship = { starship = {

View file

@ -1,11 +1,24 @@
{ config, lib, pkgs, inputs, ... }: {
let electron-overlay = final: prev: { electron = final.electron_25; }; config,
in { lib,
pkgs,
inputs,
...
}:
let
electron-overlay = final: prev: { electron = final.electron_25; };
in
{
imports = [ ]; imports = [ ];
users.users."alex" = { users.users."alex" = {
isNormalUser = true; isNormalUser = true;
extraGroups = [ "input" "networkmanager" "wheel" ]; extraGroups = [
"input"
"networkmanager"
"wheel"
"video"
];
description = "Alexander Kobjolke"; description = "Alexander Kobjolke";
home = "/home/alex"; home = "/home/alex";
shell = pkgs.zsh; shell = pkgs.zsh;

View file

@ -44,18 +44,20 @@
# social # social
jitsi-meet-electron jitsi-meet-electron
discord # talk to other people discord # talk to other people
google-chrome
# system tools # system tools
uhk-agent # my keyboard uhk-agent # my keyboard
mosh # ssh via udp mosh # ssh via udp
rclone
# gaming support # gaming support
lutris lutris
bottles bottles
wine64Packages.stagingFull wine64Packages.stagingFull
scummvm
# reading # reading
calibre
]; ];
}; };

View file

@ -28,6 +28,7 @@ let
}; };
in in
{ {
programs.afew.enable = true;
programs.mbsync.enable = true; programs.mbsync.enable = true;
programs.msmtp.enable = true; programs.msmtp.enable = true;
programs.notmuch = { programs.notmuch = {

View file

@ -159,7 +159,7 @@
;;purescript ; javascript, but functional ;;purescript ; javascript, but functional
(python +lsp +tree-sitter +pyenv) ; beautiful is better than ugly (python +lsp +tree-sitter +pyenv) ; beautiful is better than ugly
qt ; the 'cutest' gui framework ever qt ; the 'cutest' gui framework ever
;;racket ; a DSL for DSLs (racket +lsp +xp) ; a DSL for DSLs
;;raku ; the artist formerly known as perl6 ;;raku ; the artist formerly known as perl6
(rest +jq) ; Emacs as a REST client (rest +jq) ; Emacs as a REST client
;;rst ; ReST in peace ;;rst ; ReST in peace

View file

@ -1,10 +1,15 @@
{ config, lib, pkgs, ... }: {
config,
lib,
pkgs,
...
}:
{ {
home.shellAliases = { home.shellAliases = {
suspend = "systemctl hibernate"; suspend = "systemctl hibernate";
nrs = "sudo nixos-rebuild switch --flake ."; nrs = "sudo nixos-rebuild switch --flake ~/src/nixos-config";
nrb = "sudo nixos-rebuild build --flake ."; nrb = "sudo nixos-rebuild build --flake ~/src/nixos-config";
}; };
programs.zsh = { programs.zsh = {
@ -12,7 +17,11 @@
autosuggestion.enable = true; autosuggestion.enable = true;
oh-my-zsh = { oh-my-zsh = {
enable = true; enable = true;
plugins = [ "git" "fzf" "fd" "z" ]; plugins = [
"git"
"fzf"
"z"
];
theme = "simple"; theme = "simple";
}; };
}; };

View file

@ -121,8 +121,8 @@ myConfig =
, ("M-C-r", WS.swapNextScreen) , ("M-C-r", WS.swapNextScreen)
, ("M-S-r", WS.shiftNextScreen) , ("M-S-r", WS.shiftNextScreen)
, -- scratchpads , -- scratchpads
("M-s s", namedScratchpadAction scratchpads "notes") ("M-s M-t", namedScratchpadAction scratchpads "shell")
, ("M-s M-s", namedScratchpadAction scratchpads "shell") , ("M-s M-s", namedScratchpadAction scratchpads "notes")
, -- backlight control , -- backlight control
("<XF86MonBrightnessDown>", spawn "xbacklight -dec 5") ("<XF86MonBrightnessDown>", spawn "xbacklight -dec 5")
@ -137,6 +137,7 @@ myConfig =
, ("M-a", sendMessage Balance) , ("M-a", sendMessage Balance)
, ("M-S-a", sendMessage Equalize) , ("M-S-a", sendMessage Equalize)
, ("M-o", sendMessage Rotate) , ("M-o", sendMessage Rotate)
, ("M-y", withFocused $ windows . W.sink)
] ]
where where
-- navigate using dvorak bindings -- navigate using dvorak bindings

View file

@ -1,11 +1,16 @@
{ config, lib, pkgs, ... }: {
config,
lib,
pkgs,
...
}:
{ {
config.services.dunst = { config.services.dunst = {
enable = true; enable = true;
iconTheme = { iconTheme = {
name = "Adwaita"; name = "Adwaita";
package = pkgs.gnome3.adwaita-icon-theme; package = pkgs.adwaita-icon-theme;
size = "16x16"; size = "16x16";
}; };
settings = { settings = {

View file

@ -1,4 +1,9 @@
{ config, lib, pkgs, ... }: {
config,
lib,
pkgs,
...
}:
{ {
home = { home = {
@ -7,8 +12,8 @@
packages = with pkgs; [ packages = with pkgs; [
firefox firefox
alacritty alacritty
gnome.gnome-session gnome-session
gnome.gnome-control-center gnome-control-center
]; ];
keyboard.layout = "de"; keyboard.layout = "de";
keyboard.variant = "nodeadkeys"; keyboard.variant = "nodeadkeys";
@ -16,6 +21,6 @@
xsession = { xsession = {
enable = true; enable = true;
windowManager.command = "${pkgs.gnome.gnome-session}/bin/gnome-session"; windowManager.command = "${pkgs.gnome-session}/bin/gnome-session";
}; };
} }

View file

@ -2,7 +2,13 @@
# your system. Help is available in the configuration.nix(5) man page # your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help). # and in the NixOS manual (accessible by running nixos-help).
{ inputs, config, pkgs, lib, ... }: {
inputs,
config,
pkgs,
lib,
...
}:
let let
nvidia-offload = pkgs.writeShellScriptBin "nvidia-offload" '' nvidia-offload = pkgs.writeShellScriptBin "nvidia-offload" ''
export __NV_PRIME_RENDER_OFFLOAD=1 export __NV_PRIME_RENDER_OFFLOAD=1
@ -11,7 +17,8 @@ let
export __VK_LAYER_NV_optimus=NVIDIA_only export __VK_LAYER_NV_optimus=NVIDIA_only
exec "$@" exec "$@"
''; '';
in { in
{
imports = [ imports = [
# Include the results of the hardware scan. # Include the results of the hardware scan.
./hardware-configuration.nix ./hardware-configuration.nix
@ -33,17 +40,21 @@ in {
networking.hostName = "dregil"; # Define your hostname. networking.hostName = "dregil"; # Define your hostname.
# Pick only one of the below networking options. # Pick only one of the below networking options.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
networking.networkmanager.enable = networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
true; # Easiest to use and most distros use this by default.
networking.extraHosts = '' networking.extraHosts = ''
127.0.0.1 localhost dregil.localdomain dregil 127.0.0.1 localhost dregil.localdomain dregil
''; '';
i18n = { i18n = {
extraLocaleSettings = { TIME_STYLE = "iso"; }; extraLocaleSettings = {
supportedLocales = TIME_STYLE = "iso";
[ "C.UTF-8/UTF-8" "en_US.UTF-8/UTF-8" "de_DE.UTF-8/UTF-8" ]; };
supportedLocales = [
"C.UTF-8/UTF-8"
"en_US.UTF-8/UTF-8"
"de_DE.UTF-8/UTF-8"
];
}; };
console = { console = {
@ -66,9 +77,16 @@ in {
# Enable CUPS to print documents. # Enable CUPS to print documents.
# services.printing.enable = true; # services.printing.enable = true;
# Enable sound. # rtkit is optional but recommended
sound.enable = true; security.rtkit.enable = true;
hardware.pulseaudio.enable = true; services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
# If you want to use JACK applications, uncomment this
#jack.enable = true;
};
# List packages installed in system profile. To search, run: # List packages installed in system profile. To search, run:
# $ nix search wget # $ nix search wget
@ -87,11 +105,17 @@ in {
nix.settings.max-jobs = 3; nix.settings.max-jobs = 3;
nix.settings.cores = 4; nix.settings.cores = 4;
programs.neovim = { enable = true; }; programs.neovim = {
enable = true;
};
programs.steam = { enable = true; }; programs.steam = {
enable = true;
};
programs.zsh = { enable = true; }; programs.zsh = {
enable = true;
};
# List services that you want to enable: # List services that you want to enable:
@ -102,8 +126,14 @@ in {
# Open ports in the firewall # Open ports in the firewall
# 22000, 21027 syncthing discovery and connectivity # 22000, 21027 syncthing discovery and connectivity
networking.firewall.allowedTCPPorts = [ 5223 22000 ]; networking.firewall.allowedTCPPorts = [
networking.firewall.allowedUDPPorts = [ 21027 22000 ]; 5223
22000
];
networking.firewall.allowedUDPPorts = [
21027
22000
];
# Or disable the firewall altogether. # Or disable the firewall altogether.
# networking.firewall.enable = false; # networking.firewall.enable = false;

View file

@ -95,6 +95,7 @@
hardware.nvidia = { hardware.nvidia = {
nvidiaSettings = true; nvidiaSettings = true;
nvidiaPersistenced = true; nvidiaPersistenced = true;
open = true;
# modesetting.enable = true; # modesetting.enable = true;
package = config.boot.kernelPackages.nvidiaPackages.beta; package = config.boot.kernelPackages.nvidiaPackages.beta;