set hyprland to autostart
This commit is contained in:
parent
588800292c
commit
edaa14d665
3 changed files with 196 additions and 1 deletions
|
@ -28,7 +28,6 @@
|
|||
./modules/nh.nix
|
||||
./modules/environment.nix
|
||||
./modules/waydroid.nix
|
||||
./home-manager/home.nix
|
||||
];
|
||||
};
|
||||
};
|
||||
|
|
167
home-manager/home.nix
Normal file
167
home-manager/home.nix
Normal file
|
@ -0,0 +1,167 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
# Home Manager needs a bit of information about you and the paths it should
|
||||
# manage.
|
||||
home.username = "blue";
|
||||
home.homeDirectory = "/home/blue";
|
||||
|
||||
# This value determines the Home Manager release that your configuration is
|
||||
# compatible with. This helps avoid breakage when a new Home Manager release
|
||||
# introduces backwards incompatible changes.
|
||||
#
|
||||
# You should not change this value, even if you update Home Manager. If you do
|
||||
# want to update the value, then make sure to first check the Home Manager
|
||||
# release notes.
|
||||
home.stateVersion = "24.05"; # Please read the comment before changing.
|
||||
|
||||
# The home.packages option allows you to install Nix packages into your
|
||||
# environment.
|
||||
home.packages = [
|
||||
# add grimblast screenshot tool
|
||||
pkgs.grimblast
|
||||
|
||||
# # It is sometimes useful to fine-tune packages, for example, by applying
|
||||
# # overrides. You can do that directly here, just don't forget the
|
||||
# # parentheses. Maybe you want to install Nerd Fonts with a limited number of
|
||||
# # fonts?
|
||||
# (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; })
|
||||
|
||||
# # You can also create simple shell scripts directly inside your
|
||||
# # configuration. For example, this adds a command 'my-hello' to your
|
||||
# # environment:
|
||||
# (pkgs.writeShellScriptBin "my-hello" ''
|
||||
# echo "Hello, ${config.home.username}!"
|
||||
# '')
|
||||
];
|
||||
|
||||
# Home Manager is pretty good at managing dotfiles. The primary way to manage
|
||||
# plain files is through 'home.file'.
|
||||
home.file = {
|
||||
# # Building this configuration will create a copy of 'dotfiles/screenrc' in
|
||||
# # the Nix store. Activating the configuration will then make '~/.screenrc' a
|
||||
# # symlink to the Nix store copy.
|
||||
# ".screenrc".source = dotfiles/screenrc;
|
||||
|
||||
# # You can also set the file content immediately.
|
||||
# ".gradle/gradle.properties".text = ''
|
||||
# org.gradle.console=verbose
|
||||
# org.gradle.daemon.idletimeout=3600000
|
||||
# '';
|
||||
};
|
||||
|
||||
# Home Manager can also manage your environment variables through
|
||||
# 'home.sessionVariables'. These will be explicitly sourced when using a
|
||||
# shell provided by Home Manager. If you don't want to manage your shell
|
||||
# through Home Manager then you have to manually source 'hm-session-vars.sh'
|
||||
# located at either
|
||||
#
|
||||
# ~/.nix-profile/etc/profile.d/hm-session-vars.sh
|
||||
#
|
||||
# or
|
||||
#
|
||||
# ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh
|
||||
#
|
||||
# or
|
||||
#
|
||||
# /etc/profiles/per-user/blue/etc/profile.d/hm-session-vars.sh
|
||||
#
|
||||
home.sessionVariables = {
|
||||
# EDITOR = "emacs";
|
||||
};
|
||||
|
||||
# Let Home Manager install and manage itself.
|
||||
programs.home-manager.enable = true;
|
||||
|
||||
# Enable Hyprland compositor
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
package = pkgs.hyprland;
|
||||
xwayland.enable = true;
|
||||
# Autostart using systemd
|
||||
systemd.enable = true;
|
||||
extraConfig = ''
|
||||
exec-once = waybar
|
||||
|
||||
# Monitor settings
|
||||
monitor = eDP-2, 2560x1600@165, 0x0, auto # main laptop monitor
|
||||
monitor = DP-3, 1920x1080@144, -1280x-1080, auto # left external monitor
|
||||
monitor = DP-2, 1920x1080@144, 640x-1080, auto # right external monitor
|
||||
|
||||
debug:disable_logs = false
|
||||
'';
|
||||
};
|
||||
# Hyprland configuration
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
"$mod" = "SUPER";
|
||||
input = { kb_layout = "gb"; };
|
||||
bind =
|
||||
[
|
||||
"$mod, F, exec, firefox"
|
||||
", Print, exec, grimblast copy area"
|
||||
"$mod, 1, exec, alacritty"
|
||||
]
|
||||
++ (
|
||||
# workspaces
|
||||
# binds $mod + [shift +] {1..10} to [move to] workspace {1..10}
|
||||
builtins.concatLists (builtins.genList (
|
||||
x: let
|
||||
ws = let
|
||||
c = (x + 1) / 10;
|
||||
in
|
||||
builtins.toString (x + 1 - (c * 10));
|
||||
in [
|
||||
"$mod, ${ws}, workspace, ${toString (x + 1)}"
|
||||
"$mod SHIFT, ${ws}, movetoworkspace, ${toString (x + 1)}"
|
||||
]
|
||||
)
|
||||
10)
|
||||
);
|
||||
};
|
||||
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
settings = {
|
||||
mainBar = {
|
||||
layer = "top";
|
||||
position = "top";
|
||||
height = 30;
|
||||
output = [
|
||||
"eDP-2"
|
||||
"DP-2"
|
||||
"DP-3"
|
||||
];
|
||||
modules-left = [ "wlr/workspaces" "wlr/mode" "wlr/taskbar" ];
|
||||
modules-center = [ "wlr/window" "custom/hello-from-waybar" ];
|
||||
modules-right = [ "mpd" "custom/mymodule#with-css-id" "temperature" ];
|
||||
|
||||
"custom/hello-from-waybar" = {
|
||||
format = "hello {}";
|
||||
max-length = 40;
|
||||
interval = "once";
|
||||
exec = pkgs.writeShellScript "hello-from-waybar" ''
|
||||
echo "from within waybar"
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs.alacritty = {
|
||||
enable = true;
|
||||
package = pkgs.alacritty;
|
||||
settings = {
|
||||
window.dimensions = {
|
||||
lines = 3;
|
||||
columns = 200;
|
||||
};
|
||||
# keyboard.bindings = [
|
||||
# {
|
||||
# key = "K";
|
||||
# mods = "Control";
|
||||
# chars = "\\u000c";
|
||||
# }
|
||||
# ];
|
||||
};
|
||||
};
|
||||
}
|
29
home-manager/zsh.nix
Normal file
29
home-manager/zsh.nix
Normal file
|
@ -0,0 +1,29 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
autocd = true;
|
||||
dotDir = ".config/zsh";
|
||||
enableAutosuggestions = true;
|
||||
enableCompletion = true;
|
||||
# shellAliases = {
|
||||
# sl = "exa";
|
||||
# ls = "exa";
|
||||
# l = "exa -l";
|
||||
# la = "exa -la";
|
||||
# ip = "ip --color=auto";
|
||||
# };
|
||||
|
||||
plugins = with pkgs; [
|
||||
{
|
||||
name = "zsh-syntax-highlighting";
|
||||
src = fetchFromGitHub {
|
||||
owner = "zsh-users";
|
||||
repo = "zsh-syntax-highlighting";
|
||||
rev = "0.6.0";
|
||||
sha256 = "0zmq66dzasmr5pwribyh4kbkk23jxbpdw4rjxx0i7dx8jjp2lzl4";
|
||||
};
|
||||
file = "agkozak-zsh-prompt.plugin.zsh";
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue