forked from Shinonome/omarchy-nix
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ad2dfc9af3 | |||
| e3f8ea40cf |
@@ -2,9 +2,8 @@
|
||||
|
||||
Omarchy-nix (Omanix?) is an opinionated NixOS flake to help you get started as fast as possible with NixOS and Hyprland. It is primarily a reimplementation of [DHH's Omarchy](https://github.com/basecamp/omarchy) project - an opinionated Arch/Hyprland setup for modern web development.
|
||||
|
||||
__This isn't meant to be full feature parity with Omarchy and likely never will be, especially with how fast the feature development and funding has been for that project. Instead, think of this as more of a launch pad to get your own similar Nix config set up!__
|
||||
This was mostly spun up in a weekend so if you have any issues please let me know, my goal is to eventually make this as seamless an install experience as Omarchy itself!
|
||||
|
||||
I've personally moved to using regular Arch Omarchy full-time for a number of reasons. I'm not actively working on this repo but if you'd like to contribute please send a PR :)
|
||||
|
||||
## Quick Start
|
||||
|
||||
|
||||
+4
-4
@@ -33,7 +33,7 @@ lib: {
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
default = {};
|
||||
description = "Theme overrides including wallpaper path for generated themes";
|
||||
};
|
||||
primary_font = lib.mkOption {
|
||||
@@ -42,11 +42,11 @@ lib: {
|
||||
};
|
||||
vscode_settings = lib.mkOption {
|
||||
type = lib.types.attrs;
|
||||
default = { };
|
||||
default = {};
|
||||
};
|
||||
monitors = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [ ];
|
||||
default = [];
|
||||
};
|
||||
scale = lib.mkOption {
|
||||
type = lib.types.int;
|
||||
@@ -80,7 +80,7 @@ lib: {
|
||||
};
|
||||
exclude_packages = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.package;
|
||||
default = [ ];
|
||||
default = [];
|
||||
description = "Packages to exclude from the default system packages";
|
||||
};
|
||||
};
|
||||
|
||||
Generated
+42
-42
@@ -20,11 +20,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1753216019,
|
||||
"narHash": "sha256-zik7WISrR1ks2l6T1MZqZHb/OqroHdJnSnAehkE0kCk=",
|
||||
"lastModified": 1751740947,
|
||||
"narHash": "sha256-35040CHH7P3JGmhGVfEb2oJHL/A5mI2IXumhkxrBnao=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "aquamarine",
|
||||
"rev": "be166e11d86ba4186db93e10c54a141058bdce49",
|
||||
"rev": "dfc1db15a08c4cd234288f66e1199c653495301f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -52,11 +52,11 @@
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1747046372,
|
||||
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
|
||||
"lastModified": 1696426674,
|
||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
|
||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -94,11 +94,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1755229570,
|
||||
"narHash": "sha256-soZegto0xXzG2zYlu/zjknDHv0Z7tRS5EQs+Z/VRTBg=",
|
||||
"lastModified": 1751990210,
|
||||
"narHash": "sha256-krWErNDl9ggMLSfK00Q2BcoSk3+IRTSON/DiDgUzzMw=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "11626a4383b458f8dc5ea3237eaa04e8ab1912f3",
|
||||
"rev": "218da00bfa73f2a61682417efe74549416c16ba6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -123,11 +123,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1753964049,
|
||||
"narHash": "sha256-lIqabfBY7z/OANxHoPeIrDJrFyYy9jAM4GQLzZ2feCM=",
|
||||
"lastModified": 1749155331,
|
||||
"narHash": "sha256-XR9fsI0zwLiFWfqi/pdS/VD+YNorKb3XIykgTg4l1nA=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprcursor",
|
||||
"rev": "44e91d467bdad8dcf8bbd2ac7cf49972540980a5",
|
||||
"rev": "45fcc10b4c282746d93ec406a740c43b48b4ef80",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -152,11 +152,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1754305013,
|
||||
"narHash": "sha256-u+M2f0Xf1lVHzIPQ7DsNCDkM1NYxykOSsRr4t3TbSM4=",
|
||||
"lastModified": 1751808145,
|
||||
"narHash": "sha256-OXgL0XaKMmfX2rRQkt9SkJw+QNfv0jExlySt1D6O72g=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprgraphics",
|
||||
"rev": "4c1d63a0f22135db123fc789f174b89544c6ec2d",
|
||||
"rev": "b841473a0bd4a1a74a0b64f1ec2ab199035c349f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -181,11 +181,11 @@
|
||||
"xdph": "xdph"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1755184403,
|
||||
"narHash": "sha256-VI+ZPD/uIFjzYW8IcyvBgvwyDIvUe4/xh/kOHTbITX8=",
|
||||
"lastModified": 1751995875,
|
||||
"narHash": "sha256-ud9sl1RjmzAzalH2ocmGPs182xvr7GktjVIYvzJamwo=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "Hyprland",
|
||||
"rev": "60d769a89908c29e19100059985db15a7b6bab6a",
|
||||
"rev": "9517d0eaa4ef93de67dc80fecca7a826f7ad556d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -274,11 +274,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1753819801,
|
||||
"narHash": "sha256-tHe6XeNeVeKapkNM3tcjW4RuD+tB2iwwoogWJOtsqTI=",
|
||||
"lastModified": 1750371812,
|
||||
"narHash": "sha256-D868K1dVEACw17elVxRgXC6hOxY+54wIEjURztDWLk8=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-qtutils",
|
||||
"rev": "b308a818b9dcaa7ab8ccab891c1b84ebde2152bc",
|
||||
"rev": "b13c7481e37856f322177010bdf75fccacd1adc8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -303,11 +303,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1753622892,
|
||||
"narHash": "sha256-0K+A+gmOI8IklSg5It1nyRNv0kCNL51duwnhUO/B8JA=",
|
||||
"lastModified": 1750371198,
|
||||
"narHash": "sha256-/iuJ1paQOBoSLqHflRNNGyroqfF/yvPNurxzcCT0cAE=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlang",
|
||||
"rev": "23f0debd2003f17bd65f851cd3f930cff8a8c809",
|
||||
"rev": "cee01452bca58d6cadb3224e21e370de8bc20f0b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -328,11 +328,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1754481650,
|
||||
"narHash": "sha256-6u6HdEFJh5gY6VfyMQbhP7zDdVcqOrCDTkbiHJmAtMI=",
|
||||
"lastModified": 1751888065,
|
||||
"narHash": "sha256-F2SV9WGqgtRsXIdUrl3sRe0wXlQD+kRRZcSfbepjPJY=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprutils",
|
||||
"rev": "df6b8820c4a0835d83d0c7c7be86fbc555f1f7fd",
|
||||
"rev": "a8229739cf36d159001cfc203871917b83fdf917",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -353,11 +353,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1751897909,
|
||||
"narHash": "sha256-FnhBENxihITZldThvbO7883PdXC/2dzW4eiNvtoV5Ao=",
|
||||
"lastModified": 1751881472,
|
||||
"narHash": "sha256-meB0SnXbwIe2trD041MLKEv6R7NZ759QwBcVIhlSBfE=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprwayland-scanner",
|
||||
"rev": "fcca0c61f988a9d092cbb33e906775014c61579d",
|
||||
"rev": "8fb426b3e5452fd9169453fd6c10f8c14ca37120",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -387,11 +387,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1754725699,
|
||||
"narHash": "sha256-iAcj9T/Y+3DBy2J0N+yF9XQQQ8IEb5swLFzs23CdP88=",
|
||||
"lastModified": 1751792365,
|
||||
"narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "85dbfc7aaf52ecb755f87e577ddbe6dbbdbc1054",
|
||||
"rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -418,11 +418,11 @@
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1755186698,
|
||||
"narHash": "sha256-wNO3+Ks2jZJ4nTHMuks+cxAiVBGNuEBXsT29Bz6HASo=",
|
||||
"lastModified": 1751792365,
|
||||
"narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "fbcf476f790d8a217c3eab4e12033dc4a0f6d23c",
|
||||
"rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -442,11 +442,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1754416808,
|
||||
"narHash": "sha256-c6yg0EQ9xVESx6HGDOCMcyRSjaTpNJP10ef+6fRcofA=",
|
||||
"lastModified": 1750779888,
|
||||
"narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "9c52372878df6911f9afc1e2a1391f55e4dfc864",
|
||||
"rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -506,11 +506,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1753633878,
|
||||
"narHash": "sha256-js2sLRtsOUA/aT10OCDaTjO80yplqwOIaLUqEe0nMx0=",
|
||||
"lastModified": 1751300244,
|
||||
"narHash": "sha256-PFuv1TZVYvQhha0ac53E3YgdtmLShrN0t4T6xqHl0jE=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"rev": "371b96bd11ad2006ed4f21229dbd1be69bed3e8a",
|
||||
"rev": "6115f3fdcb2c1a57b4a80a69f3c797e47607b90a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -9,56 +9,48 @@
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
outputs =
|
||||
inputs@{
|
||||
self,
|
||||
nixpkgs,
|
||||
hyprland,
|
||||
nix-colors,
|
||||
home-manager,
|
||||
}:
|
||||
{
|
||||
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt-tree;
|
||||
outputs = inputs @ {
|
||||
self,
|
||||
nixpkgs,
|
||||
hyprland,
|
||||
nix-colors,
|
||||
home-manager,
|
||||
}: {
|
||||
nixosModules = {
|
||||
default = {
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
(import ./modules/nixos/default.nix inputs)
|
||||
];
|
||||
|
||||
nixosModules = {
|
||||
default =
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
(import ./modules/nixos/default.nix inputs)
|
||||
];
|
||||
|
||||
options.omarchy = (import ./config.nix lib).omarchyOptions;
|
||||
config = {
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
homeManagerModules = {
|
||||
default =
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
osConfig ? { },
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
nix-colors.homeManagerModules.default
|
||||
(import ./modules/home-manager/default.nix inputs)
|
||||
];
|
||||
options.omarchy = (import ./config.nix lib).omarchyOptions;
|
||||
config = lib.mkIf (osConfig ? omarchy) {
|
||||
omarchy = osConfig.omarchy;
|
||||
};
|
||||
};
|
||||
options.omarchy = (import ./config.nix lib).omarchyOptions;
|
||||
config = {
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
homeManagerModules = {
|
||||
default = {
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
osConfig ? {},
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
nix-colors.homeManagerModules.default
|
||||
(import ./modules/home-manager/default.nix inputs)
|
||||
];
|
||||
options.omarchy = (import ./config.nix lib).omarchyOptions;
|
||||
config = lib.mkIf (osConfig ? omarchy) {
|
||||
omarchy = osConfig.omarchy;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
config:
|
||||
let
|
||||
config: let
|
||||
cfg = config.omarchy;
|
||||
wallpapers = {
|
||||
"tokyo-night" = [
|
||||
@@ -23,18 +22,11 @@ let
|
||||
};
|
||||
|
||||
# Handle wallpaper path for generated themes and overrides
|
||||
wallpaper_path =
|
||||
if
|
||||
(cfg.theme == "generated_light" || cfg.theme == "generated_dark")
|
||||
|| (cfg.theme_overrides.wallpaper_path != null)
|
||||
then
|
||||
toString cfg.theme_overrides.wallpaper_path
|
||||
else
|
||||
let
|
||||
selected_wallpaper = builtins.elemAt (wallpapers.${cfg.theme}) 0;
|
||||
in
|
||||
"~/Pictures/Wallpapers/${selected_wallpaper}";
|
||||
in
|
||||
{
|
||||
wallpaper_path = if (cfg.theme == "generated_light" || cfg.theme == "generated_dark") || (cfg.theme_overrides.wallpaper_path != null)
|
||||
then toString cfg.theme_overrides.wallpaper_path
|
||||
else let
|
||||
selected_wallpaper = builtins.elemAt (wallpapers.${cfg.theme}) 0;
|
||||
in "~/Pictures/Wallpapers/${selected_wallpaper}";
|
||||
in {
|
||||
inherit wallpaper_path;
|
||||
}
|
||||
|
||||
@@ -2,12 +2,10 @@
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
cfg = config.omarchy;
|
||||
palette = config.colorScheme.palette;
|
||||
in
|
||||
{
|
||||
in {
|
||||
home.file = {
|
||||
".config/btop/themes/${cfg.theme}.theme" = {
|
||||
text = ''
|
||||
|
||||
@@ -1,36 +1,26 @@
|
||||
inputs:
|
||||
{
|
||||
inputs: {
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
packages = import ../packages.nix {
|
||||
inherit pkgs lib;
|
||||
exclude_packages = config.omarchy.exclude_packages;
|
||||
};
|
||||
}: let
|
||||
packages = import ../packages.nix {inherit pkgs lib; exclude_packages = config.omarchy.exclude_packages;};
|
||||
|
||||
themes = import ../themes.nix;
|
||||
|
||||
# Handle theme selection - either predefined or generated
|
||||
selectedTheme =
|
||||
if (config.omarchy.theme == "generated_light" || config.omarchy.theme == "generated_dark") then
|
||||
null
|
||||
else
|
||||
themes.${config.omarchy.theme};
|
||||
selectedTheme = if (config.omarchy.theme == "generated_light" || config.omarchy.theme == "generated_dark")
|
||||
then null
|
||||
else themes.${config.omarchy.theme};
|
||||
|
||||
# Generate color scheme from wallpaper for generated themes
|
||||
generatedColorScheme =
|
||||
if (config.omarchy.theme == "generated_light" || config.omarchy.theme == "generated_dark") then
|
||||
(inputs.nix-colors.lib.contrib { inherit pkgs; }).colorSchemeFromPicture {
|
||||
path = config.omarchy.theme_overrides.wallpaper_path;
|
||||
variant = if config.omarchy.theme == "generated_light" then "light" else "dark";
|
||||
}
|
||||
else
|
||||
null;
|
||||
in
|
||||
{
|
||||
generatedColorScheme = if (config.omarchy.theme == "generated_light" || config.omarchy.theme == "generated_dark")
|
||||
then (inputs.nix-colors.lib.contrib { inherit pkgs; }).colorSchemeFromPicture {
|
||||
path = config.omarchy.theme_overrides.wallpaper_path;
|
||||
variant = if config.omarchy.theme == "generated_light" then "light" else "dark";
|
||||
}
|
||||
else null;
|
||||
in {
|
||||
imports = [
|
||||
(import ./hyprland.nix inputs)
|
||||
(import ./hyprlock.nix inputs)
|
||||
@@ -57,16 +47,14 @@ in
|
||||
};
|
||||
home.packages = packages.homePackages;
|
||||
|
||||
colorScheme =
|
||||
if (config.omarchy.theme == "generated_light" || config.omarchy.theme == "generated_dark") then
|
||||
generatedColorScheme
|
||||
else
|
||||
inputs.nix-colors.colorSchemes.${selectedTheme.base16-theme};
|
||||
colorScheme = if (config.omarchy.theme == "generated_light" || config.omarchy.theme == "generated_dark")
|
||||
then generatedColorScheme
|
||||
else inputs.nix-colors.colorSchemes.${selectedTheme.base16-theme};
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
theme = {
|
||||
name = if config.omarchy.theme == "generated_light" then "Adwaita" else "Adwaita:dark";
|
||||
name = "Adwaita-dark";
|
||||
package = pkgs.gnome-themes-extra;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ ... }:
|
||||
{
|
||||
{...}: {
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
{ ... }:
|
||||
{
|
||||
{...}: {
|
||||
fonts.fontconfig = {
|
||||
enable = true;
|
||||
defaultFonts = {
|
||||
serif = [ "Noto Serif" ];
|
||||
sansSerif = [ "Noto Sans" ];
|
||||
monospace = [ "Caskaydia Mono Nerd Font" ];
|
||||
serif = ["Noto Serif"];
|
||||
sansSerif = ["Noto Sans"];
|
||||
monospace = ["Caskaydia Mono Nerd Font"];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,12 +2,10 @@
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
cfg = config.omarchy;
|
||||
palette = config.colorScheme.palette;
|
||||
in
|
||||
{
|
||||
in {
|
||||
programs.ghostty = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
{ config, ... }:
|
||||
let
|
||||
{config, ...}: let
|
||||
cfg = config.omarchy;
|
||||
in
|
||||
{
|
||||
in {
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userName = cfg.full_name;
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ ... }:
|
||||
{
|
||||
{...}: {
|
||||
services.hypridle = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
inputs:
|
||||
{
|
||||
inputs: {
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [ ./hyprland/configuration.nix ];
|
||||
}: {
|
||||
imports = [./hyprland/configuration.nix];
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
package = inputs.hyprland.packages.${pkgs.system}.hyprland;
|
||||
|
||||
@@ -2,8 +2,7 @@
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
}: {
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
exec-once = [
|
||||
# "hypridle & mako & waybar & fcitx5"
|
||||
|
||||
@@ -2,103 +2,103 @@
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
cfg = config.omarchy;
|
||||
in
|
||||
{
|
||||
in {
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
bind = cfg.quick_app_bindings ++ [
|
||||
"SUPER, space, exec, wofi --show drun --sort-order=alphabetical"
|
||||
"SUPER SHIFT, SPACE, exec, pkill -SIGUSR1 waybar"
|
||||
# "SUPER CTRL, SPACE, exec, ~/.local/share/omarchy/bin/swaybg-next"
|
||||
# "SUPER SHIFT CTRL, SPACE, exec, ~/.local/share/omarchy/bin/omarchy-theme-next"
|
||||
bind =
|
||||
cfg.quick_app_bindings
|
||||
++ [
|
||||
"SUPER, space, exec, wofi --show drun --sort-order=alphabetical"
|
||||
"SUPER SHIFT, SPACE, exec, pkill -SIGUSR1 waybar"
|
||||
# "SUPER CTRL, SPACE, exec, ~/.local/share/omarchy/bin/swaybg-next"
|
||||
# "SUPER SHIFT CTRL, SPACE, exec, ~/.local/share/omarchy/bin/omarchy-theme-next"
|
||||
|
||||
"SUPER, W, killactive,"
|
||||
"SUPER, Backspace, killactive,"
|
||||
"SUPER, W, killactive,"
|
||||
"SUPER, Backspace, killactive,"
|
||||
|
||||
# End active session
|
||||
"SUPER, ESCAPE, exec, hyprlock"
|
||||
"SUPER SHIFT, ESCAPE, exit,"
|
||||
"SUPER CTRL, ESCAPE, exec, reboot"
|
||||
"SUPER SHIFT CTRL, ESCAPE, exec, systemctl poweroff"
|
||||
"SUPER, K, exec, ~/.local/share/omarchy/bin/omarchy-show-keybindings"
|
||||
# End active session
|
||||
"SUPER, ESCAPE, exec, hyprlock"
|
||||
"SUPER SHIFT, ESCAPE, exit,"
|
||||
"SUPER CTRL, ESCAPE, exec, reboot"
|
||||
"SUPER SHIFT CTRL, ESCAPE, exec, systemctl poweroff"
|
||||
"SUPER, K, exec, ~/.local/share/omarchy/bin/omarchy-show-keybindings"
|
||||
|
||||
# Control tiling
|
||||
"SUPER, J, togglesplit, # dwindle"
|
||||
"SUPER, P, pseudo, # dwindle"
|
||||
"SUPER, V, togglefloating,"
|
||||
"SUPER SHIFT, Plus, fullscreen,"
|
||||
# Control tiling
|
||||
"SUPER, J, togglesplit, # dwindle"
|
||||
"SUPER, P, pseudo, # dwindle"
|
||||
"SUPER, V, togglefloating,"
|
||||
"SUPER SHIFT, Plus, fullscreen,"
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
"SUPER, left, movefocus, l"
|
||||
"SUPER, right, movefocus, r"
|
||||
"SUPER, up, movefocus, u"
|
||||
"SUPER, down, movefocus, d"
|
||||
# Move focus with mainMod + arrow keys
|
||||
"SUPER, left, movefocus, l"
|
||||
"SUPER, right, movefocus, r"
|
||||
"SUPER, up, movefocus, u"
|
||||
"SUPER, down, movefocus, d"
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
"SUPER, 1, workspace, 1"
|
||||
"SUPER, 2, workspace, 2"
|
||||
"SUPER, 3, workspace, 3"
|
||||
"SUPER, 4, workspace, 4"
|
||||
"SUPER, 5, workspace, 5"
|
||||
"SUPER, 6, workspace, 6"
|
||||
"SUPER, 7, workspace, 7"
|
||||
"SUPER, 8, workspace, 8"
|
||||
"SUPER, 9, workspace, 9"
|
||||
"SUPER, 0, workspace, 10"
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
"SUPER, 1, workspace, 1"
|
||||
"SUPER, 2, workspace, 2"
|
||||
"SUPER, 3, workspace, 3"
|
||||
"SUPER, 4, workspace, 4"
|
||||
"SUPER, 5, workspace, 5"
|
||||
"SUPER, 6, workspace, 6"
|
||||
"SUPER, 7, workspace, 7"
|
||||
"SUPER, 8, workspace, 8"
|
||||
"SUPER, 9, workspace, 9"
|
||||
"SUPER, 0, workspace, 10"
|
||||
|
||||
"SUPER, comma, workspace, -1"
|
||||
"SUPER, period, workspace, +1"
|
||||
"SUPER, comma, workspace, -1"
|
||||
"SUPER, period, workspace, +1"
|
||||
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
"SUPER SHIFT, 1, movetoworkspace, 1"
|
||||
"SUPER SHIFT, 2, movetoworkspace, 2"
|
||||
"SUPER SHIFT, 3, movetoworkspace, 3"
|
||||
"SUPER SHIFT, 4, movetoworkspace, 4"
|
||||
"SUPER SHIFT, 5, movetoworkspace, 5"
|
||||
"SUPER SHIFT, 6, movetoworkspace, 6"
|
||||
"SUPER SHIFT, 7, movetoworkspace, 7"
|
||||
"SUPER SHIFT, 8, movetoworkspace, 8"
|
||||
"SUPER SHIFT, 9, movetoworkspace, 9"
|
||||
"SUPER SHIFT, 0, movetoworkspace, 10"
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
"SUPER SHIFT, 1, movetoworkspace, 1"
|
||||
"SUPER SHIFT, 2, movetoworkspace, 2"
|
||||
"SUPER SHIFT, 3, movetoworkspace, 3"
|
||||
"SUPER SHIFT, 4, movetoworkspace, 4"
|
||||
"SUPER SHIFT, 5, movetoworkspace, 5"
|
||||
"SUPER SHIFT, 6, movetoworkspace, 6"
|
||||
"SUPER SHIFT, 7, movetoworkspace, 7"
|
||||
"SUPER SHIFT, 8, movetoworkspace, 8"
|
||||
"SUPER SHIFT, 9, movetoworkspace, 9"
|
||||
"SUPER SHIFT, 0, movetoworkspace, 10"
|
||||
|
||||
# Swap active window with the one next to it with mainMod + SHIFT + arrow keys
|
||||
"SUPER SHIFT, left, swapwindow, l"
|
||||
"SUPER SHIFT, right, swapwindow, r"
|
||||
"SUPER SHIFT, up, swapwindow, u"
|
||||
"SUPER SHIFT, down, swapwindow, d"
|
||||
# Swap active window with the one next to it with mainMod + SHIFT + arrow keys
|
||||
"SUPER SHIFT, left, swapwindow, l"
|
||||
"SUPER SHIFT, right, swapwindow, r"
|
||||
"SUPER SHIFT, up, swapwindow, u"
|
||||
"SUPER SHIFT, down, swapwindow, d"
|
||||
|
||||
# Resize active window
|
||||
"SUPER, minus, resizeactive, -100 0"
|
||||
"SUPER, equal, resizeactive, 100 0"
|
||||
"SUPER SHIFT, minus, resizeactive, 0 -100"
|
||||
"SUPER SHIFT, equal, resizeactive, 0 100"
|
||||
# Resize active window
|
||||
"SUPER, minus, resizeactive, -100 0"
|
||||
"SUPER, equal, resizeactive, 100 0"
|
||||
"SUPER SHIFT, minus, resizeactive, 0 -100"
|
||||
"SUPER SHIFT, equal, resizeactive, 0 100"
|
||||
|
||||
# Scroll through existing workspaces with mainMod + scroll
|
||||
"SUPER, mouse_down, workspace, e+1"
|
||||
"SUPER, mouse_up, workspace, e-1"
|
||||
# Scroll through existing workspaces with mainMod + scroll
|
||||
"SUPER, mouse_down, workspace, e+1"
|
||||
"SUPER, mouse_up, workspace, e-1"
|
||||
|
||||
# Control Apple Display brightness
|
||||
"CTRL, F1, exec, ~/.local/share/omarchy/bin/apple-display-brightness -5000"
|
||||
"CTRL, F2, exec, ~/.local/share/omarchy/bin/apple-display-brightness +5000"
|
||||
"SHIFT CTRL, F2, exec, ~/.local/share/omarchy/bin/apple-display-brightness +60000"
|
||||
# Control Apple Display brightness
|
||||
"CTRL, F1, exec, ~/.local/share/omarchy/bin/apple-display-brightness -5000"
|
||||
"CTRL, F2, exec, ~/.local/share/omarchy/bin/apple-display-brightness +5000"
|
||||
"SHIFT CTRL, F2, exec, ~/.local/share/omarchy/bin/apple-display-brightness +60000"
|
||||
|
||||
# Super workspace floating layer
|
||||
"SUPER, S, togglespecialworkspace, magic"
|
||||
"SUPER SHIFT, S, movetoworkspace, special:magic"
|
||||
# Super workspace floating layer
|
||||
"SUPER, S, togglespecialworkspace, magic"
|
||||
"SUPER SHIFT, S, movetoworkspace, special:magic"
|
||||
|
||||
# Screenshots
|
||||
", PRINT, exec, hyprshot -m region"
|
||||
"SHIFT, PRINT, exec, hyprshot -m window"
|
||||
"CTRL, PRINT, exec, hyprshot -m output"
|
||||
# Screenshots
|
||||
", PRINT, exec, hyprshot -m region"
|
||||
"SHIFT, PRINT, exec, hyprshot -m window"
|
||||
"CTRL, PRINT, exec, hyprshot -m output"
|
||||
|
||||
# Color picker
|
||||
"SUPER, PRINT, exec, hyprpicker -a"
|
||||
# Color picker
|
||||
"SUPER, PRINT, exec, hyprpicker -a"
|
||||
|
||||
# Clipse
|
||||
"CTRL SUPER, V, exec, ghostty --class clipse -e clipse"
|
||||
];
|
||||
# Clipse
|
||||
"CTRL SUPER, V, exec, ghostty --class clipse -e clipse"
|
||||
];
|
||||
|
||||
bindm = [
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
|
||||
@@ -3,11 +3,9 @@
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
cfg = config.omarchy;
|
||||
in
|
||||
{
|
||||
in {
|
||||
imports = [
|
||||
./autostart.nix
|
||||
./bindings.nix
|
||||
|
||||
@@ -2,10 +2,9 @@
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
osConfig ? { },
|
||||
osConfig ? {},
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
cfg = config.omarchy;
|
||||
hasNvidiaDrivers = builtins.elem "nvidia" osConfig.services.xserver.videoDrivers;
|
||||
nvidiaEnv = [
|
||||
@@ -13,46 +12,47 @@ let
|
||||
"LIBVA_DRIVER_NAME,nvidia"
|
||||
"__GLX_VENDOR_LIBRARY_NAME,nvidia"
|
||||
];
|
||||
in
|
||||
{
|
||||
in {
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
# Environment variables
|
||||
env = (lib.optionals hasNvidiaDrivers nvidiaEnv) ++ [
|
||||
"GDK_SCALE,${toString cfg.scale}"
|
||||
env =
|
||||
(lib.optionals hasNvidiaDrivers nvidiaEnv)
|
||||
++ [
|
||||
"GDK_SCALE,${toString cfg.scale}"
|
||||
|
||||
# Cursor size
|
||||
"XCURSOR_SIZE,24"
|
||||
"HYPRCURSOR_SIZE,24"
|
||||
# Cursor size
|
||||
"XCURSOR_SIZE,24"
|
||||
"HYPRCURSOR_SIZE,24"
|
||||
|
||||
# Cursor theme
|
||||
"XCURSOR_THEME,Adwaita"
|
||||
"HYPRCURSOR_THEME,Adwaita"
|
||||
# Cursor theme
|
||||
"XCURSOR_THEME,Adwaita"
|
||||
"HYPRCURSOR_THEME,Adwaita"
|
||||
|
||||
# Force all apps to use Wayland
|
||||
"GDK_BACKEND,wayland"
|
||||
"QT_QPA_PLATFORM,wayland"
|
||||
"QT_STYLE_OVERRIDE,kvantum"
|
||||
"SDL_VIDEODRIVER,wayland"
|
||||
"MOZ_ENABLE_WAYLAND,1"
|
||||
"ELECTRON_OZONE_PLATFORM_HINT,wayland"
|
||||
"OZONE_PLATFORM,wayland"
|
||||
# Force all apps to use Wayland
|
||||
"GDK_BACKEND,wayland"
|
||||
"QT_QPA_PLATFORM,wayland"
|
||||
"QT_STYLE_OVERRIDE,kvantum"
|
||||
"SDL_VIDEODRIVER,wayland"
|
||||
"MOZ_ENABLE_WAYLAND,1"
|
||||
"ELECTRON_OZONE_PLATFORM_HINT,wayland"
|
||||
"OZONE_PLATFORM,wayland"
|
||||
|
||||
# Make Chromium use XCompose and all Wayland
|
||||
"CHROMIUM_FLAGS,\"--enable-features=UseOzonePlatform --ozone-platform=wayland --gtk-version=4\""
|
||||
# Make Chromium use XCompose and all Wayland
|
||||
"CHROMIUM_FLAGS,\"--enable-features=UseOzonePlatform --ozone-platform=wayland --gtk-version=4\""
|
||||
|
||||
# Make .desktop files available for wofi
|
||||
"XDG_DATA_DIRS,$XDG_DATA_DIRS:$HOME/.nix-profile/share:/nix/var/nix/profiles/default/share"
|
||||
# Make .desktop files available for wofi
|
||||
"XDG_DATA_DIRS,$XDG_DATA_DIRS:$HOME/.nix-profile/share:/nix/var/nix/profiles/default/share"
|
||||
|
||||
# Use XCompose file
|
||||
"XCOMPOSEFILE,~/.XCompose"
|
||||
"EDITOR,nvim"
|
||||
# Use XCompose file
|
||||
"XCOMPOSEFILE,~/.XCompose"
|
||||
"EDITOR,nvim"
|
||||
|
||||
# GTK theme
|
||||
"GTK_THEME,${if cfg.theme == "generated_light" then "Adwaita" else "Adwaita:dark"}"
|
||||
# GTK theme
|
||||
"GTK_THEME,Adwaita:dark"
|
||||
|
||||
# Podman compatibility. Probably need to add cfg.env?
|
||||
# "DOCKER_HOST,unix://$XDG_RUNTIME_DIR/podman/podman.sock"
|
||||
];
|
||||
# Podman compatibility. Probably need to add cfg.env?
|
||||
# "DOCKER_HOST,unix://$XDG_RUNTIME_DIR/podman/podman.sock"
|
||||
];
|
||||
|
||||
xwayland = {
|
||||
force_zero_scaling = true;
|
||||
|
||||
@@ -3,8 +3,7 @@
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
}: {
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
# Environment variables
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#input
|
||||
@@ -12,7 +11,7 @@
|
||||
kb_layout = "us";
|
||||
# kb_variant =
|
||||
# kb_model =
|
||||
kb_options = "compose:caps";
|
||||
kb_options = compose:caps;
|
||||
# kb_rules =
|
||||
|
||||
follow_mouse = 1;
|
||||
|
||||
@@ -2,18 +2,13 @@
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
hexToRgba =
|
||||
hex: alpha:
|
||||
let
|
||||
in
|
||||
"rgba(${hex}${alpha})";
|
||||
}: let
|
||||
hexToRgba = hex: alpha: let
|
||||
in "rgba(${hex}${alpha})";
|
||||
|
||||
inactiveBorder = hexToRgba config.colorScheme.palette.base09 "aa";
|
||||
activeBorder = hexToRgba config.colorScheme.palette.base0D "aa";
|
||||
in
|
||||
{
|
||||
in {
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
general = {
|
||||
gaps_in = 5;
|
||||
|
||||
@@ -2,8 +2,7 @@
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
}: {
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
windowrule = [
|
||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
inputs:
|
||||
{
|
||||
inputs: {
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
palette = config.colorScheme.palette;
|
||||
convert = inputs.nix-colors.lib.conversions.hexToRGBString;
|
||||
selected_wallpaper_path = (import ../../lib/selected-wallpaper.nix config).wallpaper_path;
|
||||
@@ -14,8 +12,7 @@ let
|
||||
surfaceRgb = "rgb(${convert ", " palette.base02})";
|
||||
foregroundRgb = "rgb(${convert ", " palette.base05})";
|
||||
foregroundMutedRgb = "rgb(${convert ", " palette.base04})";
|
||||
in
|
||||
{
|
||||
in {
|
||||
programs.hyprlock = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
||||
@@ -2,11 +2,9 @@
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
selected_wallpaper_path = (import ../../lib/selected-wallpaper.nix config).wallpaper_path;
|
||||
in
|
||||
{
|
||||
in {
|
||||
home.file = {
|
||||
"Pictures/Wallpapers" = {
|
||||
source = ../../config/themes/wallpapers;
|
||||
|
||||
@@ -2,11 +2,9 @@
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
cfg = config.omarchy;
|
||||
in
|
||||
{
|
||||
in {
|
||||
services.mako = {
|
||||
enable = true;
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
{ ... }:
|
||||
{
|
||||
{...}: {
|
||||
programs.starship.enable = true;
|
||||
}
|
||||
|
||||
@@ -2,13 +2,11 @@
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
cfg = config.omarchy;
|
||||
themes = import ../themes.nix;
|
||||
theme = themes.${cfg.theme};
|
||||
in
|
||||
{
|
||||
in {
|
||||
programs.vscode = {
|
||||
enable = true;
|
||||
profiles.default = {
|
||||
@@ -17,16 +15,15 @@ in
|
||||
# to change settings on the fly. Disabling until I have time to research.
|
||||
# In the meantime themes are broken
|
||||
# userSettings =
|
||||
# {
|
||||
# "workbench.colorTheme" = theme.vscode-theme;
|
||||
# "vim.useCtrlKeys" = false;
|
||||
# "editor.minimap.enabled" = false;
|
||||
# }
|
||||
# {
|
||||
# "workbench.colorTheme" = theme.vscode-theme;
|
||||
# "vim.useCtrlKeys" = false;
|
||||
# "editor.minimap.enabled" = false;
|
||||
# }
|
||||
|
||||
# // cfg.vscode_settings;
|
||||
# // cfg.vscode_settings;
|
||||
|
||||
extensions =
|
||||
with pkgs.vscode-extensions;
|
||||
extensions = with pkgs.vscode-extensions;
|
||||
[
|
||||
bbenoist.nix
|
||||
vscodevim.vim
|
||||
|
||||
@@ -1,16 +1,13 @@
|
||||
inputs:
|
||||
{
|
||||
inputs: {
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
palette = config.colorScheme.palette;
|
||||
convert = inputs.nix-colors.lib.conversions.hexToRGBString;
|
||||
backgroundRgb = "rgb(${convert ", " palette.base00})";
|
||||
foregroundRgb = "rgb(${convert ", " palette.base05})";
|
||||
in
|
||||
{
|
||||
in {
|
||||
home.file = {
|
||||
".config/waybar/" = {
|
||||
source = ../../config/waybar;
|
||||
@@ -71,11 +68,11 @@ in
|
||||
active = "";
|
||||
};
|
||||
persistent-workspaces = {
|
||||
"1" = [ ];
|
||||
"2" = [ ];
|
||||
"3" = [ ];
|
||||
"4" = [ ];
|
||||
"5" = [ ];
|
||||
"1" = [];
|
||||
"2" = [];
|
||||
"3" = [];
|
||||
"4" = [];
|
||||
"5" = [];
|
||||
};
|
||||
};
|
||||
cpu = {
|
||||
@@ -89,13 +86,7 @@ in
|
||||
tooltip = false;
|
||||
};
|
||||
network = {
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
format-icons = ["" "" "" "" ""];
|
||||
format = "{icon}";
|
||||
format-wifi = "{icon}";
|
||||
format-ethernet = "";
|
||||
@@ -152,21 +143,19 @@ in
|
||||
format-disabled = "";
|
||||
format-connected = "";
|
||||
tooltip-format = "Devices connected: {num_connections}";
|
||||
on-click = "blueberry";
|
||||
on-click = "GTK_THEME=Adwaita-dark blueberry";
|
||||
};
|
||||
wireplumber = {
|
||||
# Changed from "pulseaudio"
|
||||
"format" = "";
|
||||
format-muted = "";
|
||||
scroll-step = 5;
|
||||
on-click = "pavucontrol";
|
||||
on-click = "GTK_THEME=Adwaita-dark pavucontrol";
|
||||
tooltip-format = "Playing at {volume}%";
|
||||
on-click-right = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; # Updated command
|
||||
max-volume = 150; # Optional: allow volume over 100%
|
||||
};
|
||||
tray = {
|
||||
spacing = 13;
|
||||
};
|
||||
tray = {spacing = 13;};
|
||||
power-profiles-daemon = {
|
||||
format = "{icon}";
|
||||
tooltip-format = "Power profile: {profile}";
|
||||
|
||||
@@ -2,8 +2,7 @@
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
}: {
|
||||
home.file = {
|
||||
".config/wofi/style.css" = {
|
||||
text = ''
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ ... }:
|
||||
{
|
||||
{...}: {
|
||||
programs.zoxide = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ ... }:
|
||||
{
|
||||
{...}: {
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
autosuggestion.enable = true;
|
||||
@@ -8,11 +7,11 @@
|
||||
plugins = [
|
||||
{
|
||||
name = "plugins/git";
|
||||
tags = [ "from:oh-my-zsh" ];
|
||||
tags = [from:oh-my-zsh];
|
||||
}
|
||||
{
|
||||
name = "fdellwing/zsh-bat";
|
||||
tags = [ "as:command" ];
|
||||
tags = [as:command];
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
{ ... }:
|
||||
{
|
||||
{...}: {
|
||||
programs = {
|
||||
_1password.enable = true;
|
||||
_1password-gui.enable = true;
|
||||
|
||||
# TODO: Dynamically get user names
|
||||
_1password-gui.polkitPolicyOwners = [ "henry" ];
|
||||
_1password-gui.polkitPolicyOwners = ["henry"];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
virtualisation.containers.enable = true;
|
||||
virtualisation = {
|
||||
docker.enable = true;
|
||||
|
||||
@@ -1,14 +1,11 @@
|
||||
inputs:
|
||||
{
|
||||
inputs: {
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
cfg = config.omarchy;
|
||||
packages = import ../packages.nix { inherit pkgs; };
|
||||
in
|
||||
{
|
||||
packages = import ../packages.nix {inherit pkgs;};
|
||||
in {
|
||||
imports = [
|
||||
(import ./hyprland.nix inputs)
|
||||
(import ./system.nix)
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
inputs:
|
||||
{
|
||||
inputs: {
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
}: {
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
# package = inputs.hyprland.packages.${pkgs.system}.hyprland;
|
||||
|
||||
@@ -3,15 +3,10 @@
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
cfg = config.omarchy;
|
||||
packages = import ../packages.nix {
|
||||
inherit pkgs lib;
|
||||
exclude_packages = cfg.exclude_packages;
|
||||
};
|
||||
in
|
||||
{
|
||||
packages = import ../packages.nix {inherit pkgs lib; exclude_packages = cfg.exclude_packages;};
|
||||
in {
|
||||
security.rtkit.enable = true;
|
||||
services.pulseaudio.enable = false;
|
||||
services.pipewire = {
|
||||
@@ -41,7 +36,7 @@ in
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
noto-fonts
|
||||
noto-fonts-color-emoji
|
||||
noto-fonts-emoji
|
||||
nerd-fonts.caskaydia-mono
|
||||
];
|
||||
}
|
||||
|
||||
+26
-33
@@ -1,8 +1,4 @@
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
exclude_packages ? [ ],
|
||||
}:
|
||||
{pkgs, lib, exclude_packages ? []}:
|
||||
let
|
||||
# Essential Hyprland packages - cannot be excluded
|
||||
hyprlandPackages = with pkgs; [
|
||||
@@ -37,41 +33,38 @@ let
|
||||
];
|
||||
|
||||
# Discretionary packages - can be excluded by user
|
||||
discretionaryPackages =
|
||||
with pkgs;
|
||||
[
|
||||
# TUIs
|
||||
lazygit
|
||||
lazydocker
|
||||
btop
|
||||
powertop
|
||||
fastfetch
|
||||
discretionaryPackages = with pkgs; [
|
||||
# TUIs
|
||||
lazygit
|
||||
lazydocker
|
||||
btop
|
||||
powertop
|
||||
fastfetch
|
||||
|
||||
# GUIs
|
||||
chromium
|
||||
obsidian
|
||||
vlc
|
||||
signal-desktop
|
||||
# GUIs
|
||||
chromium
|
||||
obsidian
|
||||
vlc
|
||||
signal-desktop
|
||||
|
||||
# Development tools
|
||||
github-desktop
|
||||
gh
|
||||
# Commercial GUIs
|
||||
typora
|
||||
dropbox
|
||||
spotify
|
||||
|
||||
# Containers
|
||||
docker-compose
|
||||
ffmpeg
|
||||
]
|
||||
++ lib.optionals (pkgs.system == "x86_64-linux") [
|
||||
typora
|
||||
dropbox
|
||||
spotify
|
||||
];
|
||||
# Development tools
|
||||
github-desktop
|
||||
gh
|
||||
|
||||
# Containers
|
||||
docker-compose
|
||||
ffmpeg
|
||||
];
|
||||
|
||||
# Only allow excluding discretionary packages to prevent breaking the system
|
||||
filteredDiscretionaryPackages = lib.lists.subtractLists exclude_packages discretionaryPackages;
|
||||
allSystemPackages = hyprlandPackages ++ systemPackages ++ filteredDiscretionaryPackages;
|
||||
in
|
||||
{
|
||||
in {
|
||||
# Regular packages
|
||||
systemPackages = allSystemPackages;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user