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/nh.nix
|
||||||
./modules/environment.nix
|
./modules/environment.nix
|
||||||
./modules/waydroid.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