Merge remote-tracking branch 'origin/main' into thinkpad

This commit is contained in:
Martin Berg Alstad 2025-03-03 21:52:34 +01:00
commit b42c0d9988
Signed by: martials
GPG Key ID: 848D71DE0590C199
20 changed files with 414 additions and 52 deletions

1
.gitattributes vendored Normal file
View File

@ -0,0 +1 @@
home-manager/secrets/* filter=git-crypt diff=git-crypt

View File

@ -1,6 +1,5 @@
{
pkgs,
inputs,
outputs,
...
}:
@ -44,7 +43,7 @@ in
xdg-utils
xdg-desktop-portal
xdg-desktop-portal-gtk
protonmail-desktop
unstable.protonmail-desktop
stremio
fastfetch
discord
@ -52,9 +51,6 @@ in
gimp
vlc
vdhcoapp
fortune
cowsay
inputs.zen-browser.packages.${system}.default # beta
onlyoffice-desktopeditors
];

48
flake.lock generated
View File

@ -49,11 +49,11 @@
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1739094937,
"narHash": "sha256-LemSQ5AZHwl4ZVlirdpAytDWgS96OZsct7Akx/REdGA=",
"lastModified": 1739283129,
"narHash": "sha256-GXJllf1wY7tOF6uei9S3PnSEghFbnJP1vkxM0kkMOoI=",
"owner": "catppuccin",
"repo": "nix",
"rev": "aee0cec463e62702751adaeb9f4fc00f2f72879b",
"rev": "d4e258e29075a86a82dacaf4f5e0985935ae4658",
"type": "github"
},
"original": {
@ -191,11 +191,11 @@
]
},
"locked": {
"lastModified": 1736373539,
"narHash": "sha256-dinzAqCjenWDxuy+MqUQq0I4zUSfaCvN9rzuCmgMZJY=",
"lastModified": 1739570999,
"narHash": "sha256-eCc0/Q4bPpe4/AS+uzIrHLJcR6BxPQ69q2kD0/Qe6rU=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "bd65bc3cde04c16755955630b344bc9e35272c56",
"rev": "254d47082e23dbf72fdeca1da6fe1da420f478d8",
"type": "github"
},
"original": {
@ -234,11 +234,11 @@
]
},
"locked": {
"lastModified": 1739002652,
"narHash": "sha256-W83O9ASWUFaDAFY7H9vvW/Gm9PN5Lkh0McYW3bA/6aU=",
"lastModified": 1739606511,
"narHash": "sha256-ywkv5Pm6p4Taavp3yX9SjoLVf/mIHS3fRXSHjXqaJHQ=",
"owner": "Jas-SinghFSU",
"repo": "HyprPanel",
"rev": "0d5f80ff5cd525b8f27adfb84cef67d90e3d7f10",
"rev": "c309a73d2d9821c90864447058b627c02bd82165",
"type": "github"
},
"original": {
@ -314,11 +314,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1739020877,
"narHash": "sha256-mIvECo/NNdJJ/bXjNqIh8yeoSjVLAuDuTUzAo7dzs8Y=",
"lastModified": 1740560979,
"narHash": "sha256-Vr3Qi346M+8CjedtbyUevIGDZW8LcA1fTG0ugPY/Hic=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "a79cfe0ebd24952b580b1cf08cd906354996d547",
"rev": "5135c59491985879812717f4c9fea69604e7f26f",
"type": "github"
},
"original": {
@ -330,11 +330,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1738843498,
"narHash": "sha256-7x+Q4xgFj9UxZZO9aUDCR8h4vyYut4zPUvfj3i+jBHE=",
"lastModified": 1739357830,
"narHash": "sha256-9xim3nJJUFbVbJCz48UP4fGRStVW5nv4VdbimbKxJ3I=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "f5a32fa27df91dfc4b762671a0e0a859a8a0058f",
"rev": "0ff09db9d034a04acd4e8908820ba0b410d7a33a",
"type": "github"
},
"original": {
@ -375,11 +375,11 @@
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1738966895,
"narHash": "sha256-OXOh35rTEnFSO4vj/SDMIlDvFPGW0ba1XhZkfx+AlL0=",
"lastModified": 1739527837,
"narHash": "sha256-dsb5iSthp5zCWhdV0aXPunFSCkS0pCvRXMMgTEFjzew=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "e7f20a602f6e08a70045f36c531bc44ba1baed07",
"rev": "a39e0a651657046f3b936d842147fa51523b6818",
"type": "github"
},
"original": {
@ -431,11 +431,11 @@
"systems": "systems_2"
},
"locked": {
"lastModified": 1739074574,
"narHash": "sha256-dLfT4/nIU3RzMHk7I5UigRehSWzq7wGkZxwuQdflO6s=",
"lastModified": 1739223162,
"narHash": "sha256-YrbYTM0CkZQG38Ysr2gF4BYdsQDNQtQ4YdQTDgw/zWM=",
"owner": "Gerg-L",
"repo": "spicetify-nix",
"rev": "366191fe8e9375d280e9a6b0ed9823468b49f6e7",
"rev": "dea717737d04a2a3e877c082bfd2c7f91c1a33ff",
"type": "github"
},
"original": {
@ -500,11 +500,11 @@
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1739071251,
"narHash": "sha256-Kj4grI7YpHk2RIsy73Dwg7ikDn94MI7zKrWN0BXrvJI=",
"lastModified": 1740554227,
"narHash": "sha256-xpwZeMw2gGenixGQDyVv+ja+epcR+EJ1BPuGFdgFS18=",
"owner": "0xc000022070",
"repo": "zen-browser-flake",
"rev": "410d6e9a8ba0edd163d0828a4cda1b1f267f2e1a",
"rev": "7de16ae319e6f6852274fa90b0d41c00049767c9",
"type": "github"
},
"original": {

View File

@ -28,6 +28,7 @@ in
./hyprland
./spicetify.nix # TODO env conflict on latest version
./yazi
./zen
];
dconf = {

View File

@ -1,23 +1,33 @@
{ pkgs, ... }:
{
programs.git = {
enable = true;
userName = "Martin Berg Alstad";
userEmail = "git@martials.no";
home.packages = with pkgs; [ git-crypt ];
aliases = {
amend = "commit --amend";
cm = "commit";
s = "status";
};
programs.git =
let
package = pkgs.git.override { withLibsecret = true; };
in
{
enable = true;
package = package;
userName = "Martin Berg Alstad";
userEmail = "git@martials.no";
signing = {
signByDefault = true;
key = "848D71DE0590C199";
};
aliases = {
amend = "commit --amend";
cm = "commit";
s = "status";
};
extraConfig = {
push.autoSetupRemote = true;
safe.directory = "/etc/nixos";
signing = {
signByDefault = true;
key = "848D71DE0590C199";
};
extraConfig = {
push.autoSetupRemote = true;
safe.directory = "/etc/nixos";
credential.helper = "${package}/bin/git-credential-libsecret";
};
};
};
}

View File

@ -20,10 +20,25 @@
fontSize = 14;
in
{
assistant = {
default_model = {
provider = "ollama";
model = "deepseek-r1:8b";
};
version = "2";
};
autosave = "on_focus_change";
base_keymap = "JetBrains";
buffer_font_family = font;
icon-theme = "Catppuccin Mocha"; # TODO doesn't work?
features = {
inline_completion_provider = "zed";
};
icon_theme = "Catppuccin Mocha";
# icon_theme = { TODO replace icon theme above with below
# mode = theme.mode;
# light = "Catppuccin Mocha";
# dark = "Catppuccin Mocha";
# };
ui_font_family = font;
ui_font_size = fontSize;
buffer_font_size = fontSize;

View File

@ -20,7 +20,7 @@ in
# Start starship when creating a new shell
interactiveShellInit = ''
starship init fish | source
fortune | cowsay -f tux
${pkgs.fortune}/bin/fortune | ${pkgs.cowsay}/bin/cowsay -f tux
'';
plugins = [
{

View File

@ -1,8 +1,11 @@
{ pkgs, ... }:
{
catppuccin.freetube.enable = true;
programs.freetube = {
enable = true;
package = pkgs.unstable.freetube;
settings = {
allowDashAv1Formats = true;
checkForUpdates = false;

View File

@ -7,6 +7,7 @@ in
wayland.windowManager.hyprland.settings = {
"$mainMod" = "SUPER";
"$shiftMod" = "$mainMod SHIFT";
"$ctrlMod" = "$mainMod CTRL";
"$menu" = "rofi -show drun";
bind = [
@ -29,6 +30,12 @@ in
"$mainMod, up, movefocus, u"
"$mainMod, down, movefocus, d"
# Move window with ctrl + mainMod + arrow keys
"$ctrlMod, left, movewindow, l"
"$ctrlMod, right, movewindow, r"
"$ctrlMod, up, movewindow, u"
"$ctrlMod, down, movewindow, d"
# Switch workspaces with mainMod + [0-9]
"$mainMod, 1, workspace, 1"
"$mainMod, 2, workspace, 2"

View File

@ -1,7 +1,13 @@
{ pkgs, inputs, ... }:
{
pkgs,
inputs,
lib,
...
}:
let
common = import ../../../common.nix;
theme = import ../../../theme.nix;
loader = import ../../secretsLoader.nix lib;
in
{
imports = [ inputs.hyprpanel.homeManagerModules.hyprpanel ];
@ -75,7 +81,8 @@ in
};
weather = {
unit = "metric";
location = "Bergen, Norway"; # TODO not working
location = "Bergen, Norway";
key = loader.loadSecret ../../secrets/weather-api-key;
};
};
@ -110,7 +117,7 @@ in
};
};
wallpaper.enable = true;
wallpaper.enable = false;
};
};
}

Binary file not shown.

View File

@ -0,0 +1,6 @@
lib:
{
loadSecret =
filePath: lib.strings.trim (lib.strings.removeSuffix "\n" (builtins.readFile filePath));
}

View File

@ -0,0 +1,113 @@
/* Catppuccin Mocha Blue userChrome.css*/
@media (prefers-color-scheme: dark) {
:root {
--zen-colors-primary: #313244 !important;
--zen-primary-color: #89b4fa !important;
--zen-colors-secondary: #313244 !important;
--zen-colors-tertiary: #181825 !important;
--zen-colors-border: #89b4fa !important;
--toolbarbutton-icon-fill: #89b4fa !important;
--lwt-text-color: #cdd6f4 !important;
--toolbar-field-color: #cdd6f4 !important;
--tab-selected-textcolor: rgb(171, 197, 247) !important;
--toolbar-field-focus-color: #cdd6f4 !important;
--toolbar-color: #cdd6f4 !important;
--newtab-text-primary-color: #cdd6f4 !important;
--arrowpanel-color: #cdd6f4 !important;
--arrowpanel-background: #1e1e2e !important;
--sidebar-text-color: #cdd6f4 !important;
--lwt-sidebar-text-color: #cdd6f4 !important;
--lwt-sidebar-background-color: #11111b !important;
--toolbar-bgcolor: #313244 !important;
--newtab-background-color: #1e1e2e !important;
--zen-themed-toolbar-bg: #181825 !important;
--zen-main-browser-background: #181825 !important;
}
#permissions-granted-icon {
color: #181825 !important;
}
.sidebar-placesTree {
background-color: #1e1e2e !important;
}
#zen-workspaces-button {
background-color: #1e1e2e !important;
}
#TabsToolbar {
background-color: #181825 !important;
}
#urlbar-background {
background-color: #1e1e2e !important;
}
.content-shortcuts {
background-color: #1e1e2e !important;
border-color: #89b4fa !important;
}
.urlbarView-url {
color: #89b4fa !important;
}
#zenEditBookmarkPanelFaviconContainer {
background: #11111b !important;
}
toolbar .toolbarbutton-1 {
&:not([disabled]) {
&:is([open], [checked])
> :is(
.toolbarbutton-icon,
.toolbarbutton-text,
.toolbarbutton-badge-stack
) {
fill: #11111b;
}
}
}
.identity-color-blue {
--identity-tab-color: #89b4fa !important;
--identity-icon-color: #89b4fa !important;
}
.identity-color-turquoise {
--identity-tab-color: #94e2d5 !important;
--identity-icon-color: #94e2d5 !important;
}
.identity-color-green {
--identity-tab-color: #a6e3a1 !important;
--identity-icon-color: #a6e3a1 !important;
}
.identity-color-yellow {
--identity-tab-color: #f9e2af !important;
--identity-icon-color: #f9e2af !important;
}
.identity-color-orange {
--identity-tab-color: #fab387 !important;
--identity-icon-color: #fab387 !important;
}
.identity-color-red {
--identity-tab-color: #f38ba8 !important;
--identity-icon-color: #f38ba8 !important;
}
.identity-color-pink {
--identity-tab-color: #f5c2e7 !important;
--identity-icon-color: #f5c2e7 !important;
}
.identity-color-purple {
--identity-tab-color: #cba6f7 !important;
--identity-icon-color: #cba6f7 !important;
}
}

