Hyprland set, next stop Hyprland Config!

This commit is contained in:
Joseph Hanson 2024-03-06 17:20:40 -06:00
parent d329b98f69
commit 9464a5b652
Signed by: jahanson
SSH key fingerprint: SHA256:vy6dKBECV522aPAwklFM3ReKAVB086rT3oWwiuiFG7o
6 changed files with 2319 additions and 43 deletions

13
cachix/hyprland.nix Normal file
View file

@ -0,0 +1,13 @@
{
nix = {
settings = {
substituters = [
"https://hyprland.cachix.org"
];
trusted-public-keys = [
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
];
};
};
}

13
cachix/nix-community.nix Normal file
View file

@ -0,0 +1,13 @@
{
nix = {
settings = {
substituters = [
"https://nix-community.cachix.org"
];
trusted-public-keys = [
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
];
};
};
}

2242
flake.lock

File diff suppressed because it is too large Load diff

View file

@ -11,44 +11,78 @@
# The most widely used is `github:owner/name/reference`,
# which represents the GitHub repository URL + branch/commit-id/tag.
nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11";
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-23.11";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
# Home Manager
home-manager = {
home-manager-stable = {
url = "github:nix-community/home-manager/release-23.11";
inputs.nixpkgs.follows = "nixpkgs";
inputs.nixpkgs.follows = "nixpkgs-stable";
};
home-manager-unstable = {
url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
# nix-fast-build
nix-fast-build = {
url = "github:Mic92/nix-fast-build";
inputs.nixpkgs.follows = "nixpkgs";
inputs.nixpkgs.follows = "nixpkgs-stable";
};
# sops-nix
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
inputs.nixpkgs.follows = "nixpkgs-stable";
};
# deploy-rs
deploy-rs = {
url = "github:serokell/deploy-rs";
inputs.nixpkgs.follows = "nixpkgs";
inputs.nixpkgs.follows = "nixpkgs-stable";
};
# atuin
atuin = {
url = "github:atuinsh/atuin";
inputs.nixpkgs.follows = "nixpkgs";
inputs.nixpkgs.follows = "nixpkgs-stable";
};
# hyprland official
hyprland-git = {
url = "github:hyprwm/hyprland/v0.36.0";
};
# hyprland plugin for an i3 / sway like manual tiling layout
hy3 = {
url = "github:outfoxxed/hy3/hl0.36.0";
};
# hyprland-xdg-portal
hyprland-xdph-git = {
url = "github:hyprwm/xdg-desktop-portal-hyprland";
};
# hyprland-protocols
hyprland-protocols-git.url = "github:hyprwm/xdg-desktop-portal-hyprland";
# hyprland-community nix
hyprland-nix = {
url = "github:hyprland-community/hyprland-nix";
inputs = {
hyprland-xdph.follows = "hyprland-xdph-git";
hyprland-protocols.follows = "hyprland-protocols-git";
};
};
};
# The `@` syntax here is used to alias the attribute set of the
# inputs's parameter, making it convenient to use inside the function.
outputs = { self, nixpkgs, home-manager, ... }@inputs:
outputs = { self, nixpkgs-stable, nixpkgs-unstable, home-manager-stable, home-manager-unstable, hy3, ... }@inputs:
let
inherit (self) outputs;
forAllSystems = nixpkgs.lib.genAttrs [
forAllSystems = nixpkgs-stable.lib.genAttrs [
# "aarch64-linux"
"x86_64-linux"
];
@ -56,7 +90,7 @@
{
nixosConfigurations = {
"durincore" = nixpkgs.lib.nixosSystem {
"durincore" = nixpkgs-unstable.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {inherit inputs outputs;};
modules = [
@ -66,21 +100,22 @@
./nixos/durincore/configuration.nix
./nixos/common.nix
# { nixpkgs.overlays = [ (self: super: { atuin = atuin.packages.${self.pkgs.system}.atuin; }) ]; }
home-manager.nixosModules.home-manager
home-manager-unstable.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.jahanson = import ./home-manager/durincore.nix;
home-manager.extraSpecialArgs = {inherit inputs outputs;};
}
];
};
"este" = nixpkgs.lib.nixosSystem {
"este" = nixpkgs-stable.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {inherit inputs outputs;};
modules = [
./nixos/este/configuration.nix
./nixos/common.nix
home-manager.nixosModules.home-manager
home-manager-stable.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
@ -88,13 +123,13 @@
}
];
};
"gandalf" = nixpkgs.lib.nixosSystem {
"gandalf" = nixpkgs-stable.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {inherit inputs outputs;};
modules = [
./nixos/gandalf/configuration.nix
./nixos/common.nix
home-manager.nixosModules.home-manager
home-manager-stable.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;

View file

@ -1,16 +1,19 @@
{ config, pkgs, ... }:
{ config, pkgs, inputs, ... }:
{
# TODO please change the username & home direcotry to your own
imports = [ inputs.hyprland-git.homeManagerModules.default ];
wayland.windowManager.hyprland = {
enable = true;
systemd.enable = true;
plugins = [ inputs.hy3.packages.${pkgs.system}.hy3 ];
};
# please change the username & home direcotry to your own
home.username = "jahanson";
home.homeDirectory = "/home/jahanson";
# set cursor size and dpi for 4k monitor
xresources.properties = {
"Xcursor.size" = 16;
"Xft.dpi" = 172;
};
# basic configuration of git, please change to your own
programs.git = {
enable = true;
@ -214,7 +217,7 @@
# You can update home Manager without changing this value. See
# the home Manager release notes for a list of state version
# changes in each release.
home.stateVersion = "23.11";
home.stateVersion = "24.05";
# Let home Manager install and manage itself.
programs.home-manager.enable = true;

View file

@ -2,7 +2,7 @@
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running 'nixos-help').
{ config, pkgs, ... }:
{ config, pkgs, inputs, ... }:
{
imports =
@ -16,7 +16,11 @@
networkmanager.enable = true;
};
programs.hyprland.enable = true;
programs.hyprland = {
enable = true;
package = inputs.hyprland-git.packages.${pkgs.system}.hyprland;
};
environment.sessionVariables = {
NIXOS_OZONE_WL = "1";
};