Compare commits

18 Commits

Author SHA1 Message Date
459002ff54 Update emacs for non-wayland systems 2024-09-02 20:09:57 -07:00
2349c35b13 More nvidia specific wayland settings
Even though I'm kind of giving up on nvidia+wayland emotionally right now
2024-09-02 20:09:29 -07:00
343b7f5ff2 Add basic i3wm setup 2024-09-02 20:09:16 -07:00
84168e2d9b Add solaar 2024-08-31 14:16:42 -07:00
80e7090d7f Fix kdeconnect 2024-08-31 14:16:34 -07:00
e758eaef20 Don't override hyprland package 2024-08-24 10:42:50 -07:00
8e7f1f1577 Add moonlight 2024-08-24 09:56:27 -07:00
4d34909b52 Just pass inputs around 2024-08-24 09:54:17 -07:00
4dfa85d7f5 Fix z790prors monitor settings 2024-08-23 17:13:52 -07:00
c3a5b92e50 Revert pinning change 2024-08-23 17:13:44 -07:00
34f27abebf Remove extra newline 2024-08-23 17:00:48 -07:00
950c362428 Add gamescope and mangohud 2024-08-23 16:51:45 -07:00
36de237993 Pin hyprland and hy3 to match the system 2024-08-23 15:27:58 -07:00
c085821bd4 Add h3y 2024-08-23 15:02:43 -07:00
3e45521719 Fix syncthingtray complaining on login 2024-08-23 09:09:34 -07:00
4640c8723b Add /etc/nixos as a safe git directory 2024-08-20 10:14:24 -07:00
03b6b26489 Add nix-book specific config 2024-08-20 10:14:13 -07:00
04a444ffd4 Rm home.nix symlink 2024-08-20 10:13:56 -07:00
11 changed files with 380 additions and 26 deletions

281
flake.lock generated
View File

@@ -1,5 +1,38 @@
{ {
"nodes": { "nodes": {
"aquamarine": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1722347739,
"narHash": "sha256-rAoh+K6KG+b1DwSWtqRVocdojnH6nGk6q07mNltoUSM=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "7c3565f9bedc7cb601cc0baa14792247e4dc1d5a",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "aquamarine",
"type": "github"
}
},
"home-manager": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -20,7 +53,206 @@
"type": "github" "type": "github"
} }
}, },
"hy3": {
"inputs": {
"hyprland": [
"hyprland"
]
},
"locked": {
"lastModified": 1723267004,
"narHash": "sha256-gyhpW3Mv9RgWsB8jAMoA7yoMSb01ol0jyPFNsghaZ0w=",
"owner": "outfoxxed",
"repo": "hy3",
"rev": "6af5f6004180664d883bd428f1da117bb6b1b6dc",
"type": "github"
},
"original": {
"owner": "outfoxxed",
"ref": "hl0.42.0",
"repo": "hy3",
"type": "github"
}
},
"hyprcursor": {
"inputs": {
"hyprlang": [
"hyprland",
"hyprlang"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1721330371,
"narHash": "sha256-aYlHTWylczLt6ERJyg6E66Y/XSCbVL7leVcRuJmVbpI=",
"owner": "hyprwm",
"repo": "hyprcursor",
"rev": "4493a972b48f9c3014befbbf381ed5fff91a65dc",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprcursor",
"type": "github"
}
},
"hyprland": {
"inputs": {
"aquamarine": "aquamarine",
"hyprcursor": "hyprcursor",
"hyprlang": "hyprlang",
"hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner",
"nixpkgs": "nixpkgs",
"systems": "systems",
"xdph": "xdph"
},
"locked": {
"lastModified": 1723058230,
"narHash": "sha256-deu8zvgseDg2gQEnZiCda4TrbA6pleE9iItoZlsoMtE=",
"rev": "9a09eac79b85c846e3a865a9078a3f8ff65a9259",
"revCount": 5069,
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
},
"original": {
"rev": "9a09eac79b85c846e3a865a9078a3f8ff65a9259",
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
}
},
"hyprland-protocols": {
"inputs": {
"nixpkgs": [
"hyprland",
"xdph",
"nixpkgs"
],
"systems": [
"hyprland",
"xdph",
"systems"
]
},
"locked": {
"lastModified": 1721326555,
"narHash": "sha256-zCu4R0CSHEactW9JqYki26gy8h9f6rHmSwj4XJmlHgg=",
"owner": "hyprwm",
"repo": "hyprland-protocols",
"rev": "5a11232266bf1a1f5952d5b179c3f4b2facaaa84",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-protocols",
"type": "github"
}
},
"hyprlang": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1721324361,
"narHash": "sha256-BiJKO0IIdnSwHQBSrEJlKlFr753urkLE48wtt0UhNG4=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "adbefbf49664a6c2c8bf36b6487fd31e3eb68086",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprlang",
"type": "github"
}
},
"hyprutils": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1722098849,
"narHash": "sha256-D3wIZlBNh7LuZ0NaoCpY/Pvu+xHxIVtSN+KkWZYvvVs=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "5dcbbc1e3de40b2cecfd2007434d86e924468f1f",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprutils",
"type": "github"
}
},
"hyprwayland-scanner": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1721324119,
"narHash": "sha256-SOOqIT27/X792+vsLSeFdrNTF+OSRp5qXv6Te+fb2Qg=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "a048a6cb015340bd82f97c1f40a4b595ca85cc30",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"type": "github"
}
},
"nixpkgs": { "nixpkgs": {
"locked": {
"lastModified": 1722185531,
"narHash": "sha256-veKR07psFoJjINLC8RK4DiLniGGMgF3QMlS4tb74S6k=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "52ec9ac3b12395ad677e8b62106f0b98c1f8569d",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1723637854, "lastModified": 1723637854,
"narHash": "sha256-med8+5DSWa2UnOqtdICndjDAEjxr5D7zaIiK4pn0Q7c=", "narHash": "sha256-med8+5DSWa2UnOqtdICndjDAEjxr5D7zaIiK4pn0Q7c=",
@@ -39,7 +271,54 @@
"root": { "root": {
"inputs": { "inputs": {
"home-manager": "home-manager", "home-manager": "home-manager",
"nixpkgs": "nixpkgs" "hy3": "hy3",
"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"
}
},
"xdph": {
"inputs": {
"hyprland-protocols": "hyprland-protocols",
"hyprlang": [
"hyprland",
"hyprlang"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1722365976,
"narHash": "sha256-Khdm+mDzYA//XaU0M+hftod+rKr5q9SSHSEuiQ0/9ow=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "7f2a77ddf60390248e2a3de2261d7102a13e5341",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"type": "github"
} }
} }
}, },

View File

@@ -1,16 +1,28 @@
{ {
description = "Home Manager configuration of johno"; description = "Home Manager configuration of johno";
inputs = { inputs =
{
# Specify the source of Home Manager and Nixpkgs. # Specify the source of Home Manager and Nixpkgs.
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager = { home-manager = {
url = "github:nix-community/home-manager"; url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
hyprland = {
type = "git";
url = "https://github.com/hyprwm/Hyprland";
submodules = true;
rev = "9a09eac79b85c846e3a865a9078a3f8ff65a9259";
};
hy3 = {
url = "github:outfoxxed/hy3?ref=hl0.42.0";
inputs.hyprland.follows = "hyprland";
};
}; };
outputs = { nixpkgs, home-manager, ... }: outputs = { nixpkgs, home-manager, hyprland, ... } @inputs:
let let
system = "x86_64-linux"; system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system}; pkgs = nixpkgs.legacyPackages.${system};
@@ -20,10 +32,15 @@
# Specify your home configuration modules here, for example, # Specify your home configuration modules here, for example,
# the path to your home.nix. # the path to your home.nix.
modules = [ ./home.nix ]; modules = [
hyprland.homeManagerModules.default
./home.nix
];
# Optionally use extraSpecialArgs # Optionally use extraSpecialArgs
# to pass through arguments to home.nix # to pass through arguments to home.nix
extraSpecialArgs = { inherit inputs; };
}; };
}; };
} }