View File

@ -0,0 +1,158 @@
/* Catppuccin Mocha Blue userContent.css*/
@media (prefers-color-scheme: dark) {
/* Common variables affecting all pages */
@-moz-document url-prefix("about:") {
:root {
--in-content-page-color: #cdd6f4 !important;
--color-accent-primary: #89b4fa !important;
--color-accent-primary-hover: rgb(163, 197, 251) !important;
--color-accent-primary-active: rgb(138, 153, 250) !important;
background-color: #1e1e2e !important;
--in-content-page-background: #1e1e2e !important;
}
}
/* Variables and styles specific to about:newtab and about:home */
@-moz-document url("about:newtab"), url("about:home") {
:root {
--newtab-background-color: #1e1e2e !important;
--newtab-background-color-secondary: #313244 !important;
--newtab-element-hover-color: #313244 !important;
--newtab-text-primary-color: #cdd6f4 !important;
--newtab-wordmark-color: #cdd6f4 !important;
--newtab-primary-action-background: #89b4fa !important;
}
.icon {
color: #89b4fa !important;
}
.search-wrapper .logo-and-wordmark .logo {
background:
url("zen-logo-mocha.svg"),
url("https://raw.githubusercontent.com/IAmJafeth/zen-browser/main/themes/Mocha/Blue/zen-logo-mocha.svg")
no-repeat center !important;
display: inline-block !important;
height: 82px !important;
width: 82px !important;
background-size: 82px !important;
}
@media (max-width: 609px) {
.search-wrapper .logo-and-wordmark .logo {
background-size: 64px !important;
height: 64px !important;
width: 64px !important;
}
}
.card-outer:is(:hover, :focus, .active):not(.placeholder) .card-title {
color: #89b4fa !important;
}
.top-site-outer .search-topsite {
background-color: #89b4fa !important;
}
.compact-cards .card-outer .card-context .card-context-icon.icon-download {
fill: #a6e3a1 !important;
}
}
/* Variables and styles specific to about:preferences */
@-moz-document url-prefix("about:preferences") {
:root {
--zen-colors-tertiary: #181825 !important;
--in-content-text-color: #cdd6f4 !important;
--link-color: #89b4fa !important;
--link-color-hover: rgb(163, 197, 251) !important;
--zen-colors-primary: #313244 !important;
--in-content-box-background: #313244 !important;
--zen-primary-color: #89b4fa !important;
}
groupbox,
moz-card {
background: #1e1e2e !important;
}
button,
groupbox menulist {
background: #313244 !important;
color: #cdd6f4 !important;
}
.main-content {
background-color: #11111b !important;
}
.identity-color-blue {
--identity-tab-color: #8aadf4 !important;
--identity-icon-color: #8aadf4 !important;
}
.identity-color-turquoise {
--identity-tab-color: #8bd5ca !important;
--identity-icon-color: #8bd5ca !important;
}
.identity-color-green {
--identity-tab-color: #a6da95 !important;
--identity-icon-color: #a6da95 !important;
}
.identity-color-yellow {
--identity-tab-color: #eed49f !important;
--identity-icon-color: #eed49f !important;
}
.identity-color-orange {
--identity-tab-color: #f5a97f !important;
--identity-icon-color: #f5a97f !important;
}
.identity-color-red {
--identity-tab-color: #ed8796 !important;
--identity-icon-color: #ed8796 !important;
}
.identity-color-pink {
--identity-tab-color: #f5bde6 !important;
--identity-icon-color: #f5bde6 !important;
}
.identity-color-purple {
--identity-tab-color: #c6a0f6 !important;
--identity-icon-color: #c6a0f6 !important;
}
}
/* Variables and styles specific to about:addons */
@-moz-document url-prefix("about:addons") {
:root {
--zen-dark-color-mix-base: #181825 !important;
--background-color-box: #1e1e2e !important;
}
}
/* Variables and styles specific to about:protections */
@-moz-document url-prefix("about:protections") {
:root {
--zen-primary-color: #1e1e2e !important;
--social-color: #cba6f7 !important;
--coockie-color: #89dceb !important;
--fingerprinter-color: #f9e2af !important;
--cryptominer-color: #b4befe !important;
--tracker-color: #a6e3a1 !important;
--in-content-primary-button-background-hover: rgb(81, 83, 105) !important;
--in-content-primary-button-text-color-hover: #cdd6f4 !important;
--in-content-primary-button-background: #45475a !important;
--in-content-primary-button-text-color: #cdd6f4 !important;
}
.card {
background-color: #313244 !important;
}
}
}

