mirror of
https://github.com/Theaninova/TheaninovOS.git
synced 2025-12-12 19:46:20 +00:00
more stuff
This commit is contained in:
@@ -2,8 +2,9 @@
|
|||||||
|
|
||||||
Rebuild the configuration
|
Rebuild the configuration
|
||||||
```sh
|
```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
|
## 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"
|
"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": {
|
"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": {
|
"locked": {
|
||||||
"lastModified": 1698318101,
|
"lastModified": 1698318101,
|
||||||
"narHash": "sha256-gUihHt3yPD7bVqg+k/UVHgngyaJ3DMEBchbymBMvK1E=",
|
"narHash": "sha256-gUihHt3yPD7bVqg+k/UVHgngyaJ3DMEBchbymBMvK1E=",
|
||||||
@@ -102,71 +39,7 @@
|
|||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"hyprland": "hyprland",
|
"nixpkgs": "nixpkgs"
|
||||||
"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"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
12
flake.nix
12
flake.nix
@@ -7,10 +7,14 @@
|
|||||||
inputs.nixpkgs.follows = "nixpkgs";
|
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
|
let
|
||||||
username = "theaninova";
|
username = "theaninova";
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
@@ -28,11 +32,11 @@
|
|||||||
inherit homeDirectory pkgs stateVersion system username;
|
inherit homeDirectory pkgs stateVersion system username;
|
||||||
});
|
});
|
||||||
in {
|
in {
|
||||||
homeConfigurations.${username} = home-manager.lib.homeManagerConfiguration {
|
homeConfigurations.theaninova = home-manager.lib.homeManagerConfiguration {
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
|
|
||||||
modules = [
|
modules = [
|
||||||
hyprland.homeManagerModules.default
|
# hyprland.homeManagerModules.default
|
||||||
home
|
home
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|||||||
4
home.nix
4
home.nix
@@ -2,6 +2,8 @@
|
|||||||
let
|
let
|
||||||
packages = import ./packages.nix { inherit pkgs; };
|
packages = import ./packages.nix { inherit pkgs; };
|
||||||
in {
|
in {
|
||||||
|
imports = [ ./desktops/hyprland/hyprland.nix ];
|
||||||
|
|
||||||
home = {
|
home = {
|
||||||
inherit homeDirectory packages stateVersion username;
|
inherit homeDirectory packages stateVersion username;
|
||||||
|
|
||||||
@@ -21,4 +23,6 @@ in {
|
|||||||
|
|
||||||
programs = import ./programs.nix { inherit pkgs; };
|
programs = import ./programs.nix { inherit pkgs; };
|
||||||
services = import ./services.nix;
|
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 + ''
|
postFixup = prev.postFixup + ''
|
||||||
echo "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland --enable-features=WaylandWindowDecorations}}" >> $out/bin/threema
|
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 }:
|
{ pkgs }:
|
||||||
{
|
{
|
||||||
enable = true;
|
enable = true;
|
||||||
oh-my-zsh = {
|
zplug = {
|
||||||
enable = true;
|
enable = true;
|
||||||
plugins = [ "git" "docker" "zsh-interactive-cd" ];
|
|
||||||
theme = "amuse";
|
|
||||||
};
|
|
||||||
plugins = [
|
plugins = [
|
||||||
{
|
{ name = "plugins/git"; tags = [ from:oh-my-zsh ]; }
|
||||||
name = "zsh-autosuggestions";
|
{ name = "plugins/docker"; tags = [ from:oh-my-zsh ]; }
|
||||||
src = pkgs.fetchFromGitHub {
|
{ name = "plugins/zsh-interactive-cd"; tags = [ from:oh-my-zsh ]; }
|
||||||
owner = "zsh-users";
|
{ name = "zsh-users/zsh-autosuggestions"; }
|
||||||
repo = "zsh-autosuggestions";
|
{ name = "kaplanelad/shellfirm"; }
|
||||||
rev = "v0.7.0";
|
{ name = "zsh-users/zsh-syntax-highlighting"; }
|
||||||
sha256 = "sha256-KLUYpUu4DHRumQZ3w59m9aTW6TBKMCXl2UcKi4uMd7w=";
|
{ name = "romkatv/powerlevel10k"; tags = [ as:theme depth:1 ]; }
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
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