[feat] Only enable certain configs on linux
This commit is contained in:
@@ -1 +1 @@
|
|||||||
{ ... }: { programs.firefox = { enable = true; }; }
|
{pkgs, ...}: {programs.firefox = {enable = pkgs.stdenv.isLinux;};}
|
||||||
|
|||||||
@@ -1,5 +1,10 @@
|
|||||||
{ config, pkgs, lib, device, ... }:
|
{
|
||||||
let
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
device,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
start-tmux = (import ../scripts/start-tmux.nix) pkgs;
|
start-tmux = (import ../scripts/start-tmux.nix) pkgs;
|
||||||
# https://mipmip.github.io/home-manager-option-search/
|
# https://mipmip.github.io/home-manager-option-search/
|
||||||
in {
|
in {
|
||||||
@@ -9,48 +14,17 @@ in {
|
|||||||
./wezterm.nix
|
./wezterm.nix
|
||||||
./firefox.nix
|
./firefox.nix
|
||||||
../linux/hyprland.nix
|
../linux/hyprland.nix
|
||||||
|
../linux/gtk.nix
|
||||||
../linux/anyrun.nix
|
../linux/anyrun.nix
|
||||||
../linux/ironbar.nix
|
../linux/ironbar.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
gtk = {
|
home.packages = with pkgs;
|
||||||
enable = true;
|
[
|
||||||
theme = {
|
|
||||||
name = "Catppuccin-Mocha-Standard-Mauve-Dark";
|
|
||||||
package = pkgs.catppuccin-gtk.override {
|
|
||||||
variant = "mocha";
|
|
||||||
size = "standard";
|
|
||||||
accents = [ "mauve" ];
|
|
||||||
tweaks = [ "normal" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
iconTheme = {
|
|
||||||
name = "Papirus-Dark";
|
|
||||||
package = pkgs.catppuccin-papirus-folders.override {
|
|
||||||
accent = "mauve";
|
|
||||||
flavor = "mocha";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
gtk3.extraConfig = { gtk-application-prefer-dark-theme = 1; };
|
|
||||||
|
|
||||||
gtk4.extraConfig = { gtk-application-prefer-dark-theme = 1; };
|
|
||||||
};
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
handlr-regex
|
|
||||||
gnome.nautilus
|
|
||||||
webcord-vencord
|
|
||||||
spotify
|
|
||||||
spotify-player
|
|
||||||
htop-vim
|
htop-vim
|
||||||
lsof
|
|
||||||
wl-clipboard
|
|
||||||
qmk
|
qmk
|
||||||
nodejs
|
nodejs
|
||||||
nix-index
|
nix-index
|
||||||
yubikey-personalization
|
|
||||||
macchina
|
macchina
|
||||||
ripgrep
|
ripgrep
|
||||||
fd
|
fd
|
||||||
@@ -62,18 +36,9 @@ in {
|
|||||||
cmake
|
cmake
|
||||||
fzf
|
fzf
|
||||||
clang
|
clang
|
||||||
ncpamixer
|
|
||||||
# neovim-nightly
|
# neovim-nightly
|
||||||
neovim
|
neovim
|
||||||
yubikey-agent
|
|
||||||
(nerdfonts.override {fonts = ["Hasklig"];})
|
(nerdfonts.override {fonts = ["Hasklig"];})
|
||||||
(pkgs.writeShellApplication {
|
|
||||||
name = "xdg-open";
|
|
||||||
runtimeInputs = [ handlr-regex ];
|
|
||||||
text = ''
|
|
||||||
handlr open "$@"
|
|
||||||
'';
|
|
||||||
})
|
|
||||||
mpv
|
mpv
|
||||||
|
|
||||||
# # It is sometimes useful to fine-tune packages, for example, by applying
|
# # It is sometimes useful to fine-tune packages, for example, by applying
|
||||||
@@ -88,7 +53,31 @@ in {
|
|||||||
# (pkgs.writeShellScriptBin "my-hello" ''
|
# (pkgs.writeShellScriptBin "my-hello" ''
|
||||||
# echo "Hello, ${config.home.username}!"
|
# echo "Hello, ${config.home.username}!"
|
||||||
# '')
|
# '')
|
||||||
];
|
]
|
||||||
|
++ (
|
||||||
|
if device.isLinux
|
||||||
|
then
|
||||||
|
with pkgs; [
|
||||||
|
handlr-regex
|
||||||
|
gnome.nautilus
|
||||||
|
webcord-vencord
|
||||||
|
spotify
|
||||||
|
spotify-player
|
||||||
|
lsof
|
||||||
|
wl-clipboard
|
||||||
|
yubikey-personalization
|
||||||
|
ncpamixer
|
||||||
|
yubikey-agent
|
||||||
|
(pkgs.writeShellApplication {
|
||||||
|
name = "xdg-open";
|
||||||
|
runtimeInputs = [handlr-regex];
|
||||||
|
text = ''
|
||||||
|
handlr open "$@"
|
||||||
|
'';
|
||||||
|
})
|
||||||
|
]
|
||||||
|
else []
|
||||||
|
);
|
||||||
|
|
||||||
xdg.enable = true;
|
xdg.enable = true;
|
||||||
|
|
||||||
@@ -166,42 +155,6 @@ in {
|
|||||||
enableFishIntegration = true;
|
enableFishIntegration = true;
|
||||||
enableNushellIntegration = true;
|
enableNushellIntegration = true;
|
||||||
};
|
};
|
||||||
foot = {
|
|
||||||
enable = pkgs.stdenv.isLinux;
|
|
||||||
server.enable = true;
|
|
||||||
settings = {
|
|
||||||
main = {
|
|
||||||
shell = "${pkgs.fish.outPath}/bin/fish";
|
|
||||||
font = "Hasklug Nerd Font Mono:size=13";
|
|
||||||
initial-window-size-pixels = "1440x800";
|
|
||||||
};
|
|
||||||
colors = {
|
|
||||||
foreground = "f8f8f2";
|
|
||||||
background = 0;
|
|
||||||
alpha = 0.8;
|
|
||||||
|
|
||||||
"136" = "af8700";
|
|
||||||
|
|
||||||
regular0 = "21222c";
|
|
||||||
regular1 = "ff5555";
|
|
||||||
regular2 = "50fa7b";
|
|
||||||
regular3 = "f1fa8c";
|
|
||||||
regular4 = "bd93f9";
|
|
||||||
regular5 = "ff79c6";
|
|
||||||
regular6 = "8be9fd";
|
|
||||||
regular7 = "f8f8f2";
|
|
||||||
|
|
||||||
bright0 = "6272a4";
|
|
||||||
bright1 = "ff6e6e";
|
|
||||||
bright2 = "69ff94";
|
|
||||||
bright3 = "ffffa5";
|
|
||||||
bright4 = "d6acff";
|
|
||||||
bright5 = "ff92df";
|
|
||||||
bright6 = "a4ffff";
|
|
||||||
bright7 = "ffffff";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Let Home Manager install and manage itself.
|
# Let Home Manager install and manage itself.
|
||||||
home-manager = {enable = true;};
|
home-manager = {enable = true;};
|
||||||
@@ -212,10 +165,10 @@ in {
|
|||||||
# Home Manager needs a bit of information about you and the paths it should
|
# Home Manager needs a bit of information about you and the paths it should
|
||||||
# manage.
|
# manage.
|
||||||
username = device.user;
|
username = device.user;
|
||||||
homeDirectory = if device.isMac then
|
homeDirectory =
|
||||||
lib.mkForce "/Users/${device.user}"
|
if device.isMac
|
||||||
else
|
then lib.mkForce "/Users/${device.user}"
|
||||||
lib.mkForce "/home/${device.user}";
|
else lib.mkForce "/home/${device.user}";
|
||||||
|
|
||||||
stateVersion = "23.11";
|
stateVersion = "23.11";
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,15 @@
|
|||||||
{ inputs, pkgs, osConfig, ... }: {
|
{
|
||||||
imports = [ inputs.anyrun.nixosModules.home-manager ];
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
osConfig,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports =
|
||||||
|
if pkgs.stdenv.isLinux
|
||||||
|
then [inputs.anyrun.nixosModules.home-manager]
|
||||||
|
else [];
|
||||||
programs.anyrun = {
|
programs.anyrun = {
|
||||||
enable = true;
|
enable = pkgs.stdenv.isLinux;
|
||||||
config = {
|
config = {
|
||||||
plugins = with inputs.anyrun.packages.${pkgs.system}; [
|
plugins = with inputs.anyrun.packages.${pkgs.system}; [
|
||||||
inputs.anyrun-nixos-options.packages.${pkgs.system}.default
|
inputs.anyrun-nixos-options.packages.${pkgs.system}.default
|
||||||
@@ -26,9 +34,11 @@
|
|||||||
|
|
||||||
extraConfigFiles = {
|
extraConfigFiles = {
|
||||||
"nixos-options.ron".text = let
|
"nixos-options.ron".text = let
|
||||||
nixos-options = osConfig.system.build.manual.optionsJSON
|
nixos-options =
|
||||||
|
osConfig.system.build.manual.optionsJSON
|
||||||
+ "/share/doc/nixos/options.json";
|
+ "/share/doc/nixos/options.json";
|
||||||
hm-options = inputs.home-manager.packages.${pkgs.system}.docs-json
|
hm-options =
|
||||||
|
inputs.home-manager.packages.${pkgs.system}.docs-json
|
||||||
+ "/share/doc/home-manager/options.json";
|
+ "/share/doc/home-manager/options.json";
|
||||||
# or alternatively if you wish to read any other documentation options, such as home-manager
|
# or alternatively if you wish to read any other documentation options, such as home-manager
|
||||||
# get the docs-json package from the home-manager flake
|
# get the docs-json package from the home-manager flake
|
||||||
@@ -43,7 +53,6 @@
|
|||||||
":nix" = [nixos-options];
|
":nix" = [nixos-options];
|
||||||
":hm" = [hm-options];
|
":hm" = [hm-options];
|
||||||
};
|
};
|
||||||
|
|
||||||
in ''
|
in ''
|
||||||
Config(
|
Config(
|
||||||
options: ${options},
|
options: ${options},
|
||||||
|
|||||||
38
config/nix/linux/foot.nix
Normal file
38
config/nix/linux/foot.nix
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
{pkgs, ...}: {
|
||||||
|
foot = {
|
||||||
|
enable = pkgs.stdenv.isLinux;
|
||||||
|
server.enable = true;
|
||||||
|
settings = {
|
||||||
|
main = {
|
||||||
|
shell = "${pkgs.fish.outPath}/bin/fish";
|
||||||
|
font = "Hasklug Nerd Font Mono:size=13";
|
||||||
|
initial-window-size-pixels = "1440x800";
|
||||||
|
};
|
||||||
|
colors = {
|
||||||
|
foreground = "f8f8f2";
|
||||||
|
background = 0;
|
||||||
|
alpha = 0.8;
|
||||||
|
|
||||||
|
"136" = "af8700";
|
||||||
|
|
||||||
|
regular0 = "21222c";
|
||||||
|
regular1 = "ff5555";
|
||||||
|
regular2 = "50fa7b";
|
||||||
|
regular3 = "f1fa8c";
|
||||||
|
regular4 = "bd93f9";
|
||||||
|
regular5 = "ff79c6";
|
||||||
|
regular6 = "8be9fd";
|
||||||
|
regular7 = "f8f8f2";
|
||||||
|
|
||||||
|
bright0 = "6272a4";
|
||||||
|
bright1 = "ff6e6e";
|
||||||
|
bright2 = "69ff94";
|
||||||
|
bright3 = "ffffa5";
|
||||||
|
bright4 = "d6acff";
|
||||||
|
bright5 = "ff92df";
|
||||||
|
bright6 = "a4ffff";
|
||||||
|
bright7 = "ffffff";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
26
config/nix/linux/gtk.nix
Normal file
26
config/nix/linux/gtk.nix
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
{pkgs, ...}: {
|
||||||
|
programs.gtk = {
|
||||||
|
enable = pkgs.stdenv.isLinux;
|
||||||
|
theme = {
|
||||||
|
name = "Catppuccin-Mocha-Standard-Mauve-Dark";
|
||||||
|
package = pkgs.catppuccin-gtk.override {
|
||||||
|
variant = "mocha";
|
||||||
|
size = "standard";
|
||||||
|
accents = ["mauve"];
|
||||||
|
tweaks = ["normal"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
iconTheme = {
|
||||||
|
name = "Papirus-Dark";
|
||||||
|
package = pkgs.catppuccin-papirus-folders.override {
|
||||||
|
accent = "mauve";
|
||||||
|
flavor = "mocha";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
gtk3.extraConfig = {gtk-application-prefer-dark-theme = 1;};
|
||||||
|
|
||||||
|
gtk4.extraConfig = {gtk-application-prefer-dark-theme = 1;};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,7 +1,14 @@
|
|||||||
{ inputs, ... }: {
|
{
|
||||||
imports = [ inputs.ironbar.homeManagerModules.default ];
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports =
|
||||||
|
if pkgs.stdenv.isLinux
|
||||||
|
then [inputs.ironbar.homeManagerModules.default]
|
||||||
|
else [];
|
||||||
programs.ironbar = {
|
programs.ironbar = {
|
||||||
enable = true;
|
enable = pkgs.stdenv.isLinux;
|
||||||
config.monitors = {
|
config.monitors = {
|
||||||
HDMI-A-2 = {
|
HDMI-A-2 = {
|
||||||
position = "bottom";
|
position = "bottom";
|
||||||
@@ -52,7 +59,8 @@
|
|||||||
}
|
}
|
||||||
{type = "tray";}
|
{type = "tray";}
|
||||||
];
|
];
|
||||||
start = [{
|
start = [
|
||||||
|
{
|
||||||
type = "workspaces";
|
type = "workspaces";
|
||||||
name_map = {
|
name_map = {
|
||||||
"1" = "icon:code";
|
"1" = "icon:code";
|
||||||
@@ -68,7 +76,8 @@
|
|||||||
};
|
};
|
||||||
favorites = ["1" "2" "3" "4" "5" "6" "7" "8" "9" "10"];
|
favorites = ["1" "2" "3" "4" "5" "6" "7" "8" "9" "10"];
|
||||||
all_monitors = true;
|
all_monitors = true;
|
||||||
}];
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
style = ''
|
style = ''
|
||||||
|
|||||||
Reference in New Issue
Block a user