View File

@ -0,0 +1,13 @@
<svg width="1024" height="1024" viewBox="0 0 1024 1024" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_15_9)">
<rect width="1024" height="1024" rx="225" fill="#11111b"/>
<circle cx="512" cy="512" r="340" stroke="#cdd6f4" stroke-width="70"/>
<circle cx="512" cy="512" r="224.915" stroke="#cdd6f4" stroke-width="51"/>
<circle cx="512" cy="512" r="129.018" stroke="#cdd6f4" stroke-width="31"/>
</g>
<defs>
<clipPath id="clip0_15_9">
<rect width="1024" height="1024" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 568 B

View File

@ -0,0 +1,12 @@
{ pkgs, inputs, ... }:
{
# TODO programatically get default name
home = {
file.".zen/xdaxqlov.default/chrome" = {
source = ./chrome;
recursive = true;
};
packages = with pkgs; [ inputs.zen-browser.packages.${system}.default ]; # Beta
};
}

View File

@ -22,3 +22,11 @@ update:
nix flake update
just switch
# Encrypt all files in the repo using git-crypt
lock:
git-crypt lock
# Decrypt all files in the repo using git-crypt and the user's GPG key
unlock:
git-crypt unlock ~/.config/git/crypt-key

View File

@ -4,6 +4,7 @@
./bluetooth.nix
./development.nix
./fonts.nix
./gaming
./gnome
./hardware
./locale.nix
@ -13,7 +14,6 @@
./sddm.nix
./security.nix
./shell.nix
./steam.nix
./qt.nix
];
}

View File

@ -0,0 +1,12 @@
{ pkgs, ... }:
{
imports = [
./steam.nix
];
environment.systemPackages = with pkgs; [
heroic
wine
];
}