Compare commits
3 commits
dd98ba83b7
...
e6643dfeca
Author | SHA1 | Date | |
---|---|---|---|
Evie Litherland-Smith | e6643dfeca | ||
Evie Litherland-Smith | 3de3338759 | ||
Evie Litherland-Smith | 68b4a7b063 |
|
@ -220,11 +220,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730883749,
|
"lastModified": 1731386116,
|
||||||
"narHash": "sha256-mwrFF0vElHJP8X3pFCByJR365Q2463ATp2qGIrDUdlE=",
|
"narHash": "sha256-lKA770aUmjPHdTaJWnP3yQ9OI1TigenUqVC3wweqZuI=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "dba414932936fde69f0606b4f1d87c5bc0003ede",
|
"rev": "689fed12a013f56d4c4d3f612489634267d86529",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
@ -56,6 +56,15 @@
|
||||||
max-free = ${toString (1024 * 1024 * 1024)}
|
max-free = ${toString (1024 * 1024 * 1024)}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
nixpkgs.config.allowUnfreePredicate =
|
||||||
|
pkg:
|
||||||
|
builtins.elem (lib.getName pkg) [
|
||||||
|
"steam"
|
||||||
|
"steam-unwrapped"
|
||||||
|
"steam-original"
|
||||||
|
"steam-run"
|
||||||
|
"nomachine-client"
|
||||||
|
];
|
||||||
system.autoUpgrade = {
|
system.autoUpgrade = {
|
||||||
enable = true;
|
enable = true;
|
||||||
persistent = true;
|
persistent = true;
|
||||||
|
@ -122,11 +131,16 @@
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
backupFileExtension = "backup";
|
backupFileExtension = "backup";
|
||||||
users.${username} = {
|
users.${username} = {
|
||||||
imports = [ ./home/default.nix ];
|
imports = [
|
||||||
|
./home/shell/default.nix
|
||||||
|
./home/scripts/default.nix
|
||||||
|
./home/password-store/default.nix
|
||||||
|
];
|
||||||
home = {
|
home = {
|
||||||
inherit username;
|
inherit username;
|
||||||
homeDirectory = "/home/${username}";
|
homeDirectory = "/home/${username}";
|
||||||
};
|
};
|
||||||
|
programs.home-manager.enable = true;
|
||||||
};
|
};
|
||||||
extraSpecialArgs = {
|
extraSpecialArgs = {
|
||||||
inherit inputs;
|
inherit inputs;
|
||||||
|
@ -189,7 +203,7 @@
|
||||||
console.useXkbConfig = true;
|
console.useXkbConfig = true;
|
||||||
stylix = {
|
stylix = {
|
||||||
enable = true;
|
enable = true;
|
||||||
image = ./home/desktop/wallpapers/tropic_island_day.jpg;
|
image = ./wallpapers/tropic_island_day.jpg;
|
||||||
base16Scheme = ./one-light.yaml; # Base24 scheme
|
base16Scheme = ./one-light.yaml; # Base24 scheme
|
||||||
polarity = "light";
|
polarity = "light";
|
||||||
opacity.popups = 0.8;
|
opacity.popups = 0.8;
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
{ pkgs, username, ... }:
|
{ pkgs, username, ... }:
|
||||||
{
|
{
|
||||||
home-manager.users.${username}.imports = [ ./home/desktop/default.nix ];
|
|
||||||
nixpkgs.config.chromium.commandLineArgs = "--password-store='gnome-libsecret' --enable-features=UseOzonePlatform --ozone-platform=wayland";
|
nixpkgs.config.chromium.commandLineArgs = "--password-store='gnome-libsecret' --enable-features=UseOzonePlatform --ozone-platform=wayland";
|
||||||
hardware.bluetooth.enable = true;
|
hardware.bluetooth.enable = true;
|
||||||
environment = {
|
environment = {
|
||||||
|
@ -15,9 +14,24 @@
|
||||||
libsecret
|
libsecret
|
||||||
libnotify
|
libnotify
|
||||||
xdg-utils
|
xdg-utils
|
||||||
|
wl-clipboard
|
||||||
hunspell
|
hunspell
|
||||||
hunspellDicts.en_GB-large
|
hunspellDicts.en_GB-large
|
||||||
gnome.nautilus
|
gnome.nautilus
|
||||||
|
libreoffice-fresh
|
||||||
|
evince
|
||||||
|
image-roll
|
||||||
|
clapper
|
||||||
|
g4music
|
||||||
|
ffmpeg
|
||||||
|
remmina
|
||||||
|
fractal
|
||||||
|
webcord
|
||||||
|
signal-desktop
|
||||||
|
whatsapp-for-linux
|
||||||
|
teams-for-linux
|
||||||
|
twinkle
|
||||||
|
nomachine-client
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
security = {
|
security = {
|
||||||
|
@ -96,4 +110,81 @@
|
||||||
config.common.default = "*"; # TODO change for xdg-desktop-portal > 1.17 changes
|
config.common.default = "*"; # TODO change for xdg-desktop-portal > 1.17 changes
|
||||||
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
||||||
};
|
};
|
||||||
|
home-manager.users.${username} =
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
osConfig,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./home/hyprland.nix
|
||||||
|
./home/email/default.nix
|
||||||
|
./home/calendar/default.nix
|
||||||
|
./home/terminal/default.nix
|
||||||
|
./home/emacs/default.nix
|
||||||
|
./home/browser/default.nix
|
||||||
|
];
|
||||||
|
home.file.${config.gtk.gtk2.configLocation}.force = true;
|
||||||
|
services = {
|
||||||
|
syncthing.enable = true;
|
||||||
|
gammastep = {
|
||||||
|
inherit (osConfig.location) latitude longitude provider;
|
||||||
|
enable = true;
|
||||||
|
tray = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
gtk = {
|
||||||
|
enable = true;
|
||||||
|
gtk2.configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc";
|
||||||
|
iconTheme = {
|
||||||
|
package = (pkgs.papirus-icon-theme.override { color = "magenta"; });
|
||||||
|
name = "Papirus-Light";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
stylix.targets.gtk.extraCss = with config.lib.stylix.scheme.withHashtag; ''
|
||||||
|
@define-color accent_color ${base0E-hex};
|
||||||
|
@define-color accent_bg_color ${base0E-hex};
|
||||||
|
'';
|
||||||
|
xdg = {
|
||||||
|
mime.enable = true;
|
||||||
|
mimeApps =
|
||||||
|
let
|
||||||
|
defaultApplications = import ./mimeapps.nix;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
enable = true;
|
||||||
|
inherit defaultApplications;
|
||||||
|
associations.added = defaultApplications;
|
||||||
|
};
|
||||||
|
userDirs = {
|
||||||
|
enable = true;
|
||||||
|
createDirectories = true;
|
||||||
|
extraConfig = {
|
||||||
|
XDG_PROJECTS_DIR = "${config.home.homeDirectory}/Projects";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
configFile = {
|
||||||
|
# Stop programs from overriding mimeapps
|
||||||
|
"mimeapps.list".force = true;
|
||||||
|
# Ensure GTK config is set
|
||||||
|
"gtk-3.0/gtk.css".force = true;
|
||||||
|
"gtk-3.0/settings.ini".force = true;
|
||||||
|
"gtk-4.0/gtk.css".force = true;
|
||||||
|
"gtk-4.0/settings.ini".force = true;
|
||||||
|
# Autostart some programs
|
||||||
|
"autostart/signal-desktop.desktop".source = "${pkgs.signal-desktop}/share/applications/signal-desktop.desktop";
|
||||||
|
"autostart/com.github.eneshecan.WhatsAppForLinux.desktop".source = "${pkgs.whatsapp-for-linux}/share/applications/com.github.eneshecan.WhatsAppForLinux.desktop";
|
||||||
|
"teams-for-linux/config.json".text = builtins.toJSON {
|
||||||
|
awayOnSystemIdle = true;
|
||||||
|
closeAppOnCross = false;
|
||||||
|
followSystemTheme = true;
|
||||||
|
notificationMethod = "electron";
|
||||||
|
optInTeamsV2 = true;
|
||||||
|
spellCheckerLanguages = [ "en_GB" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
{ ... }:
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./shell/default.nix
|
|
||||||
./scripts/default.nix
|
|
||||||
./password-store/default.nix
|
|
||||||
];
|
|
||||||
programs.home-manager.enable = true;
|
|
||||||
}
|
|
|
@ -1,94 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
osConfig,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./hyprland.nix
|
|
||||||
./email/default.nix
|
|
||||||
./calendar/default.nix
|
|
||||||
./terminal/default.nix
|
|
||||||
./emacs/default.nix
|
|
||||||
./browser/default.nix
|
|
||||||
];
|
|
||||||
home = {
|
|
||||||
packages = with pkgs; [
|
|
||||||
wl-clipboard
|
|
||||||
libreoffice-fresh
|
|
||||||
evince
|
|
||||||
image-roll
|
|
||||||
clapper
|
|
||||||
g4music
|
|
||||||
ffmpeg
|
|
||||||
remmina
|
|
||||||
fractal
|
|
||||||
webcord
|
|
||||||
signal-desktop
|
|
||||||
whatsapp-for-linux
|
|
||||||
teams-for-linux
|
|
||||||
twinkle
|
|
||||||
];
|
|
||||||
file.${config.gtk.gtk2.configLocation}.force = true;
|
|
||||||
};
|
|
||||||
services = {
|
|
||||||
syncthing.enable = true;
|
|
||||||
gammastep = {
|
|
||||||
inherit (osConfig.location) latitude longitude provider;
|
|
||||||
enable = true;
|
|
||||||
tray = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
gtk = {
|
|
||||||
enable = true;
|
|
||||||
gtk2.configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc";
|
|
||||||
iconTheme = {
|
|
||||||
package = (pkgs.papirus-icon-theme.override { color = "magenta"; });
|
|
||||||
name = "Papirus-Light";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
stylix.targets.gtk.extraCss = with config.lib.stylix.scheme.withHashtag; ''
|
|
||||||
@define-color accent_color ${base0E-hex};
|
|
||||||
@define-color accent_bg_color ${base0E-hex};
|
|
||||||
'';
|
|
||||||
xdg = {
|
|
||||||
mime.enable = true;
|
|
||||||
mimeApps =
|
|
||||||
let
|
|
||||||
defaultApplications = import ./mimeapps.nix;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
enable = true;
|
|
||||||
inherit defaultApplications;
|
|
||||||
associations.added = defaultApplications;
|
|
||||||
};
|
|
||||||
userDirs = {
|
|
||||||
enable = true;
|
|
||||||
createDirectories = true;
|
|
||||||
extraConfig = {
|
|
||||||
XDG_PROJECTS_DIR = "${config.home.homeDirectory}/Projects";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
configFile = {
|
|
||||||
# Stop programs from overriding mimeapps
|
|
||||||
"mimeapps.list".force = true;
|
|
||||||
# Ensure GTK config is set
|
|
||||||
"gtk-3.0/gtk.css".force = true;
|
|
||||||
"gtk-3.0/settings.ini".force = true;
|
|
||||||
"gtk-4.0/gtk.css".force = true;
|
|
||||||
"gtk-4.0/settings.ini".force = true;
|
|
||||||
# Autostart some programs
|
|
||||||
"autostart/signal-desktop.desktop".source = "${pkgs.signal-desktop}/share/applications/signal-desktop.desktop";
|
|
||||||
"autostart/com.github.eneshecan.WhatsAppForLinux.desktop".source = "${pkgs.whatsapp-for-linux}/share/applications/com.github.eneshecan.WhatsAppForLinux.desktop";
|
|
||||||
"teams-for-linux/config.json".text = builtins.toJSON {
|
|
||||||
awayOnSystemIdle = true;
|
|
||||||
closeAppOnCross = false;
|
|
||||||
followSystemTheme = true;
|
|
||||||
notificationMethod = "electron";
|
|
||||||
optInTeamsV2 = true;
|
|
||||||
spellCheckerLanguages = [ "en_GB" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,9 +1,9 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../shell/default.nix
|
../shell/default.nix
|
||||||
../../shell/git.nix
|
../shell/git.nix
|
||||||
../../gpg/default.nix
|
../gpg/default.nix
|
||||||
];
|
];
|
||||||
stylix.targets.emacs.enable = false;
|
stylix.targets.emacs.enable = false;
|
||||||
services.emacs = {
|
services.emacs = {
|
Before Width: | Height: | Size: 244 KiB After Width: | Height: | Size: 244 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
|
@ -155,6 +155,7 @@
|
||||||
};
|
};
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
package = osConfig.programs.hyprland.package;
|
||||||
xwayland.enable = true;
|
xwayland.enable = true;
|
||||||
systemd.enable = true;
|
systemd.enable = true;
|
||||||
settings = {
|
settings = {
|
Before Width: | Height: | Size: 178 KiB After Width: | Height: | Size: 178 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 112 KiB After Width: | Height: | Size: 112 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
|
@ -1,13 +1,6 @@
|
||||||
{ lib, ... }:
|
{ lib, ... }:
|
||||||
{
|
{
|
||||||
imports = [ ./module.nix ];
|
imports = [ ./module.nix ];
|
||||||
nixpkgs.config.allowUnfreePredicate =
|
|
||||||
pkg:
|
|
||||||
builtins.elem (lib.getName pkg) [
|
|
||||||
"steam-original"
|
|
||||||
"steam-run"
|
|
||||||
"steamcmd"
|
|
||||||
];
|
|
||||||
services.satisfactory-server = {
|
services.satisfactory-server = {
|
||||||
enable = true;
|
enable = true;
|
||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
|
|
|
@ -1,19 +1,10 @@
|
||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
lib,
|
|
||||||
pkgs,
|
pkgs,
|
||||||
username,
|
username,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
nixpkgs.config.allowUnfreePredicate =
|
|
||||||
pkg:
|
|
||||||
builtins.elem (lib.getName pkg) [
|
|
||||||
"steam"
|
|
||||||
"steam-unwrapped"
|
|
||||||
"steam-original"
|
|
||||||
"steam-run"
|
|
||||||
];
|
|
||||||
environment = {
|
environment = {
|
||||||
sessionVariables.MANGOHUD = 1;
|
sessionVariables.MANGOHUD = 1;
|
||||||
systemPackages = [ pkgs.mangohud ];
|
systemPackages = [ pkgs.mangohud ];
|
||||||
|
|
Before Width: | Height: | Size: 747 KiB After Width: | Height: | Size: 747 KiB |
Before Width: | Height: | Size: 7 MiB After Width: | Height: | Size: 7 MiB |
Before Width: | Height: | Size: 5.3 MiB After Width: | Height: | Size: 5.3 MiB |
Before Width: | Height: | Size: 7.8 MiB After Width: | Height: | Size: 7.8 MiB |
Before Width: | Height: | Size: 3.6 MiB After Width: | Height: | Size: 3.6 MiB |
Before Width: | Height: | Size: 562 KiB After Width: | Height: | Size: 562 KiB |
Before Width: | Height: | Size: 642 KiB After Width: | Height: | Size: 642 KiB |
Before Width: | Height: | Size: 4.3 MiB After Width: | Height: | Size: 4.3 MiB |
Before Width: | Height: | Size: 3.7 MiB After Width: | Height: | Size: 3.7 MiB |
Before Width: | Height: | Size: 1,000 KiB After Width: | Height: | Size: 1,000 KiB |
Before Width: | Height: | Size: 1.2 MiB After Width: | Height: | Size: 1.2 MiB |
Before Width: | Height: | Size: 4.7 MiB After Width: | Height: | Size: 4.7 MiB |
Before Width: | Height: | Size: 1.9 MiB After Width: | Height: | Size: 1.9 MiB |
Before Width: | Height: | Size: 1.3 MiB After Width: | Height: | Size: 1.3 MiB |
Before Width: | Height: | Size: 4.9 MiB After Width: | Height: | Size: 4.9 MiB |
Before Width: | Height: | Size: 1 MiB After Width: | Height: | Size: 1 MiB |
Before Width: | Height: | Size: 2.6 MiB After Width: | Height: | Size: 2.6 MiB |
Before Width: | Height: | Size: 2.1 MiB After Width: | Height: | Size: 2.1 MiB |
Before Width: | Height: | Size: 1.5 MiB After Width: | Height: | Size: 1.5 MiB |
Before Width: | Height: | Size: 8.3 MiB After Width: | Height: | Size: 8.3 MiB |
Before Width: | Height: | Size: 12 MiB After Width: | Height: | Size: 12 MiB |
Before Width: | Height: | Size: 14 MiB After Width: | Height: | Size: 14 MiB |
Before Width: | Height: | Size: 11 MiB After Width: | Height: | Size: 11 MiB |
Before Width: | Height: | Size: 4.6 MiB After Width: | Height: | Size: 4.6 MiB |
Before Width: | Height: | Size: 7.9 MiB After Width: | Height: | Size: 7.9 MiB |
Before Width: | Height: | Size: 10 MiB After Width: | Height: | Size: 10 MiB |
Before Width: | Height: | Size: 6 MiB After Width: | Height: | Size: 6 MiB |
Before Width: | Height: | Size: 668 KiB After Width: | Height: | Size: 668 KiB |
Before Width: | Height: | Size: 6.6 MiB After Width: | Height: | Size: 6.6 MiB |
Before Width: | Height: | Size: 2.6 MiB After Width: | Height: | Size: 2.6 MiB |
Before Width: | Height: | Size: 1.3 MiB After Width: | Height: | Size: 1.3 MiB |
Before Width: | Height: | Size: 984 KiB After Width: | Height: | Size: 984 KiB |
Before Width: | Height: | Size: 480 KiB After Width: | Height: | Size: 480 KiB |
Before Width: | Height: | Size: 3.9 MiB After Width: | Height: | Size: 3.9 MiB |
Before Width: | Height: | Size: 6.5 MiB After Width: | Height: | Size: 6.5 MiB |
Before Width: | Height: | Size: 4.8 MiB After Width: | Height: | Size: 4.8 MiB |
Before Width: | Height: | Size: 4 MiB After Width: | Height: | Size: 4 MiB |
Before Width: | Height: | Size: 4.3 MiB After Width: | Height: | Size: 4.3 MiB |
Before Width: | Height: | Size: 4 MiB After Width: | Height: | Size: 4 MiB |
Before Width: | Height: | Size: 229 KiB After Width: | Height: | Size: 229 KiB |
Before Width: | Height: | Size: 5.1 MiB After Width: | Height: | Size: 5.1 MiB |
|
@ -1,12 +1,5 @@
|
||||||
|
{ lib, username, ... }:
|
||||||
{
|
{
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
username,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "nomachine-client" ];
|
|
||||||
environment.systemPackages = [ pkgs.nomachine-client ];
|
|
||||||
home-manager.users.${username} =
|
home-manager.users.${username} =
|
||||||
{ config, ... }:
|
{ config, ... }:
|
||||||
{
|
{
|
||||||
|
|