initial commit
This commit is contained in:
16
home/lukas/brave.nix
Normal file
16
home/lukas/brave.nix
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
programs.brave = {
|
||||
enable = true;
|
||||
|
||||
extensions = [
|
||||
# Catppuccin for GitHub File Explorer Icons
|
||||
{ id = "lnjaiaapbakfhlbjenjkhffcdpoompki"; }
|
||||
# uBlock Origin
|
||||
{ id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; }
|
||||
# Return YouTube dislike
|
||||
{ id = "gebbhagfogifgggkldgodflihgfeippi"; }
|
||||
# Sponsorblock for YouTube
|
||||
{ id = "mnjggcdmjocbbbhaepdhchncahnbgone"; }
|
||||
];
|
||||
};
|
||||
}
|
||||
14
home/lukas/catppuccin.nix
Normal file
14
home/lukas/catppuccin.nix
Normal file
@@ -0,0 +1,14 @@
|
||||
{ inputs, ... }:
|
||||
{
|
||||
imports = [ inputs.catppuccin.homeModules.catppuccin ];
|
||||
|
||||
catppuccin = {
|
||||
accent = "mauve";
|
||||
flavor = "mocha";
|
||||
enable = true;
|
||||
|
||||
bat.enable = true; # <- installs Catppuccin-Mocha.tmTheme
|
||||
delta.enable = true; # <- colours delta with your mauve accent
|
||||
};
|
||||
|
||||
}
|
||||
19
home/lukas/default.nix
Normal file
19
home/lukas/default.nix
Normal file
@@ -0,0 +1,19 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./packages.nix
|
||||
./terminal.nix
|
||||
./emacs.nix
|
||||
./shell.nix
|
||||
./catppuccin.nix
|
||||
./brave.nix
|
||||
./git.nix
|
||||
./direnv.nix
|
||||
];
|
||||
|
||||
home.username = "lukas";
|
||||
home.homeDirectory = "/home/lukas";
|
||||
home.stateVersion = "25.05";
|
||||
}
|
||||
|
||||
9
home/lukas/direnv.nix
Normal file
9
home/lukas/direnv.nix
Normal file
@@ -0,0 +1,9 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
nix-direnv.enable = true; # provides `use flake`
|
||||
};
|
||||
}
|
||||
|
||||
18
home/lukas/emacs.nix
Normal file
18
home/lukas/emacs.nix
Normal file
@@ -0,0 +1,18 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
let
|
||||
grammars = pkgs.emacsPackages.treesit-grammars.with-all-grammars;
|
||||
in
|
||||
{
|
||||
programs.emacs = {
|
||||
enable = true;
|
||||
package = pkgs.emacs30; # or emacs29-pgtk / emacs30
|
||||
extraPackages = epkgs: [
|
||||
grammars # <-- the real derivation
|
||||
];
|
||||
};
|
||||
|
||||
# Make sure Emacs can find the .so files
|
||||
home.sessionVariables.TREE_SITTER_LIBDIR = "${grammars}/lib";
|
||||
}
|
||||
|
||||
22
home/lukas/git.nix
Normal file
22
home/lukas/git.nix
Normal file
@@ -0,0 +1,22 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
let
|
||||
userPubKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII1DsMfyMUK0snbTeVWMmdzLP9NIvPoQ4tjqyREUMHwZ mail@lukas.contact";
|
||||
in {
|
||||
home.file.".ssh/allowed_signers".text = "* ${userPubKey}";
|
||||
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userName = "Lukas";
|
||||
userEmail = "mail@lukas.contact";
|
||||
extraConfig = {
|
||||
commit.gpgsign = true;
|
||||
gpg.format = "ssh";
|
||||
gpg.ssh.allowedSignersFile = "~/.ssh/allowed_signers";
|
||||
user.signingkey = "~/.ssh/id_ed25519.pub";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
22
home/lukas/hyprland.nix
Normal file
22
home/lukas/hyprland.nix
Normal file
@@ -0,0 +1,22 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
settings = {
|
||||
monitor = ",preferred,auto,1";
|
||||
exec-once = "hyprpaper & waybar";
|
||||
input = {
|
||||
kb_layout = "de";
|
||||
follow_mouse = 1;
|
||||
};
|
||||
bind = [
|
||||
"SUPER,Return,exec,alacritty"
|
||||
"SUPER,q,killactive"
|
||||
"SUPER,space,togglefloating"
|
||||
];
|
||||
decoration.rounding = 8;
|
||||
misc.vfr = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
1739
home/lukas/p10k.zsh
Normal file
1739
home/lukas/p10k.zsh
Normal file
File diff suppressed because it is too large
Load Diff
22
home/lukas/packages.nix
Normal file
22
home/lukas/packages.nix
Normal file
@@ -0,0 +1,22 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
fonts.fontconfig.enable = true;
|
||||
|
||||
home.packages = [
|
||||
pkgs.thunderbird
|
||||
pkgs.nextcloud-client
|
||||
pkgs.keepassxc
|
||||
pkgs.tree
|
||||
pkgs.htop
|
||||
pkgs.neovim
|
||||
pkgs.wget
|
||||
pkgs.unzip
|
||||
pkgs.nerd-fonts.fira-code
|
||||
pkgs.meslo-lgs-nf
|
||||
|
||||
pkgs.eza
|
||||
pkgs.bat
|
||||
];
|
||||
}
|
||||
|
||||
40
home/lukas/shell.nix
Normal file
40
home/lukas/shell.nix
Normal file
@@ -0,0 +1,40 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
syntaxHighlighting.enable = true;
|
||||
autosuggestion.enable = true;
|
||||
|
||||
initContent = "source /etc/nixos/home/lukas/p10k.zsh";
|
||||
sessionVariables = {
|
||||
POWERLEVEL9K_DISABLE_CONFIGURATION_WIZARD = "true";
|
||||
};
|
||||
|
||||
|
||||
|
||||
zplug = {
|
||||
enable = true;
|
||||
plugins = [
|
||||
{ name = "romkatv/powerlevel10k"; tags = [ as:theme depth:1 ]; }
|
||||
];
|
||||
};
|
||||
|
||||
shellAliases = {
|
||||
ls = "eza --icons"; # plain directory listing
|
||||
ll = "eza --icons -alh --git"; # long list, all, human, git status
|
||||
la = "eza --icons -a"; # show all dot-files, short
|
||||
lt = "eza -T --icons --git-ignore --level=2"; # pretty tree, two levels deep
|
||||
|
||||
cat ="bat --style=plain"; # pretty ‘cat’
|
||||
less ="bat --style=plain --pager=less"; # pretty ‘less’
|
||||
|
||||
diff = "delta --paging=always"; # quick standalone diff
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
24
home/lukas/terminal.nix
Normal file
24
home/lukas/terminal.nix
Normal file
@@ -0,0 +1,24 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.tmux = {
|
||||
enable = true;
|
||||
clock24 = true;
|
||||
extraConfig = ''
|
||||
set-option -g mouse on
|
||||
set-option -g history-limit 50000
|
||||
set -g default-shell "${pkgs.zsh}/bin/zsh"
|
||||
set -g default-terminal "tmux-256color"
|
||||
'';
|
||||
};
|
||||
|
||||
|
||||
programs.alacritty = {
|
||||
enable = true;
|
||||
settings.terminal.shell = {
|
||||
program = "${pkgs.tmux}/bin/tmux";
|
||||
args = [ "new-session" "-A" "-s" "main" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
44
home/lukas/waybar.nix
Normal file
44
home/lukas/waybar.nix
Normal file
@@ -0,0 +1,44 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
waybar networkmanagerapplet
|
||||
];
|
||||
programs.waybar = {
|
||||
catppuccin.enable = true;
|
||||
enable = true;
|
||||
systemd.enable = true; # auto-restart on crashes
|
||||
settings = {
|
||||
mainBar = {
|
||||
layer = "top";
|
||||
position = "top";
|
||||
height = 32;
|
||||
modules-left = [ "hyprland/workspaces" ];
|
||||
modules-center = [ "clock" ];
|
||||
modules-right = [
|
||||
"network"
|
||||
"pulseaudio"
|
||||
"battery"
|
||||
"tray"
|
||||
];
|
||||
|
||||
# `network` module shows SSID + signal; no need for nm-applet text
|
||||
"network" = {
|
||||
format-wifi = "{ssid} {signalStrength}%";
|
||||
format-disconnected = "";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# Start nm-applet once; Waybar's SNI tray picks it up.
|
||||
systemd.user.services."nm-applet" = {
|
||||
Unit.Description = "NetworkManager Applet";
|
||||
Service = {
|
||||
ExecStart = "${pkgs.networkmanagerapplet}/bin/nm-applet --indicator";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
Install.WantedBy = [ "graphical-session.target" ];
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user