This commit is contained in:
fwastring 2025-11-26 11:21:09 +01:00
parent 6e92984c5c
commit 789d587a7a
8 changed files with 113 additions and 106 deletions

View file

@ -26,8 +26,6 @@
minimal-tmux = { minimal-tmux = {
url = "github:niksingh710/minimal-tmux-status"; url = "github:niksingh710/minimal-tmux-status";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
disko.url = "github:nix-community/disko";
disko.inputs.nixpkgs.follows = "nixpkgs";
}; };
}; };
@ -41,7 +39,6 @@
catppuccin, catppuccin,
confetti, confetti,
bbk, bbk,
disko,
... ...
}@inputs: }@inputs:
let let
@ -88,8 +85,6 @@
catppuccin.nixosModules.catppuccin catppuccin.nixosModules.catppuccin
confetti.nixosModules.default confetti.nixosModules.default
bbk.nixosModules.default bbk.nixosModules.default
./maskiner/core/disk-config.nix
disko.nixosModules.disko
]; ];
}; };

View file

@ -6,9 +6,6 @@
... ...
}: }:
{ {
sops.defaultSopsFile = ../secrets/sops.yaml;
sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
nixpkgs = { nixpkgs = {
config = { config = {
allowUnfree = true; allowUnfree = true;
@ -96,7 +93,7 @@
garamond-libre garamond-libre
]; ];
i18n.defaultLocale = "en_US.UTF-8"; i18n.defaultLocale = "sv_SE.UTF-8";
i18n.extraLocaleSettings = { i18n.extraLocaleSettings = {
LC_ADDRESS = "sv_SE.UTF-8"; LC_ADDRESS = "sv_SE.UTF-8";
LC_IDENTIFICATION = "sv_SE.UTF-8"; LC_IDENTIFICATION = "sv_SE.UTF-8";

View file

@ -1,9 +1,6 @@
{ {
inputs, inputs,
lib,
config,
pkgs, pkgs,
myhostname,
... ...
}: }:
let let
@ -22,24 +19,23 @@ in
inputs.neovim-nightly-overlay.packages.${pkgs.stdenv.hostPlatform.system}.default inputs.neovim-nightly-overlay.packages.${pkgs.stdenv.hostPlatform.system}.default
# Nix # Nix
devenv
nixfmt-rfc-style nixfmt-rfc-style
# Docker # Docker
dive # dive
lazydocker lazydocker
# Jobb # Jobb
dotnetCorePackages.dotnet_9.sdk
gh gh
awscli # awscli
minio-client # minio-client
# dotnetCorePackages.dotnet_9.sdk
# opentofu # opentofu
# azure-cli # azure-cli
# jira-cli-go # jira-cli-go
# Blogging # Blogging
zola # zola
# System Design # System Design
# sqlc # sqlc
@ -48,10 +44,10 @@ in
# Web Dev # Web Dev
# tailwindcss # tailwindcss
prettierd # prettierd
# Go # Go
go # go
# air # air
# templ # templ
# go-migrate-pg # go-migrate-pg
@ -59,13 +55,13 @@ in
# Build # Build
git git
gcc gcc
gnumake # gnumake
cmake # cmake
# System Tools # System Tools
yq yq
jq jq
git git
qrencode # qrencode
]; ];
} }

View file

@ -5,30 +5,25 @@
... ...
}: }:
{ {
options = {
typescript.enable = lib.mkEnableOption "enables kubernetes-tools";
};
config = lib.mkIf config.kubernetes-tools.enable { environment.systemPackages = with pkgs; [
environment.systemPackages = with pkgs; [ nixd
nixd dockerfile-language-server
gopls bash-language-server
omnisharp-roslyn helm-ls
dockerfile-language-server yaml-language-server
bash-language-server lua-language-server
helm-ls marksman
yaml-language-server
lua-language-server
marksman
tofu-ls
# nodejs_22 # tofu-ls
# vue-language-server # gopls
# vtsls # omnisharp-roslyn
# typescript # nodejs_22
# typescript-language-server # vue-language-server
# nodePackages.vscode-json-languageserver # vtsls
# tailwindcss-language-server # typescript
]; # typescript-language-server
}; # nodePackages.vscode-json-languageserver
# tailwindcss-language-server
];
} }

View file

@ -15,13 +15,12 @@
}; };
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
networkmanagerapplet # networkmanager
networkmanager
iperf3
dnsutils dnsutils
aria2 # nmap
nmap # ipcalc
ipcalc # iperf3
# networkmanagerapplet
# (octodns.withProviders (ps: [ # (octodns.withProviders (ps: [
# octodns-providers.gandi # octodns-providers.gandi

View file

