Compare commits
2 Commits
8f5e73e7f6
...
98ac550582
Author | SHA1 | Date | |
---|---|---|---|
98ac550582 | |||
c84146f761 |
@ -41,6 +41,7 @@
|
|||||||
nix-helper.enable = true;
|
nix-helper.enable = true;
|
||||||
|
|
||||||
desktop.enable = true;
|
desktop.enable = true;
|
||||||
|
gammastep.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
home.packages =
|
home.packages =
|
||||||
@ -100,13 +101,6 @@
|
|||||||
|
|
||||||
services.syncthing.enable = true;
|
services.syncthing.enable = true;
|
||||||
|
|
||||||
services.gammastep = {
|
|
||||||
enable = true;
|
|
||||||
latitude = 47.92;
|
|
||||||
longitude = 10.12;
|
|
||||||
provider = "manual";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Let Home Manager install and manage itself.
|
# Let Home Manager install and manage itself.
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
|
|
||||||
|
@ -165,4 +165,5 @@ with pkgs;
|
|||||||
frajul.edit-config
|
frajul.edit-config
|
||||||
|
|
||||||
nheko
|
nheko
|
||||||
|
conda
|
||||||
]
|
]
|
||||||
|
@ -26,6 +26,7 @@ in
|
|||||||
];
|
];
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
|
# systemd.user.sessionVariables.GTK_THEME = "Catppuccin-Mocha-Compact-Blue-dark";
|
||||||
prism = {
|
prism = {
|
||||||
enable = true;
|
enable = true;
|
||||||
wallpapers = ./wallpapers;
|
wallpapers = ./wallpapers;
|
||||||
|
@ -65,6 +65,7 @@ in
|
|||||||
black # python
|
black # python
|
||||||
unstable.rustfmt # rust
|
unstable.rustfmt # rust
|
||||||
shfmt
|
shfmt
|
||||||
|
pyright
|
||||||
|
|
||||||
graphviz
|
graphviz
|
||||||
# Lsps for use with doom emacs
|
# Lsps for use with doom emacs
|
||||||
|
41
modules/home/gammastep/default.nix
Normal file
41
modules/home/gammastep/default.nix
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
{
|
||||||
|
# Snowfall Lib provides a customized `lib` instance with access to your flake's library
|
||||||
|
# as well as the libraries available from your flake's inputs.
|
||||||
|
lib,
|
||||||
|
# An instance of `pkgs` with your overlays and packages applied is also available.
|
||||||
|
pkgs,
|
||||||
|
# You also have access to your flake's inputs.
|
||||||
|
inputs,
|
||||||
|
|
||||||
|
# Additional metadata is provided by Snowfall Lib.
|
||||||
|
system, # The system architecture for this host (eg. `x86_64-linux`).
|
||||||
|
target, # The Snowfall Lib target for this system (eg. `x86_64-iso`).
|
||||||
|
format, # A normalized name for the system target (eg. `iso`).
|
||||||
|
virtual, # A boolean to determine whether this system is a virtual target using nixos-generators.
|
||||||
|
systems, # An attribute map of your defined hosts.
|
||||||
|
|
||||||
|
# All other arguments come from the module system.
|
||||||
|
config,
|
||||||
|
host,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.modules.gammastep;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.modules.gammastep = {
|
||||||
|
enable = mkOption { default = false; };
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
services.gammastep = {
|
||||||
|
enable = true;
|
||||||
|
latitude = 47.92;
|
||||||
|
longitude = 10.12;
|
||||||
|
provider = "manual";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
37
modules/nixos/hyprland/default.nix
Normal file
37
modules/nixos/hyprland/default.nix
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
{
|
||||||
|
# Snowfall Lib provides a customized `lib` instance with access to your flake's library
|
||||||
|
# as well as the libraries available from your flake's inputs.
|
||||||
|
lib,
|
||||||
|
# An instance of `pkgs` with your overlays and packages applied is also available.
|
||||||
|
pkgs,
|
||||||
|
# You also have access to your flake's inputs.
|
||||||
|
inputs,
|
||||||
|
|
||||||
|
# Additional metadata is provided by Snowfall Lib.
|
||||||
|
namespace, # The namespace used for your flake, defaulting to "internal" if not set.
|
||||||
|
system, # The system architecture for this host (eg. `x86_64-linux`).
|
||||||
|
target, # The Snowfall Lib target for this system (eg. `x86_64-iso`).
|
||||||
|
format, # A normalized name for the system target (eg. `iso`).
|
||||||
|
virtual, # A boolean to determine whether this system is a virtual target using nixos-generators.
|
||||||
|
systems, # An attribute map of your defined hosts.
|
||||||
|
|
||||||
|
# All other arguments come from the module system.
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.modules.hyprland;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.modules.hyprland = {
|
||||||
|
enable = lib.mkOption { default = false; };
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
programs.hyprland.enable = true;
|
||||||
|
programs.hyprland.package = inputs.hyprland.packages.${pkgs.system}.hyprland;
|
||||||
|
programs.hyprland.xwayland.enable = true;
|
||||||
|
security.pam.services.hyprlock = { };
|
||||||
|
};
|
||||||
|
}
|
42
modules/nixos/thunar/default.nix
Normal file
42
modules/nixos/thunar/default.nix
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
{
|
||||||
|
# Snowfall Lib provides a customized `lib` instance with access to your flake's library
|
||||||
|
# as well as the libraries available from your flake's inputs.
|
||||||
|
lib,
|
||||||
|
# An instance of `pkgs` with your overlays and packages applied is also available.
|
||||||
|
pkgs,
|
||||||
|
# You also have access to your flake's inputs.
|
||||||
|
inputs,
|
||||||
|
|
||||||
|
# Additional metadata is provided by Snowfall Lib.
|
||||||
|
namespace, # The namespace used for your flake, defaulting to "internal" if not set.
|
||||||
|
system, # The system architecture for this host (eg. `x86_64-linux`).
|
||||||
|
target, # The Snowfall Lib target for this system (eg. `x86_64-iso`).
|
||||||
|
format, # A normalized name for the system target (eg. `iso`).
|
||||||
|
virtual, # A boolean to determine whether this system is a virtual target using nixos-generators.
|
||||||
|
systems, # An attribute map of your defined hosts.
|
||||||
|
|
||||||
|
# All other arguments come from the module system.
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.modules.thunar;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.modules.thunar = {
|
||||||
|
enable = lib.mkOption { default = false; };
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
programs.thunar.enable = true;
|
||||||
|
programs.xfconf.enable = true; # Persist saved preferences
|
||||||
|
programs.thunar.plugins = with pkgs.xfce; [
|
||||||
|
thunar-archive-plugin
|
||||||
|
thunar-volman
|
||||||
|
thunar-media-tags-plugin
|
||||||
|
];
|
||||||
|
services.gvfs.enable = true; # Mount, trash, and other functionalities
|
||||||
|
services.tumbler.enable = true; # Thumbnail support for images
|
||||||
|
};
|
||||||
|
}
|
39
modules/nixos/wayland/default.nix
Normal file
39
modules/nixos/wayland/default.nix
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
{
|
||||||
|
# Snowfall Lib provides a customized `lib` instance with access to your flake's library
|
||||||
|
# as well as the libraries available from your flake's inputs.
|
||||||
|
lib,
|
||||||
|
# An instance of `pkgs` with your overlays and packages applied is also available.
|
||||||
|
pkgs,
|
||||||
|
# You also have access to your flake's inputs.
|
||||||
|
inputs,
|
||||||
|
|
||||||
|
# Additional metadata is provided by Snowfall Lib.
|
||||||
|
namespace, # The namespace used for your flake, defaulting to "internal" if not set.
|
||||||
|
system, # The system architecture for this host (eg. `x86_64-linux`).
|
||||||
|
target, # The Snowfall Lib target for this system (eg. `x86_64-iso`).
|
||||||
|
format, # A normalized name for the system target (eg. `iso`).
|
||||||
|
virtual, # A boolean to determine whether this system is a virtual target using nixos-generators.
|
||||||
|
systems, # An attribute map of your defined hosts.
|
||||||
|
|
||||||
|
# All other arguments come from the module system.
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.modules.wayland;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.modules.wayland = {
|
||||||
|
enable = lib.mkOption { default = false; };
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
environment.sessionVariables.NIXOS_OZONE_WL = "1"; # Hint electron apps to use wayland
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
kdePackages.qtwayland
|
||||||
|
wl-clipboard
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
@ -66,14 +66,11 @@
|
|||||||
# Set your time zone.
|
# Set your time zone.
|
||||||
time.timeZone = "Europe/Berlin";
|
time.timeZone = "Europe/Berlin";
|
||||||
|
|
||||||
# Set location used by redshift
|
|
||||||
location.provider = "manual";
|
|
||||||
location.latitude = 47.92;
|
|
||||||
location.longitude = 10.12;
|
|
||||||
|
|
||||||
modules = {
|
modules = {
|
||||||
locales.enable = true;
|
locales.enable = true;
|
||||||
# greetd.enable = true;
|
thunar.enable = true;
|
||||||
|
wayland.enable = true;
|
||||||
|
hyprland.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
nix.settings.auto-optimise-store = true;
|
nix.settings.auto-optimise-store = true;
|
||||||
@ -121,9 +118,7 @@
|
|||||||
# services.xserver.windowManager.i3.enable = true;
|
# services.xserver.windowManager.i3.enable = true;
|
||||||
# services.xserver.windowManager.i3.package = pkgs.i3-gaps;
|
# services.xserver.windowManager.i3.package = pkgs.i3-gaps;
|
||||||
|
|
||||||
programs.hyprland.enable = true;
|
programs.kdeconnect.enable = true;
|
||||||
programs.hyprland.package = inputs.hyprland.packages.${pkgs.system}.hyprland;
|
|
||||||
programs.hyprland.xwayland.enable = true;
|
|
||||||
|
|
||||||
# Configure keymap in X11
|
# Configure keymap in X11
|
||||||
services.xserver = {
|
services.xserver = {
|
||||||
@ -159,8 +154,6 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
security.pam.services.hyprlock = { };
|
|
||||||
|
|
||||||
# Sound
|
# Sound
|
||||||
security.rtkit.enable = true;
|
security.rtkit.enable = true;
|
||||||
services.pipewire = {
|
services.pipewire = {
|
||||||
@ -246,18 +239,8 @@
|
|||||||
# };
|
# };
|
||||||
# };
|
# };
|
||||||
|
|
||||||
# x11 only, for wayland use gammastep (home-manager)
|
|
||||||
# services.redshift.enable = true;
|
|
||||||
|
|
||||||
services.flatpak.enable = true;
|
services.flatpak.enable = true;
|
||||||
|
|
||||||
environment.sessionVariables.NIXOS_OZONE_WL = "1"; # Hint electron apps to use wayland
|
|
||||||
|
|
||||||
# TODO: connect with desktop home manager module
|
|
||||||
environment.variables = {
|
|
||||||
GTK_THEME = "Catppuccin-Mocha-Compact-Blue-dark";
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg.portal.enable = true;
|
xdg.portal.enable = true;
|
||||||
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
||||||
# hyprland desktop portal added automatically
|
# hyprland desktop portal added automatically
|
||||||
@ -275,24 +258,12 @@
|
|||||||
htop
|
htop
|
||||||
mc
|
mc
|
||||||
xorg.xhost
|
xorg.xhost
|
||||||
kdePackages.qtwayland
|
|
||||||
pavucontrol
|
pavucontrol
|
||||||
frajul.pulseaudio-popup
|
frajul.pulseaudio-popup
|
||||||
gparted-xhost # needs to be installed as system package so it can be actually opened
|
gparted-xhost # needs to be installed as system package so it can be actually opened
|
||||||
wl-clipboard
|
|
||||||
xclip
|
xclip
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.thunar.enable = true;
|
|
||||||
programs.xfconf.enable = true; # Persist saved preferences
|
|
||||||
programs.thunar.plugins = with pkgs.xfce; [
|
|
||||||
thunar-archive-plugin
|
|
||||||
thunar-volman
|
|
||||||
thunar-media-tags-plugin
|
|
||||||
];
|
|
||||||
services.gvfs.enable = true; # Mount, trash, and other functionalities
|
|
||||||
services.tumbler.enable = true; # Thumbnail support for images
|
|
||||||
|
|
||||||
virtualisation.docker.enable = true;
|
virtualisation.docker.enable = true;
|
||||||
|
|
||||||
virtualisation.virtualbox.host.enable = true;
|
virtualisation.virtualbox.host.enable = true;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user