Compare commits

...

14 Commits

Author SHA1 Message Date
80ce759b1d init for thinkpad 2026-02-26 20:29:56 +01:00
406609f990 merge 2026-02-26 14:27:35 +01:00
033a5fae07 browsers default 2026-02-26 14:26:55 +01:00
62254c44e3 trele morele 2026-02-26 13:55:59 +01:00
325cc17e1b trele morele 2026-02-26 13:52:30 +01:00
dc8a82364b dxdxd 2026-02-26 13:39:32 +01:00
bea3099e0d mako fix 2026-02-25 20:23:32 +01:00
3034989c00 brave 2026-02-25 19:56:13 +01:00
9b718e86d1 obsidian stuff 2026-02-25 17:48:56 +01:00
ea28c116e1 more readme 2026-02-25 16:12:46 +01:00
93de0bbce6 readme 2026-02-25 16:07:56 +01:00
04f6dab540 Merge remote-tracking branch 'origin/master' into laptop 2026-02-25 15:17:54 +01:00
b8287582e5 xd 2026-02-25 15:17:28 +01:00
02a5295aef change ssh key 2026-02-25 15:16:08 +01:00
13 changed files with 279 additions and 52 deletions

View File

@@ -31,6 +31,7 @@ My dotfiles managed with [home manager](https://github.com/nix-community/home-ma
* Mimeapps
* Catppuccin
* Home Manager
* Obsidian
## Screenshot
![Desktop screenshot](assets/screenshot.png)
@@ -77,6 +78,103 @@ You need to edit `flake.nix` to match your preferences.
}
```
# Binds
## System & Power
| Bind | Action |
| :--- | :--- |
| **SUPER + Shift + Ctrl + L** | Lock screen |
| **SUPER + Shift + Ctrl + R** | Restart |
| **SUPER + Shift + Ctrl + P** | Power off |
| **SUPER + Shift + Ctrl + S** | Go to sleep |
| **SUPER + Shift + Ctrl + M** | Logout |
| **SUPER + V** | Show clipboard |
| **SUPER + Alt + V** | Clear clipboard |
### Windows management
| Bind | Action |
| :--- | :--- |
| **SUPER + Q** | Close active window |
| **SUPER + F** | Fullscreen |
| **SUPER + T** | Toggle floating window |
| **SUPER + P** | Toggle pseudo layout |
| **SUPER + S** | Toggle split / Swap with master window |
| **SUPER + N** / **P** | Swap with next / previous window |
| **SUPER + vim keys** | Move focus (Left / Down / Up / Right) |
| **SUPER + Shift + vim keys** | Resize active window |
| **SUPER + Left Mouse Button** | Move window |
| **SUPER + Right Mouse Button**| Resize window |
### Workspaces
| Bind | Action |
| :--- | :--- |
| **SUPER + 1-0** | Go to workspace 1-10 |
| **SUPER + Shift + 1-0** | Move active window to workspace 1-10 |
| **SUPER + Mouse Scroll** | Go to next/previous workspace |
| **SUPER + Shift + Right / Left** | Move current workspace to next/previous monitor |
| **SUPER + Tab** | Toggle scratchpad workspace |
| **SUPER + Shift + Tab** | Move window to scratchpad |
### Applications
| Bind | Action |
| :--- | :--- |
| **SUPER + Enter** | Open terminal |
| **SUPER + Ctrl + Enter** | Open terminal (current workspace) |
| **SUPER + Space** | Open app menu |
| **SUPER + M** | Open waypaper menu |
| **SUPER + Alt + C** | Apply OpenRGB color |
| **SUPER + Ctrl + B** | Open/Focus web browser |
| **SUPER + Ctrl + N** | Open/Focus notes app |
| **SUPER + Ctrl + M** | Open/Focus music player |
| **SUPER + Ctrl + S** | Open/Focus Signal |
| **SUPER + Ctrl + V** | Open/quick switcher Vesktop |
| **SUPER + Ctrl + G** | Open/Focus Steam |
| **SUPER + Ctrl + F** | Open/Focus FreeTube |
| **SUPER + Ctrl + X** | Open/Focus X app |
| **SUPER + Ctrl + Shift + B** | Restart status bar |
### Zoom
| Bind | Action |
| :--- | :--- |
| **SUPER + Alt + =** | Zoom in (+10%) |
| **SUPER + Alt + -** | Zoom out (-10%) |
| **SUPER + Alt + 0** | Reset zoom |
### Screenshots & Media
| Bind | Action |
| :--- | :--- |
| **Print Screen** | Screenshot selected area |
| **SUPER + Print Screen** | Screenshot fullscreen |
| **Alt + Print Screen** | Screenshot active window |
| **Pause** | Play / Pause media |
| **SUPER + Pause** | Play / Pause Spotify |
| **Brightness Keys** | Change screen brightness (+/- 10) |
| **Volume Keys** | Change volume (+/- 5%) |
| **Mic Mute Key** | Mute / Unmute microphone |
# Default apps
| Type | Application |
| :--- | :--- |
| Web Browser | Zen Browser |
| Terminal | kitty |
| Notes | Obsidian |
| Music Player | Spotify |
| App Launcher | hyprlauncher |
| Signal | Signal-desktop |
| Discord Client | Vesktop |
| YouTube Client | FreeTube |
| Gaming Platform | Steam |
| Screen Recording | OBS Studio |
| Image Editor | GIMP |
| Wallpaper Picker | Waypaper / swww |
| Screenshot Tool | grim (capture) & satty (editor) |
| Screen Locker | hyprlock |
| Clipboard Manager | cliphist & wl-clipboard |
| RGB Lighting Control | OpenRGB |
| Audio Volume Control | pavucontrol |
| Screen Color (Night Light) | hyprsunset |
| Status bar | AShell |
| Web Apps (PWAs) | Facebook, Twitter, ProtonMail |
---
I hope you'll enjoy it, if you for whatever reason want to try this random ass dotfiles found on the internet…

View File

@@ -8,3 +8,5 @@ hyprsunset
satty
kitty
mangohud
brave-bin
zen-browser-bin

12
flake.lock generated
View File

@@ -117,11 +117,11 @@
]
},
"locked": {
"lastModified": 1771851181,
"narHash": "sha256-gFgE6mGUftwseV3DUENMb0k0EiHd739lZexPo5O/sdQ=",
"lastModified": 1772060133,
"narHash": "sha256-VuyRptb8v1lVGMlLp4/1vRX3Efwec0CN0S6mKmDPzLg=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "9a4b494b1aa1b93d8edf167f46dc8e0c0011280c",
"rev": "ce9b6e52500a0ea0ec48f0bbf6d7a3e431d9dfa4",
"type": "github"
},
"original": {
@@ -205,11 +205,11 @@
"xdph": "xdph"
},
"locked": {
"lastModified": 1771959711,
"narHash": "sha256-fVxN49l5Tu/iCSGuQuyR7HLBl9qJyg/4kt8WHTFn3MY=",
"lastModified": 1772107319,
"narHash": "sha256-qdeeNrWmUe1P2FsnNU1ngoZl8UxczEMJBziwm78V42I=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "c60b3cb2ed0404d9573b2801b51ba7be1da999d9",
"rev": "c71fbd854dfdedaae011f4b8b1fdb81f8054b309",
"type": "github"
},
"original": {

View File

@@ -38,22 +38,27 @@
email = "szymon_jozef@proton.me";
fullName = "Szymon P";
# your public ssh key
signingKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILaITOo0cG6j0iQKpn7ldhfq9P0FVhGpwUqw2hf+Uhaq";
signingKey = "~/.ssh/github.pub";
mainMonitor = "eDP-1"; # only for some applications: you still need to set hyprland monitors yourself!
mainMonitor = "LVDS-1"; # only for some applications: you still need to set hyprland monitors yourself!
statusBar = "ashell"; # available: ashell|waybar
pathConfig = {
wallpaper = "Obrazy/tapety/catppuccin";
screenshot = "Obrazy/zrzuty/";
obsidian = "Dokumenty/obsidian";
};
};
system = "x86_64-linux";
in
{
homeConfigurations = {
"arch" = home-manager.lib.homeManagerConfiguration {
pkgs = import nixpkgs { system = "x86_64-linux"; };
pkgs = import nixpkgs {
inherit system;
config.allowUnfree = true;
};
extraSpecialArgs = {
inherit
inputs
@@ -69,7 +74,10 @@
};
"nixos" = home-manager.lib.homeManagerConfiguration {
pkgs = import nixpkgs { system = "x86_64-linux"; };
pkgs = import nixpkgs {
inherit system;
config.allowUnfree = true;
};
extraSpecialArgs = {
inherit
inputs

View File

@@ -48,6 +48,7 @@
./modules/gui/mako.nix
./modules/gui/mangohud.nix
./modules/gui/browsers.nix
./modules/gui/obsidian.nix
# status bars
./modules/bars/ashell.nix
./modules/bars/waybar.nix
@@ -73,6 +74,7 @@
home.sessionVariables = {
EDITOR = "nvim";
VISUAL = "nvim";
XDG_DATA_DIRS = "$HOME/.nix-profile/share/applications:$XDG_DATA_DIRS";
};
programs.home-manager.enable = true;

0
install_nix_and_home_manager_on_arch.sh Normal file → Executable file
View File

View File

@@ -177,6 +177,8 @@
};
# nix
nil_ls.enable = true;
# other
marksman.enable = true;
};
keymaps = {
lspBuf = {

View File

@@ -1,31 +1,44 @@
{ ... }:
{
xdg.desktopEntries = {
x = {
name = "X";
genericName = "Social Media Client";
comment = "Open X (twitter)";
exec = "uwsm app -- chromium --app=https://x.com";
icon = "twitter";
let
mkWebApp =
{
name,
url,
icon,
wmClass,
}:
{
inherit name icon;
genericName = "Web app";
comment = "Open ${name}";
exec = "uwsm app -- brave --app=https://${url}";
terminal = false;
categories = [
"Network"
"WebBrowser"
"X-Social"
];
settings = {
StartupWMClass = wmClass;
};
};
in
{
xdg.desktopEntries = {
x = mkWebApp {
name = "X";
url = "x.com";
icon = "twitter";
wmClass = "brave-x.com__-Default";
};
proton-mail = {
name = "Proton mail";
genericName = "Proton mail";
comment = "Open Proton Mail";
exec = "uwsm app -- chromium --app=https://mail.proton.me/u/0/inbox.com";
terminal = false;
categories = [ "Email" ];
settings = {
StartupWMClass = "proton-mail.com";
};
proton-mail = mkWebApp {
name = "Proton-mail";
url = "mail.proton.me/u/0/inbox.com";
icon = "proton-mail";
wmClass = "brave-mail.proton.me__u_0_inbox.com-Default";
};
};
}

View File

@@ -35,13 +35,12 @@
border-color=#FF6347
[urgency=critical]
on-notify =
${
if isNixOS then
"exec ${pkgs.pulseaudio}/bin/paplay ${pkgs.sound-theme-freedesktop}/share/sounds/freedesktop/stereo/dialog-information.oga"
else
"exec paplay /usr/share/sounds/freedesktop/stereo/dialog-information.oga"
};
on-notify=${
if isNixOS then
"exec ${pkgs.pulseaudio}/bin/paplay ${pkgs.sound-theme-freedesktop}/share/sounds/freedesktop/stereo/dialog-information.oga"
else
"exec paplay /usr/share/sounds/freedesktop/stereo/dialog-information.oga"
}
border-color=#FF0000
[mode=do-not-disturb]

View File

@@ -0,0 +1,21 @@
{
stdenv,
fetchFromGitHub,
}:
stdenv.mkDerivation {
pname = "obsidian-catppuccin";
version = "main";
src = fetchFromGitHub {
owner = "catppuccin";
repo = "obsidian";
rev = "main";
hash = "sha256-sN5k263geOtJ1mOCQGM8UdmA/71OhBI5NRwGxJwd80E=";
};
installPhase = ''
mkdir -p $out
cp theme.css manifest.json $out/
'';
}

65
modules/gui/obsidian.nix Normal file
View File

@@ -0,0 +1,65 @@
{
isNixOS,
lib,
pkgs,
userConfig,
...
}:
{
programs.obsidian = {
enable = true;
package = lib.mkIf (!isNixOS) null;
defaultSettings = {
app = {
vimMode = true;
alwaysUpdateLinks = true;
attachmentFolderPath = "media";
newLinkFormat = "relative";
newFileLocation = "current";
useMarkdownLinks = true;
showUnsupportedFiles = true;
pdfExportSettings = {
pageSize = "A4";
landscape = false;
margin = "0";
downscalePercent = 100;
};
};
themes = [
(pkgs.callPackage ./obsidian-catppuccin.nix { })
];
corePlugins = [
"file-explorer"
"global-search"
"switcher"
"graph"
"backlink"
"canvas"
"outgoing-link"
"tag-pane"
"page-preview"
"note-composer"
"command-palette"
"editor-status"
"bookmarks"
"outline"
"word-count"
"bases"
];
};
vaults = {
"Notatki-szkolne" = {
target = "${userConfig.pathConfig.obsidian}/notatki-szkolne";
};
"Studia" = {
target = "${userConfig.pathConfig.obsidian}/ZUT-notatki";
};
};
};
}

View File

@@ -199,7 +199,7 @@ in
"match:class ^(zen)$, workspace 2"
"match:class ^(com.github.IsmaelMartinez.teams_for_linux)$, workspace 2"
"match:class ^(FreeTube)$, workspace 2"
"match:class ^(chrome-x.com__-Default)$, workspace 2"
"match:class ^(brave-x.com__-Default)$, workspace 2"
"match:class ^(chrome-www.inoreader.com__all_articles-Default)$, workspace 2"
"match:class ^(chrome-mail.proton.me__u_0_inbox.com-Default)$, workspace 2"
"match:class ^(chrome-app.tuta.com__-Default)$, workspace 2"
@@ -287,7 +287,7 @@ in
"$mainMod Control_L, m, exec, [workspace 9] uwsm app -- $music_player"
"$mainMod Control_L, f, exec, uwsm app -- freetube"
"$mainMod Control_L, f, focuswindow, class:^(freetube)$"
"$mainMod Control_L, x, exec, uwsm app -- ~/.local/share/applications/x.desktop"
"$mainMod Control_L, x, exec, uwsm app -- ~/.nix-profile/share/applications/x.desktop"
"$mainMod Control_L, x, focuswindow, class:^(chrome-x.com__-Default)$"
"$mainMod CONTROL_L L_SHIFT, B, exec, killall ashell && uwsm app -- ashell"
];

View File

@@ -1,5 +1,13 @@
{ ... }:
let
browserFallback = [
"zen-beta.desktop"
"zen.desktop"
"brave.desktop"
"chromium.desktop"
];
in
{
xdg.portal.config = {
common = {
@@ -15,20 +23,16 @@
defaultApplications = {
"application/pdf" = [ "org.pwmt.zathura.desktop" ];
"text/html" = [
"zen-beta.desktop"
"zen.desktop"
"chromium.desktop"
];
"application/xhtml+xml" = [ "zen.desktop" ];
"x-scheme-handler/http" = [ "zen.desktop" ];
"x-scheme-handler/https" = [ "zen.desktop" ];
"x-scheme-handler/chrome" = [ "zen.desktop" ];
"application/x-extension-htm" = [ "zen.desktop" ];
"application/x-extension-html" = [ "zen.desktop" ];
"application/x-extension-shtml" = [ "zen.desktop" ];
"application/x-extension-xht" = [ "zen.desktop" ];
"application/x-extension-xhtml" = [ "zen.desktop" ];
"text/html" = browserFallback;
"application/xhtml+xml" = browserFallback;
"x-scheme-handler/http" = browserFallback;
"x-scheme-handler/https" = browserFallback;
"x-scheme-handler/chrome" = browserFallback;
"application/x-extension-htm" = browserFallback;
"application/x-extension-html" = browserFallback;
"application/x-extension-shtml" = browserFallback;
"application/x-extension-xht" = browserFallback;
"application/x-extension-xhtml" = browserFallback;
"audio/*" = [ "mpv.desktop" ];
"audio/mpeg" = [ "mpv.desktop" ];
@@ -43,4 +47,17 @@
"x-scheme-handler/tuta" = [ "tutanota-desktop.desktop" ];
};
};
xdg.userDirs = {
enable = true;
createDirectories = true;
desktop = null;
documents = "$HOME/Dokumenty";
download = "$HOME/Pobrane";
music = null;
pictures = "$HOME/Obrazy";
videos = "$HOME/Video";
templates = null;
publicShare = null;
};
}