@ -8,17 +8,51 @@
{ {
services.udev = { services.udev = {
extraRules = '' extraRules = ''
KERNEL=="ttyACM0", MODE:="666" KERNEL=="ttyACM0", MODE:="666"
ACTION=="add", KERNEL=="sd[a-e][0-9]", ENV{ID_FS_UUID}=="3039-3932", RUN+="${pkgs.systemd}/bin/systemd-mount --no-block -A -G -o gid=users,fmask=113,dmask=002 /dev/%k /mnt/sdcard" ACTION=="add", KERNEL=="sd[a-e][0-9]", ENV{ID_FS_UUID}=="3039-3932", RUN+="${pkgs.systemd}/bin/systemd-mount --no-block -A -G -o gid=users,fmask=113,dmask=002 /dev/%k /mnt/sdcard"
ACTION=="add", KERNEL=="sd[a-e]", ENV{ID_FS_UUID}=="66BA-4EBA", RUN+="${pkgs.systemd}/bin/systemd-mount --no-block -A -G -o gid=users,fmask=113,dmask=002 /dev/%k /mnt/kobo" ACTION=="add", KERNEL=="sd[a-e]", ENV{ID_FS_UUID}=="66BA-4EBA", RUN+="${pkgs.systemd}/bin/systemd-mount --no-block -A -G -o gid=users,fmask=113,dmask=002 /dev/%k /mnt/kobo"
KERNEL=="uinput", GROUP="input", MODE="0660", OPTIONS+="static_node=uinput" KERNEL=="uinput", GROUP="input", MODE="0660", OPTIONS+="static_node=uinput"
''; '';
packages = with pkgs; [ packages = with pkgs; [
vial vial
via via
]; ];
}; };
home-manager.users.fw = {
xdg.mimeApps = {
enable = true;
defaultApplications = {
"text/html" = "librewolf.desktop";
"x-scheme-handler/http" = "librewolf.desktop";
"x-scheme-handler/https" = "librewolf.desktop";
"x-scheme-handler/about" = "librewolf.desktop";
"x-scheme-handler/unknown" = "librewolf.desktop";
"text/plain" = "nvim.desktop";
"text/markdown" = "nvim.desktop";
"text/x-markdown" = "nvim.desktop";
"application/json" = "nvim.desktop";
"application/x-ndjson" = "nvim.desktop";
"application/x-yaml" = "nvim.desktop";
"text/yaml" = "nvim.desktop";
"text/x-shellscript" = "nvim.desktop";
"text/x-python" = "nvim.desktop";
"text/x-csrc" = "nvim.desktop";
"text/x-c++src" = "nvim.desktop";
"application/x-sql" = "nvim.desktop";
"text/xml" = "nvim.desktop";
"application/xml" = "nvim.desktop";
"application/pdf" = "org.gnome.Evince.desktop";
"image/jpeg" = "feh.desktop";
"image/png" = "feh.desktop";
"image/gif" = "feh.desktop";
"image/webp" = "feh.desktop";
"image/tiff" = "feh.desktop";
"image/bmp" = "feh.desktop";
"image/svg+xml" = "feh.desktop";
};
};
};
environment.sessionVariables.DEFAULT_BROWSER = "${pkgs.librewolf}/bin/librewolf";
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
# GUI # GUI
@ -29,10 +63,10 @@
slack slack
drawio drawio
evince evince
spotify spotify
firefox firefox
# ansible # ansible
# freecad-wayland # freecad-wayland
# TUI # TUI

View file

@ -21,9 +21,6 @@
poppler-utils poppler-utils
imagemagick
pandoc
alsa-utils alsa-utils
sops sops
@ -33,19 +30,16 @@
wget wget
htop htop
procps procps
btop
procs
dysk
grc grc
vim vim
fastfetch fastfetch
bc bc
sysstat # sysstat
lm_sensors # lm_sensors
ethtool # ethtool
pciutils # pciutils
usbutils # usbutils
fzf fzf
eza eza
@ -57,40 +51,37 @@
fortune fortune
cowsay cowsay
openssl
lazygit lazygit
hyprpicker hyprpicker
typst typst
typstyle typstyle
tinymist tinymist
# (
( # let
let # base = pkgs.appimageTools.defaultFhsEnvArgs;
base = pkgs.appimageTools.defaultFhsEnvArgs; # in
in # pkgs.buildFHSEnv (
pkgs.buildFHSEnv ( # base
base # // {
// { # name = "fhs";
name = "fhs"; # targetPkgs =
targetPkgs = # pkgs:
pkgs: # # pkgs.buildFHSUserEnv provides only a minimal FHS environment,
# pkgs.buildFHSUserEnv provides only a minimal FHS environment, # # lacking many basic packages needed by most software.
# lacking many basic packages needed by most software. # # Therefore, we need to add them manually.
# Therefore, we need to add them manually. # #
# # # pkgs.appimageTools provides basic packages required by most software.
# pkgs.appimageTools provides basic packages required by most software. # (base.targetPkgs pkgs)
(base.targetPkgs pkgs) # ++ (with pkgs; [
++ (with pkgs; [ # pkg-config
pkg-config # ncurses
ncurses # # Feel free to add more packages here if needed.
# Feel free to add more packages here if needed. # ]);
]); # profile = "export FHS=1";
profile = "export FHS=1"; # runScript = "bash";
runScript = "bash"; # extraOutputsToInstall = [ "dev" ];
extraOutputsToInstall = [ "dev" ]; # }
} # )
) # )
)
]; ];
} }

View file

@ -4,13 +4,13 @@
... ...
}: }:
{ {
sops.secrets.user-password = { }; # sops.secrets.user-password = { };
users = { users = {
defaultUserShell = pkgs.bash; defaultUserShell = pkgs.bash;
mutableUsers = false;
users = { users = {
fw = { fw = {
hashedPasswordFile = config.sops.secrets.user-password.path; # hashedPasswordFile = config.sops.secrets.user-password.path;
initialPassword = "password";
isNormalUser = true; isNormalUser = true;
description = "Fredrik Wastring"; description = "Fredrik Wastring";
extraGroups = [ extraGroups = [