Compare commits
16 Commits
e87abc6300
...
main
Author | SHA1 | Date | |
---|---|---|---|
0401a62c05
|
|||
2613918639
|
|||
c1f616112b
|
|||
04733b74ab
|
|||
f09c55cd92
|
|||
a45e02881a
|
|||
004756d9ae
|
|||
4dd8bb85c7
|
|||
c2339252e3
|
|||
1dcc9efd8b
|
|||
f10feaaddd
|
|||
9fc0b33228
|
|||
954f9687b5
|
|||
d702e47688
|
|||
842b7d8898
|
|||
070608bab8
|
15
flake.lock
generated
15
flake.lock
generated
@@ -7,32 +7,31 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1739757849,
|
"lastModified": 1751485527,
|
||||||
"narHash": "sha256-Gs076ot1YuAAsYVcyidLKUMIc4ooOaRGO0PqTY7sBzA=",
|
"narHash": "sha256-E2AtD5UUeU50xco4gmgsCOs7tnBNsVi7+CdCZ4yQUrA=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "9d3d080aec2a35e05a15cedd281c2384767c2cfe",
|
"rev": "25f003f8a9eae31a11938d53cb23e0b4a3c08d3a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"ref": "release-24.11",
|
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1740463929,
|
"lastModified": 1751271578,
|
||||||
"narHash": "sha256-4Xhu/3aUdCKeLfdteEHMegx5ooKQvwPHNkOgNCXQrvc=",
|
"narHash": "sha256-P/SQmKDu06x8yv7i0s8bvnnuJYkxVGBWLWHaU+tt4YY=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "5d7db4668d7a0c6cc5fc8cf6ef33b008b2b1ed8b",
|
"rev": "3016b4b15d13f3089db8a41ef937b13a9e33a8df",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"ref": "nixos-24.11",
|
"ref": "nixos-unstable",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
@@ -2,9 +2,9 @@
|
|||||||
description = "A very basic flake";
|
description = "A very basic flake";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
home-manager.url = "github:nix-community/home-manager/release-24.11";
|
home-manager.url = "github:nix-community/home-manager";
|
||||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -3,5 +3,6 @@
|
|||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./vscode.nix
|
./vscode.nix
|
||||||
|
./zed.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
@@ -3,41 +3,111 @@
|
|||||||
{
|
{
|
||||||
programs.vscode = {
|
programs.vscode = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extensions = with pkgs.vscode-extensions; [
|
profiles.default = {
|
||||||
catppuccin.catppuccin-vsc
|
extensions = with pkgs.vscode-extensions; [
|
||||||
catppuccin.catppuccin-vsc-icons
|
catppuccin.catppuccin-vsc
|
||||||
|
catppuccin.catppuccin-vsc-icons
|
||||||
|
|
||||||
jnoortheen.nix-ide
|
mhutchie.git-graph
|
||||||
mhutchie.git-graph
|
donjayamanne.githistory
|
||||||
donjayamanne.githistory
|
eamodio.gitlens
|
||||||
eamodio.gitlens
|
|
||||||
|
|
||||||
# Rust plugins
|
streetsidesoftware.code-spell-checker
|
||||||
rust-lang.rust-analyzer
|
gruntfuggly.todo-tree
|
||||||
tamasfe.even-better-toml
|
];
|
||||||
fill-labs.dependi
|
|
||||||
];
|
|
||||||
|
|
||||||
userSettings = {
|
userSettings = {
|
||||||
# Theme
|
# Theme
|
||||||
"workbench.iconTheme" = "catppuccin-mocha";
|
"workbench.iconTheme" = "catppuccin-mocha";
|
||||||
"workbench.colorTheme" = "Catppuccin Mocha";
|
"workbench.colorTheme" = "Catppuccin Mocha";
|
||||||
"workbench.sideBar.location" = "right";
|
"workbench.sideBar.location" = "right";
|
||||||
"workbench.activityBar.location" = "bottom";
|
"workbench.activityBar.location" = "bottom";
|
||||||
"editor.fontFamily" = "Source Code Pro";
|
"editor.fontFamily" = "SauceCodePro";
|
||||||
|
|
||||||
# Settings for all files
|
# Settings for all files
|
||||||
"files.autoSave" = "off";
|
"files.autoSave" = "off";
|
||||||
|
|
||||||
# Git settings
|
# Git settings
|
||||||
"git.autofetch" = true;
|
"git.autofetch" = true;
|
||||||
"git.confirmSync" = false;
|
"git.confirmSync" = false;
|
||||||
"git.alwaysSignOff" = true;
|
"git.alwaysSignOff" = true;
|
||||||
"git.pruneOnFetch" = true;
|
"git.pruneOnFetch" = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
profiles.home-manager = {
|
||||||
|
extensions = with pkgs.vscode-extensions; [
|
||||||
|
catppuccin.catppuccin-vsc
|
||||||
|
catppuccin.catppuccin-vsc-icons
|
||||||
|
|
||||||
# Nix lang settings
|
mhutchie.git-graph
|
||||||
"[nix]"."editor.tabSize" = 2;
|
donjayamanne.githistory
|
||||||
|
eamodio.gitlens
|
||||||
|
|
||||||
|
streetsidesoftware.code-spell-checker
|
||||||
|
gruntfuggly.todo-tree
|
||||||
|
|
||||||
|
# Nix specific extensions
|
||||||
|
jnoortheen.nix-ide
|
||||||
|
];
|
||||||
|
|
||||||
|
userSettings = {
|
||||||
|
# Theme
|
||||||
|
"workbench.iconTheme" = "catppuccin-mocha";
|
||||||
|
"workbench.colorTheme" = "Catppuccin Mocha";
|
||||||
|
"workbench.sideBar.location" = "right";
|
||||||
|
"workbench.activityBar.location" = "bottom";
|
||||||
|
"editor.fontFamily" = "SauceCodePro";
|
||||||
|
|
||||||
|
# Settings for all files
|
||||||
|
"files.autoSave" = "off";
|
||||||
|
|
||||||
|
# Git settings
|
||||||
|
"git.autofetch" = true;
|
||||||
|
"git.confirmSync" = false;
|
||||||
|
"git.alwaysSignOff" = true;
|
||||||
|
"git.pruneOnFetch" = true;
|
||||||
|
|
||||||
|
# Nix lang settings
|
||||||
|
"[nix]"."editor.tabSize" = 2;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
profiles.rust = {
|
||||||
|
extensions = with pkgs.vscode-extensions; [
|
||||||
|
catppuccin.catppuccin-vsc
|
||||||
|
catppuccin.catppuccin-vsc-icons
|
||||||
|
|
||||||
|
mhutchie.git-graph
|
||||||
|
donjayamanne.githistory
|
||||||
|
eamodio.gitlens
|
||||||
|
|
||||||
|
streetsidesoftware.code-spell-checker
|
||||||
|
gruntfuggly.todo-tree
|
||||||
|
|
||||||
|
# Rust development
|
||||||
|
rust-lang.rust-analyzer
|
||||||
|
tamasfe.even-better-toml
|
||||||
|
fill-labs.dependi
|
||||||
|
];
|
||||||
|
|
||||||
|
userSettings = {
|
||||||
|
# Theme
|
||||||
|
"workbench.iconTheme" = "catppuccin-mocha";
|
||||||
|
"workbench.colorTheme" = "Catppuccin Mocha";
|
||||||
|
"workbench.sideBar.location" = "right";
|
||||||
|
"workbench.activityBar.location" = "bottom";
|
||||||
|
"editor.fontFamily" = "SauceCodePro";
|
||||||
|
|
||||||
|
# Settings for all files
|
||||||
|
"files.autoSave" = "off";
|
||||||
|
|
||||||
|
# Git settings
|
||||||
|
"git.autofetch" = true;
|
||||||
|
"git.confirmSync" = false;
|
||||||
|
"git.alwaysSignOff" = true;
|
||||||
|
"git.pruneOnFetch" = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
23
home-manager/IDEs/zed.nix
Normal file
23
home-manager/IDEs/zed.nix
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.zed-editor = {
|
||||||
|
enable = false;
|
||||||
|
|
||||||
|
userSettings = {
|
||||||
|
features = {
|
||||||
|
copilot = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
telemetry = {
|
||||||
|
metrics = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
vim_mode = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
extensions = [
|
||||||
|
"nix"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
7
home-manager/development/default.nix
Normal file
7
home-manager/development/default.nix
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./podman.nix
|
||||||
|
];
|
||||||
|
}
|
20
home-manager/development/podman.nix
Normal file
20
home-manager/development/podman.nix
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
services.podman = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
containers = {
|
||||||
|
mqtt-broker = {
|
||||||
|
description = "MQTT broker";
|
||||||
|
image = "docker.io/library/eclipse-mosquitto:2.0.20";
|
||||||
|
ports = [
|
||||||
|
"1883:1883"
|
||||||
|
];
|
||||||
|
volumes = [
|
||||||
|
"/home/noahk/containers/mosquitto.conf:/mosquitto/config/mosquitto.conf:ro"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
9
home-manager/dotfiles/clang.nix
Normal file
9
home-manager/dotfiles/clang.nix
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
home.file.".clang-format".text = ''
|
||||||
|
---
|
||||||
|
Language: Cpp
|
||||||
|
BasedOnStyle: Google
|
||||||
|
'';
|
||||||
|
}
|
9
home-manager/dotfiles/default.nix
Normal file
9
home-manager/dotfiles/default.nix
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./clang.nix
|
||||||
|
./nuxt.nix
|
||||||
|
./rust.nix
|
||||||
|
];
|
||||||
|
}
|
7
home-manager/dotfiles/nuxt.nix
Normal file
7
home-manager/dotfiles/nuxt.nix
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
home.file.".nuxtrc".text = ''
|
||||||
|
telemetry.enabled=false
|
||||||
|
'';
|
||||||
|
}
|
13
home-manager/dotfiles/rust.nix
Normal file
13
home-manager/dotfiles/rust.nix
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
home.file.".cargo/config.toml".text = ''
|
||||||
|
[net]
|
||||||
|
git-fetch-with-cli = true
|
||||||
|
|
||||||
|
[registries]
|
||||||
|
|
||||||
|
[registries.git_noahknegt_com_ev-charging]
|
||||||
|
index = "sparse+https://git.noahknegt.com/api/packages/ev-charging/cargo/"
|
||||||
|
'';
|
||||||
|
}
|
11
home-manager/git/cliff.nix
Normal file
11
home-manager/git/cliff.nix
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.git-cliff = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
trim = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@@ -1,6 +1,10 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
|
imports = [
|
||||||
|
./cliff.nix
|
||||||
|
];
|
||||||
|
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.gitFull;
|
package = pkgs.gitFull;
|
||||||
@@ -11,12 +15,12 @@
|
|||||||
userEmail = "personal@noahknegt.com";
|
userEmail = "personal@noahknegt.com";
|
||||||
|
|
||||||
signing = {
|
signing = {
|
||||||
key = "~/.ssh/id_ed25519.pub";
|
key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB1ETzms5KNzQtgS0U/nfJjihMInKrcNR55tixI4ywvW";
|
||||||
signByDefault = true;
|
signByDefault = true;
|
||||||
|
format = "ssh";
|
||||||
};
|
};
|
||||||
|
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
gpg = { format = "ssh"; };
|
|
||||||
push = { autoSetupRemote = true; };
|
push = { autoSetupRemote = true; };
|
||||||
pull = { rebase = true; };
|
pull = { rebase = true; };
|
||||||
fetch = { prune = true; };
|
fetch = { prune = true; };
|
||||||
@@ -45,8 +49,8 @@
|
|||||||
condition = "gitdir:~/Repos/open-source/";
|
condition = "gitdir:~/Repos/open-source/";
|
||||||
contents = {
|
contents = {
|
||||||
user = {
|
user = {
|
||||||
email = "git@noahknegt.com";
|
email = "github@noahknegt.com";
|
||||||
signingKey = "~/.ssh/id_open_source.pub";
|
signingKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJi7QgoPtTQLHmKNbJAC8mgzQ6Wwq82L2YhBLSaxpQ3/";
|
||||||
};
|
};
|
||||||
|
|
||||||
commit = {
|
commit = {
|
||||||
|
@@ -15,11 +15,12 @@
|
|||||||
# You can also split up your configuration and import pieces of it here:
|
# You can also split up your configuration and import pieces of it here:
|
||||||
# ./nvim.nix
|
# ./nvim.nix
|
||||||
|
|
||||||
./IDEs
|
./development
|
||||||
|
./dotfiles
|
||||||
./tools
|
|
||||||
|
|
||||||
./git
|
./git
|
||||||
|
./IDEs
|
||||||
|
./ssh
|
||||||
|
./tools
|
||||||
./zsh
|
./zsh
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -49,8 +50,20 @@
|
|||||||
username = "noahk";
|
username = "noahk";
|
||||||
homeDirectory = "/home/noahk";
|
homeDirectory = "/home/noahk";
|
||||||
|
|
||||||
|
sessionPath = [
|
||||||
|
"$HOME/.cargo/bin"
|
||||||
|
"$HOME/.local/bin"
|
||||||
|
"$HOME/.local/share/pnpm"
|
||||||
|
];
|
||||||
|
|
||||||
|
sessionVariables = {
|
||||||
|
SSH_AUTH_SOCK = "/home/noahk/.bitwarden-ssh-agent.sock";
|
||||||
|
DRONE_SERVER = "https://drone.noahknegt.com";
|
||||||
|
};
|
||||||
|
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
(nerdfonts.override { fonts = [ "SourceCodePro" ]; })
|
nerd-fonts.sauce-code-pro
|
||||||
|
nerd-fonts.zed-mono
|
||||||
|
|
||||||
# Desktop env
|
# Desktop env
|
||||||
discord
|
discord
|
||||||
@@ -64,8 +77,15 @@
|
|||||||
bitwarden-cli
|
bitwarden-cli
|
||||||
|
|
||||||
# Development
|
# Development
|
||||||
|
gnumake
|
||||||
|
cmake
|
||||||
gcc
|
gcc
|
||||||
rustup
|
rustup
|
||||||
|
mqttui
|
||||||
|
|
||||||
|
binsider
|
||||||
|
gpg-tui
|
||||||
|
kmon
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -78,5 +98,5 @@
|
|||||||
systemd.user.startServices = "sd-switch";
|
systemd.user.startServices = "sd-switch";
|
||||||
|
|
||||||
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
||||||
home.stateVersion = "24.11";
|
home.stateVersion = "25.05";
|
||||||
}
|
}
|
15
home-manager/ssh/default.nix
Normal file
15
home-manager/ssh/default.nix
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
{ pkgs, inputs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.ssh = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
matchBlocks = {
|
||||||
|
"zeus" = {
|
||||||
|
hostname = "vps.noahknegt.com";
|
||||||
|
user = "noahk";
|
||||||
|
port = 22;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@@ -11,6 +11,7 @@
|
|||||||
|
|
||||||
extraOptions = [
|
extraOptions = [
|
||||||
"--group-directories-first"
|
"--group-directories-first"
|
||||||
|
"-h"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@@ -11,7 +11,6 @@
|
|||||||
append = true;
|
append = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
ls = "eza";
|
ls = "eza";
|
||||||
ll = "eza -lh";
|
ll = "eza -lh";
|
||||||
|
@@ -4,4 +4,5 @@
|
|||||||
# Bootloader.
|
# Bootloader.
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.systemd-boot.enable = true;
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
boot.loader.systemd-boot.configurationLimit = 5;
|
||||||
}
|
}
|
||||||
|
@@ -30,8 +30,8 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
channel.enable = false;
|
channel.enable = false;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
hostName = "NixOS_Desktop"; # Define your hostname.
|
hostName = "NixOS_Desktop"; # Define your hostname.
|
||||||
networkmanager.enable = true;
|
networkmanager.enable = true;
|
||||||
@@ -84,7 +84,7 @@
|
|||||||
services.printing.enable = true;
|
services.printing.enable = true;
|
||||||
|
|
||||||
# Enable sound with pipewire.
|
# Enable sound with pipewire.
|
||||||
hardware.pulseaudio.enable = false;
|
services.pulseaudio.enable = false;
|
||||||
security.rtkit.enable = true;
|
security.rtkit.enable = true;
|
||||||
services.pipewire = {
|
services.pipewire = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -125,11 +125,13 @@
|
|||||||
xfce.xfce4-whiskermenu-plugin
|
xfce.xfce4-whiskermenu-plugin
|
||||||
];
|
];
|
||||||
|
|
||||||
|
virtualisation.podman.enable = true;
|
||||||
|
|
||||||
# This value determines the NixOS release from which the default
|
# This value determines the NixOS release from which the default
|
||||||
# settings for stateful data, like file locations and database versions
|
# settings for stateful data, like file locations and database versions
|
||||||
# on your system were taken. It's perfectly fine and recommended to leave
|
# on your system were taken. It's perfectly fine and recommended to leave
|
||||||
# this value at the release version of the first install of this system.
|
# this value at the release version of the first install of this system.
|
||||||
# Before changing this value read the documentation for this option
|
# Before changing this value read the documentation for this option
|
||||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||||
system.stateVersion = "24.11"; # Did you read the comment?
|
system.stateVersion = "25.05"; # Did you read the comment?
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user