View File

@@ -51,11 +51,13 @@ in
pkgs.killall pkgs.killall
pkgs.kitty pkgs.kitty
pkgs.less pkgs.less
pkgs.moonlight-qt
pkgs.ncdu pkgs.ncdu
pkgs.pandoc pkgs.pandoc
pkgs.pinentry-qt pkgs.pinentry-qt
#pkgs.pytest #pkgs.pytest
pkgs.shellcheck pkgs.shellcheck
pkgs.solaar # Logitech management software
pkgs.tmux pkgs.tmux
pkgs.waybar pkgs.waybar
pkgs.wofi pkgs.wofi
@@ -108,6 +110,7 @@ in
./modules/applications/emacs/default.nix ./modules/applications/emacs/default.nix
./modules/games/lutris/default.nix ./modules/games/lutris/default.nix
./modules/window_managers/hyprland/default.nix ./modules/window_managers/hyprland/default.nix
./modules/window_managers/i3/default.nix
]; ];
programs.bash.enable = true; programs.bash.enable = true;
@@ -131,6 +134,9 @@ in
enable = true; enable = true;
userName = "John Ogle"; userName = "John Ogle";
userEmail = "john@ogle.fyi"; userEmail = "john@ogle.fyi";
extraConfig = {
safe.directory = "/etc/nixos";
};
}; };
programs.gpg.enable = true; programs.gpg.enable = true;
@@ -182,6 +188,7 @@ in
services.kdeconnect = { services.kdeconnect = {
enable = true; enable = true;
indicator = true; indicator = true;
package = pkgs.kdePackages.kdeconnect-kde;
}; };
services.spotifyd = { services.spotifyd = {
@@ -197,8 +204,7 @@ in
enable = true; enable = true;
tray = { tray = {
enable = true; enable = true;
package = pkgs.qsyncthingtray; command = "syncthingtray --wait";
command = "qsyncthingtray --wait";
}; };
}; };

8
home-nix-book.nix Normal file
View File

@@ -0,0 +1,8 @@
{ config, lib, pkgs, ... }:
{
imports = [
./home-default.nix
./modules/window_managers/hyprland/nix-book.nix
];
}

