before trying flakes (pray for me)
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
let
|
||||
home-manager = builtins.fetchTarball https://github.com/nix-community/home-manager/archive/release-25.11.tar.gz;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
(import "${home-manager}/nixos")
|
||||
./zsh
|
||||
./hyprland
|
||||
];
|
||||
|
||||
home-manager.useGlobalPkgs = true;
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users.weckyy702 = {
|
||||
isNormalUser = true;
|
||||
description = "Weckyy702";
|
||||
extraGroups = [ "networkmanager" "wheel" ];
|
||||
shell = pkgs.zsh;
|
||||
};
|
||||
|
||||
home-manager.users.weckyy702 = { pkgs, ... }: {
|
||||
home.packages = with pkgs; [
|
||||
firefox
|
||||
bitwarden-desktop
|
||||
];
|
||||
#NOTE: MUST be kept in sync with the channel above!
|
||||
home.stateVersion = "25.11";
|
||||
};
|
||||
}
|
||||
|
||||
57
homemanager-modules/hyprland/default.nix
Normal file
57
homemanager-modules/hyprland/default.nix
Normal file
@@ -0,0 +1,57 @@
|
||||
{ config, pkgs, ...}: {
|
||||
## System wide configuration
|
||||
# Configure keymap in X11
|
||||
services.xserver.xkb = {
|
||||
layout = "de";
|
||||
variant = "";
|
||||
};
|
||||
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
useTextGreeter = true;
|
||||
settings = {
|
||||
default_session = {
|
||||
command = "${pkgs.tuigreet}/bin/tuigreet --time --cmd hyprland";
|
||||
user = "greeter";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
withUWSM = true;
|
||||
xwayland.enable = true;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
libnotify
|
||||
dunst
|
||||
];
|
||||
|
||||
# Required to use hyprlock
|
||||
security.pam.services.hyprlock = {};
|
||||
# Configure electron apps to use wayland
|
||||
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||
|
||||
## Home-Manager specific configuration
|
||||
home-manager.users.weckyy702 = {
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
settings = import ./settings.nix;
|
||||
xwayland.enable = true;
|
||||
systemd.enable = true;
|
||||
};
|
||||
programs.hyprlock = {
|
||||
enable = true;
|
||||
};
|
||||
programs.wofi = {
|
||||
enable = true;
|
||||
};
|
||||
services.hyprpaper = {
|
||||
enable = true;
|
||||
};
|
||||
services.hyprsunset.enable = true;
|
||||
services.hyprpolkitagent.enable = true;
|
||||
services.hypridle.enable = true;
|
||||
};
|
||||
}
|
||||
45
homemanager-modules/hyprland/settings.nix
Normal file
45
homemanager-modules/hyprland/settings.nix
Normal file
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"$mod" = "SUPER";
|
||||
general = {
|
||||
border_size = 0;
|
||||
gaps_in = 5;
|
||||
gaps_out = 10;
|
||||
layout = "dwindle";
|
||||
resize_on_border = true;
|
||||
};
|
||||
|
||||
snap = {
|
||||
|
||||
};
|
||||
|
||||
input = {
|
||||
kb_layout = "de";
|
||||
};
|
||||
|
||||
bind = builtins.concatLists [
|
||||
[
|
||||
"$mod, Q, exit"
|
||||
"$mod, Return, exec, kitty"
|
||||
"$mod, D, exec, wofi --show drun"
|
||||
"$mod, F2, exec, firefox"
|
||||
"$mod, c, killactive"
|
||||
"$mod, f, fullscreen"
|
||||
]
|
||||
# Switch workspaces
|
||||
(map (i: "$mod, ${builtins.toString i}, workspace, ${builtins.toString i}") [1 2 3 4 5 6 7 8 9])
|
||||
(map (i: "$mod+SHIFT, ${builtins.toString i}, movetoworkspace, ${builtins.toString i}") [1 2 3 4 5 6 7 8 9])
|
||||
];
|
||||
|
||||
decoration = {
|
||||
shadow.enabled = false;
|
||||
blur.enabled = true;
|
||||
};
|
||||
|
||||
misc.disable_hyprland_logo = true;
|
||||
|
||||
cursor.inactive_timeout = 5;
|
||||
|
||||
ecosystem.no_update_news = true;
|
||||
ecosystem.no_donation_nag = true;
|
||||
|
||||
}
|
||||
57
homemanager-modules/zsh/default.nix
Normal file
57
homemanager-modules/zsh/default.nix
Normal file
@@ -0,0 +1,57 @@
|
||||
{ config, pkgs, lib, ...}: {
|
||||
|
||||
# Required for zsh autocompletion
|
||||
environment.pathsToLink = [ "/share/zsh" ];
|
||||
programs.zsh.enable = true;
|
||||
|
||||
home-manager.users.weckyy702 = { pkgs, ... }: {
|
||||
home.shell.enableZshIntegration = true;
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
package = pkgs.zsh;
|
||||
|
||||
enableCompletion = true;
|
||||
autocd = true;
|
||||
autosuggestion.enable = true;
|
||||
plugins = [
|
||||
{
|
||||
name = "powerlevel10k-config";
|
||||
src = ./.;
|
||||
file="p10k.zsh";
|
||||
}
|
||||
{
|
||||
name = "zsh-powerlevel10k";
|
||||
src = "${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k";
|
||||
file="powerlevel10k.zsh-theme";
|
||||
}
|
||||
];
|
||||
oh-my-zsh = {
|
||||
enable = true;
|
||||
theme = "robbyrussell";
|
||||
plugins = [
|
||||
"git"
|
||||
"sudo"
|
||||
];
|
||||
};
|
||||
syntaxHighlighting = {
|
||||
enable = true;
|
||||
highlighters = [
|
||||
"brackets"
|
||||
];
|
||||
};
|
||||
|
||||
initContent = lib.mkBefore ''
|
||||
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
|
||||
# Initialization code that may require console input (password prompts, [y/n]
|
||||
# confirmations, etc.) must go above this block; everything else may go below.
|
||||
if [[ -r "''${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-''${(%):-%n}.zsh" ]]; then
|
||||
source "''${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-''${(%):-%n}.zsh"
|
||||
fi
|
||||
'';
|
||||
|
||||
shellAliases = {
|
||||
#TODO
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
1720
homemanager-modules/zsh/p10k.zsh
Normal file
1720
homemanager-modules/zsh/p10k.zsh
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user