mirror of
https://github.com/Theaninova/TheaninovOS.git
synced 2025-12-11 02:56:27 +00:00
more stuff
This commit is contained in:
@@ -2,8 +2,9 @@
|
||||
|
||||
Rebuild the configuration
|
||||
```sh
|
||||
reload-home-manager-config
|
||||
home-manager switch --flake ~/.config/home-manager
|
||||
```
|
||||
**Make sure new files are added to git**
|
||||
|
||||
## Initial Setup on a new machine
|
||||
|
||||
|
||||
8
desktops/hyprland/dunst.nix
Normal file
8
desktops/hyprland/dunst.nix
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
enable = true;
|
||||
settings = {
|
||||
global = {
|
||||
origin = "top-left";
|
||||
};
|
||||
};
|
||||
}
|
||||
64
desktops/hyprland/hyprland.nix
Normal file
64
desktops/hyprland/hyprland.nix
Normal file
@@ -0,0 +1,64 @@
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
enableNvidiaPatches = true;
|
||||
settings = {
|
||||
env = [
|
||||
"LIBVA_DRIVER_NAME,nvidia"
|
||||
"XDG_SESSION_TYPE,wayland"
|
||||
"GBM_BACKEND,nvidia-drm"
|
||||
"__GLX_VENDOR_LIBRARY_NAME,nvidia"
|
||||
"WLR_NO_HARDWARE_CURSORS,1"
|
||||
];
|
||||
exec-once = [
|
||||
"dunst"
|
||||
"waybar"
|
||||
"swww init"
|
||||
"swww img ~/Pictures/Wallpapers/wallpaper.jpg --transition-type center"
|
||||
];
|
||||
input = {
|
||||
accel_profile = "flat";
|
||||
};
|
||||
bind = import ./keybinds.nix;
|
||||
bindm = import ./mousebinds.nix;
|
||||
monitor = import ./monitors.nix;
|
||||
windowrule = [
|
||||
"pseudo,^(alacritty)$"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
services.dunst = import ./dunst.nix;
|
||||
|
||||
programs.alacritty.enable = true;
|
||||
programs.waybar = import ./waybar.nix;
|
||||
programs.wofi = import ./wofi.nix;
|
||||
|
||||
home.packages = with pkgs; [
|
||||
xwaylandvideobridge
|
||||
hyprpicker
|
||||
wttrbar
|
||||
swww
|
||||
];
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
theme = {
|
||||
name = "Adwaita";
|
||||
package = pkgs.adw-gtk3;
|
||||
};
|
||||
};
|
||||
|
||||
home.file.profile = {
|
||||
enable = true;
|
||||
target = ".zprofile"; # change to .profile if you're not using zsh
|
||||
text = ''
|
||||
Hyprland && echo "goodbye" && exit 0 \
|
||||
|| echo "$? couldn't launch Hyprland" && tty | grep tty1 \
|
||||
&& echo "refusing to autologin without Hyprland on tty1" && exit 0 \
|
||||
|| echo "not on tty1, letting in"
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
||||
6
desktops/hyprland/keybinds.nix
Normal file
6
desktops/hyprland/keybinds.nix
Normal file
@@ -0,0 +1,6 @@
|
||||
[
|
||||
"SUPER,Q,killactive"
|
||||
"SUPER,T,exec,alacritty"
|
||||
",SUPER,exec,wofi --show=dmenu"
|
||||
"SUPER_SHIFT,C,exec,hyprpicker"
|
||||
]
|
||||
5
desktops/hyprland/monitors.nix
Normal file
5
desktops/hyprland/monitors.nix
Normal file
@@ -0,0 +1,5 @@
|
||||
[
|
||||
"DP-1,1920x1080@240,0x0,1,vrr,1"
|
||||
"DP-3,2560x1440@75,1920x0,1,vrr,1"
|
||||
"HDMI-A-1,1920x1080@75,0x1080,1,transform,2"
|
||||
]
|
||||
4
desktops/hyprland/mousebinds.nix
Normal file
4
desktops/hyprland/mousebinds.nix
Normal file
@@ -0,0 +1,4 @@
|
||||
[
|
||||
"SUPER,mouse:272,movewindow"
|
||||
"SUPER,mouse:273,resizewindow"
|
||||
]
|
||||
30
desktops/hyprland/waybar.nix
Normal file
30
desktops/hyprland/waybar.nix
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
enable = true;
|
||||
settings = {
|
||||
mainBar = {
|
||||
layer = "top";
|
||||
position = "top";
|
||||
height = 48;
|
||||
output = "HDMI-A-1";
|
||||
modules-center = [ "wlr/taskbar" ];
|
||||
modules-right = [ "custom/weather" "clock" ];
|
||||
|
||||
"wlr/taskbar" = {
|
||||
all-outputs = true;
|
||||
};
|
||||
|
||||
"custom/weather" = {
|
||||
format = "{}";
|
||||
tooltip = true;
|
||||
interval = 3600;
|
||||
exec = "wttrbar --location Berlin";
|
||||
return-type = "json";
|
||||
};
|
||||
};
|
||||
};
|
||||
style = ''
|
||||
window#waybar {
|
||||
background: black;
|
||||
}
|
||||
'';
|
||||
}
|
||||
6
desktops/hyprland/wofi.nix
Normal file
6
desktops/hyprland/wofi.nix
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
enable = true;
|
||||
settings = {};
|
||||
style = ''
|
||||
'';
|
||||
}
|
||||
129
flake.lock
generated
129
flake.lock
generated
@@ -20,70 +20,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprland": {
|
||||
"inputs": {
|
||||
"hyprland-protocols": "hyprland-protocols",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"systems": "systems",
|
||||
"wlroots": "wlroots",
|
||||
"xdph": "xdph"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1698407117,
|
||||
"narHash": "sha256-3X8R+N43YscAEbx+IrhaGNfM3yK+uxjTGuLv9VB82NY=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "Hyprland",
|
||||
"rev": "4a4e13f8acedd2dc44236deed13fd47096cbe508",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "Hyprland",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprland-protocols": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1691753796,
|
||||
"narHash": "sha256-zOEwiWoXk3j3+EoF3ySUJmberFewWlagvewDRuWYAso=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-protocols",
|
||||
"rev": "0c2ce70625cb30aef199cb388f99e19a61a6ce03",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-protocols",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1698134075,
|
||||
"narHash": "sha256-foCD+nuKzfh49bIoiCBur4+Fx1nozo+4C/6k8BYk4sg=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "8efd5d1e283604f75a808a20e6cde0ef313d07d4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1698318101,
|
||||
"narHash": "sha256-gUihHt3yPD7bVqg+k/UVHgngyaJ3DMEBchbymBMvK1E=",
|
||||
@@ -102,71 +39,7 @@
|
||||
"root": {
|
||||
"inputs": {
|
||||
"home-manager": "home-manager",
|
||||
"hyprland": "hyprland",
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"wlroots": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"host": "gitlab.freedesktop.org",
|
||||
"lastModified": 1697909146,
|
||||
"narHash": "sha256-jU0I6FoCKnj4zIBL4daosFWh81U1fM719Z6cae8PxSY=",
|
||||
"owner": "wlroots",
|
||||
"repo": "wlroots",
|
||||
"rev": "47bf87ade2bd32395615a385ebde1fefbcdf79a2",
|
||||
"type": "gitlab"
|
||||
},
|
||||
"original": {
|
||||
"host": "gitlab.freedesktop.org",
|
||||
"owner": "wlroots",
|
||||
"repo": "wlroots",
|
||||
"rev": "47bf87ade2bd32395615a385ebde1fefbcdf79a2",
|
||||
"type": "gitlab"
|
||||
}
|
||||
},
|
||||
"xdph": {
|
||||
"inputs": {
|
||||
"hyprland-protocols": [
|
||||
"hyprland",
|
||||
"hyprland-protocols"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1697981233,
|
||||
"narHash": "sha256-y8q4XUwx+gVK7i2eLjfR32lVo7TYvEslyzrmzYEaPZU=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"rev": "22e7a65ff9633e1dedfa5317fdffc49f68de2ff2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"type": "github"
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
12
flake.nix
12
flake.nix
@@ -7,10 +7,14 @@
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
hyprland.url = "github:hyprwm/Hyprland";
|
||||
# hyprland.url = "github:hyprwm/Hyprland";
|
||||
# split-monitor-workspaces = {
|
||||
# url = "github:Duckonaut/split-monitor-workspaces";
|
||||
# inputs.hyprland.follows = "hyprland";
|
||||
# };
|
||||
};
|
||||
|
||||
outputs = {nixpkgs, home-manager, hyprland, ...}:
|
||||
outputs = {nixpkgs, home-manager, ...}:
|
||||
let
|
||||
username = "theaninova";
|
||||
system = "x86_64-linux";
|
||||
@@ -28,11 +32,11 @@
|
||||
inherit homeDirectory pkgs stateVersion system username;
|
||||
});
|
||||
in {
|
||||
homeConfigurations.${username} = home-manager.lib.homeManagerConfiguration {
|
||||
homeConfigurations.theaninova = home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
|
||||
modules = [
|
||||
hyprland.homeManagerModules.default
|
||||
# hyprland.homeManagerModules.default
|
||||
home
|
||||
];
|
||||
};
|
||||
|
||||
4
home.nix
4
home.nix
@@ -2,6 +2,8 @@
|
||||
let
|
||||
packages = import ./packages.nix { inherit pkgs; };
|
||||
in {
|
||||
imports = [ ./desktops/hyprland/hyprland.nix ];
|
||||
|
||||
home = {
|
||||
inherit homeDirectory packages stateVersion username;
|
||||
|
||||
@@ -21,4 +23,6 @@ in {
|
||||
|
||||
programs = import ./programs.nix { inherit pkgs; };
|
||||
services = import ./services.nix;
|
||||
|
||||
home.file.".p10k.zsh".source = ./programs/.p10k.zsh;
|
||||
}
|
||||
|
||||
49
hyprland.nix
49
hyprland.nix
@@ -1,49 +0,0 @@
|
||||
{
|
||||
inputs = {
|
||||
hyprland.url = "github:hyprwm/Hyprland";
|
||||
split-monitor-workspaces = {
|
||||
url = "github:Duckonaut/split-monitor-workspaces";
|
||||
inputs.hyprland.follows = "hyprland";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = {
|
||||
imports = [ hyprland.homeManagerModules.default ];
|
||||
wayland.windowManager.hyprland {
|
||||
enabled = true;
|
||||
extraConfig = ''
|
||||
# window layout
|
||||
monitor=DP-1,1920x1080@240,0x0,1,vrr,1
|
||||
monitor=DP-3:2560x1440@75,1920x0,1,vrr,1
|
||||
monitor=HDMI-1:1920x1080@75,0x1080,1,transform,2
|
||||
|
||||
# workspaces
|
||||
workspace=1,monitor:DP-1,persistent:true
|
||||
workspace=2,monitor:DP-1,persistent:true
|
||||
workspace=3,monitor:DP-1,persistent:true
|
||||
workspace=4,monitor:DP-3,persistent:true
|
||||
workspace=5,monitor:DP-3,persistent:true
|
||||
workspace=6,monitor:DP-3,persistent:true
|
||||
workspace=7,monitor:HDMI-1,persistent:true
|
||||
workspace=8,monitor:HDMI-1,persistent:true
|
||||
workspace=9,monitor:HDMI-1,persistent:true
|
||||
|
||||
# window rules
|
||||
windowrule=pseudo,^(alacritty)$
|
||||
|
||||
# Keybinds
|
||||
$mod = SUPER
|
||||
|
||||
## base
|
||||
bind=$mod,Q,killactive
|
||||
|
||||
## programs
|
||||
bind=$mod,T,exec,alacritty
|
||||
'';
|
||||
};
|
||||
|
||||
programs = {
|
||||
alacritty.enabled = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,4 +2,4 @@
|
||||
postFixup = prev.postFixup + ''
|
||||
echo "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland --enable-features=WaylandWindowDecorations}}" >> $out/bin/threema
|
||||
'';
|
||||
}))
|
||||
})
|
||||
|
||||
1738
programs/.p10k.zsh
Normal file
1738
programs/.p10k.zsh
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,38 +1,19 @@
|
||||
{ pkgs }:
|
||||
{
|
||||
enable = true;
|
||||
oh-my-zsh = {
|
||||
zplug = {
|
||||
enable = true;
|
||||
plugins = [ "git" "docker" "zsh-interactive-cd" ];
|
||||
theme = "amuse";
|
||||
plugins = [
|
||||
{ name = "plugins/git"; tags = [ from:oh-my-zsh ]; }
|
||||
{ name = "plugins/docker"; tags = [ from:oh-my-zsh ]; }
|
||||
{ name = "plugins/zsh-interactive-cd"; tags = [ from:oh-my-zsh ]; }
|
||||
{ name = "zsh-users/zsh-autosuggestions"; }
|
||||
{ name = "kaplanelad/shellfirm"; }
|
||||
{ name = "zsh-users/zsh-syntax-highlighting"; }
|
||||
{ name = "romkatv/powerlevel10k"; tags = [ as:theme depth:1 ]; }
|
||||
];
|
||||
};
|
||||
plugins = [
|
||||
{
|
||||
name = "zsh-autosuggestions";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "zsh-users";
|
||||
repo = "zsh-autosuggestions";
|
||||
rev = "v0.7.0";
|
||||
sha256 = "sha256-KLUYpUu4DHRumQZ3w59m9aTW6TBKMCXl2UcKi4uMd7w=";
|
||||
};
|
||||
}
|
||||
{
|
||||
name = "shellfirm";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "kaplanelad";
|
||||
repo = "shellfirm";
|
||||
rev = "v0.2.7";
|
||||
sha256 = "sha256-rUK5YoXpjAdxJhoYIf5yNtUGDGnAXCDIkPrgm4QI2jc=";
|
||||
};
|
||||
}
|
||||
{
|
||||
name = "zsh-syntax-highlighting";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "zsh-users";
|
||||
repo = "zsh-syntax-highlighting";
|
||||
rev = "0.7.1";
|
||||
sha256 = "sha256-gOG0NLlaJfotJfs+SUhGgLTNOnGLjoqnUp54V9aFJg8=";
|
||||
};
|
||||
}
|
||||
];
|
||||
initExtra = ''
|
||||
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
|
||||
'';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user