View File

@@ -1 +0,0 @@
home-z790prors.nix

View File

@@ -1,7 +1,7 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let let
emacs = pkgs.emacs29-pgtk; emacs = pkgs.emacs29;
doomSync = (let doomSync = (let
git = pkgs.git; git = pkgs.git;
in '' in ''

View File

@@ -2,6 +2,8 @@
{ {
home.packages = [ home.packages = [
pkgs.gamescope
pkgs.lutris pkgs.lutris
pkgs.mangohud
]; ];
} }

View File

@@ -1,13 +1,13 @@
{ config, lib, pkgs, ... }: { inputs, ... }:
{ {
imports = [ imports = [
./hyprpaper.nix ./hyprpaper.nix
]; ];
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
enable = true; enable = true;
plugins = [ inputs.hy3.packages.x86_64-linux.hy3 ];
settings = { settings = {
"$mod" = "SUPER"; "$mod" = "SUPER";
"$terminal" = "kitty"; "$terminal" = "kitty";
@@ -19,11 +19,6 @@
"dunst" "dunst"
]; ];
env = [
"XCURSOR_SIZE,24"
"HYPRCURSOR_SIZE,24"
];
xwayland = { xwayland = {
force_zero_scaling = true; force_zero_scaling = true;
}; };
@@ -40,21 +35,37 @@
"suppressevent maximize, class:.*" "suppressevent maximize, class:.*"
]; ];
general.layout = "hy3";
bind = bind =
[ [
"SHIFT_$mod, Q, killactive" "SHIFT_$mod, Q, killactive"
"SHIFT_$mod, E, exit" "SHIFT_$mod, M, exit"
"$mod, D, exec, $menu" "$mod, D, exec, $menu"
"$mod, Return, exec, $terminal" "$mod, Return, exec, $terminal"
"$mod, H, movefocus, l"
"$mod, L, movefocus, r" "$mod, H, hy3:movefocus, l"
"$mod, K, movefocus, u" "$mod, L, hy3:movefocus, r"
"$mod, J, movefocus, d" "$mod, K, hy3:movefocus, u"
"SHIFT_$mod, H, swapwindow, l" "$mod, J, hy3:movefocus, d"
"SHIFT_$mod, L, swapwindow, r"
"SHIFT_$mod, K, swapwindow, u" "SHIFT_$mod, H, hy3:movewindow, l"
"SHIFT_$mod, J, swapwindow, d" "SHIFT_$mod, L, hy3:movewindow, r"
"SHIFT_$mod, K, hy3:movewindow, u"
"SHIFT_$mod, J, hy3:movewindow, d"
"$mod, V, hy3:makegroup, opposite"
"$mod, W, hy3:changegroup, toggletab"
"$mod, A, hy3:changefocus, raise"
"SHIFT_$mod, A, hy3:changefocus, lower"
"$mod, M, fullscreen, 0" "$mod, M, fullscreen, 0"
"$mod, E, hy3:expand, expand"
"SHIFT_$mod, E, hy3:expand, base"
"$mod, Q, hy3:warpcursor"
] ]
++ ( ++ (
# workspaces # workspaces
@@ -67,11 +78,17 @@
builtins.toString (x + 1 - (c * 10)); builtins.toString (x + 1 - (c * 10));
in [ in [
"$mod, ${ws}, workspace, ${toString (x + 1)}" "$mod, ${ws}, workspace, ${toString (x + 1)}"
"$mod SHIFT, ${ws}, movetoworkspace, ${toString (x + 1)}" "$mod SHIFT, ${ws}, hy3:movetoworkspace, ${toString (x + 1)}"
] ]
) )
10) 10)
); );
bindm =
[
"$mod, mouse:272, movewindow"
"$mod, mouse:273, resizewindow"
];
}; };
}; };
} }

View File

@@ -0,0 +1,5 @@
{ config, lib, pkgs, ... }:
{
wayland.windowManager.hyprland.settings.monitor = ",preferred,2880x1800@90.00Hz,1.33333";
}

View File

@@ -1,5 +1,16 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
{ {
wayland.windowManager.hyprland.settings.monitor = ",preferred,3440x1440@164.90Hz,1.33333"; wayland.windowManager.hyprland.settings.monitor = "DP-1,3440x1440@164.90,0x0,1.33333,vrr,1";
wayland.windowManager.hyprland.settings.env = [
"LIBVA_DRIVER_NAME,nvidia"
"XDG_SESSION_TYPE,wayland"
"GBM_BACKEND,nvidia-drm"
"__GLX_VENDOR_LIBRARY_NAME,nvidia"
"NVD_BACKEND,direct"
"ELECTRON_OZONE_PLATFORM_HINT,auto"
"NIXOS_OZONE_WL,1"
];
wayland.windowManager.hyprland.settings.cursor.no_hardware_cursors = true;
} }

View File

@@ -0,0 +1,10 @@
{ config, lib, pkgs, ... }:
{
xsession.windowManager.i3 = {
enable = true;
config = {
modifier = "Mod4";
};
};
}