Compare commits
10 commits
8f30d06f65
...
f5bc54585b
Author | SHA1 | Date | |
---|---|---|---|
f5bc54585b | |||
82a9c5be65 | |||
5a7309b5d3 | |||
95ee537f03 | |||
4df523437a | |||
3788823072 | |||
bfa2f177d3 | |||
e21a61c360 | |||
a98b467d26 | |||
6849194702 |
11 changed files with 131 additions and 172 deletions
73
flake.lock
generated
73
flake.lock
generated
|
@ -260,27 +260,6 @@
|
|||
}
|
||||
},
|
||||
"flake-parts_3": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"nix-fast-build",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1736143030,
|
||||
"narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_4": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib_2"
|
||||
},
|
||||
|
@ -298,7 +277,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_5": {
|
||||
"flake-parts_4": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"nixThePlanet",
|
||||
|
@ -473,7 +452,7 @@
|
|||
},
|
||||
"hercules-ci-effects": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_5",
|
||||
"flake-parts": "flake-parts_4",
|
||||
"nixpkgs": "nixpkgs_7"
|
||||
},
|
||||
"locked": {
|
||||
|
@ -767,28 +746,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-fast-build": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_3",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"treefmt-nix": "treefmt-nix_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1736592044,
|
||||
"narHash": "sha256-HkaJeIFgxncLm8MC1BaWRTkge9b1/+mjPcbzXTRshoM=",
|
||||
"owner": "Mic92",
|
||||
"repo": "nix-fast-build",
|
||||
"rev": "906af17fcd50c84615a4660d9c08cf89c01cef7d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Mic92",
|
||||
"repo": "nix-fast-build",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-formatter-pack": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -879,7 +836,7 @@
|
|||
},
|
||||
"nixThePlanet": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_4",
|
||||
"flake-parts": "flake-parts_3",
|
||||
"hercules-ci-effects": "hercules-ci-effects",
|
||||
"nixpkgs": "nixpkgs_8",
|
||||
"osx-kvm": "osx-kvm"
|
||||
|
@ -1341,13 +1298,12 @@
|
|||
"lix-eval-jobs": "lix-eval-jobs",
|
||||
"lix-module": "lix-module",
|
||||
"mobile-nixos": "mobile-nixos",
|
||||
"nix-fast-build": "nix-fast-build",
|
||||
"nix-on-droid": "nix-on-droid",
|
||||
"nixDarwin": "nixDarwin",
|
||||
"nixThePlanet": "nixThePlanet",
|
||||
"nixosHardware": "nixosHardware",
|
||||
"nixpkgs": "nixpkgs_9",
|
||||
"treefmt-nix": "treefmt-nix_3",
|
||||
"treefmt-nix": "treefmt-nix_2",
|
||||
"vscode-server": "vscode-server"
|
||||
}
|
||||
},
|
||||
|
@ -1492,27 +1448,6 @@
|
|||
}
|
||||
},
|
||||
"treefmt-nix_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nix-fast-build",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1736154270,
|
||||
"narHash": "sha256-p2r8xhQZ3TYIEKBoiEhllKWQqWNJNoT9v64Vmg4q8Zw=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "13c913f5deb3a5c08bb810efd89dc8cb24dd968b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"treefmt-nix_3": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
|
|
|
@ -59,10 +59,6 @@
|
|||
};
|
||||
catppuccin.url = "github:catppuccin/nix";
|
||||
emacs-overlay.url = "github:nix-community/emacs-overlay";
|
||||
nix-fast-build = {
|
||||
url = "github:Mic92/nix-fast-build";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs =
|
||||
|
|
|
@ -1016,26 +1016,41 @@ This is meant to be an helper to be called from the window manager."
|
|||
|
||||
;;; Experiments, remove from here
|
||||
|
||||
|
||||
(defun ccr/test ()
|
||||
"test"
|
||||
(defun ccr/test (niri-socket)
|
||||
"Select a window and focus it based on `niri msg` output."
|
||||
(interactive)
|
||||
(let* ((niri-output (ccr/niri-get-windows niri-socket))
|
||||
(display-list (mapcar (lambda (entry)
|
||||
(let ((title (cdr (assoc 'title entry)))
|
||||
(app-id (cdr (assoc 'app_id entry)))
|
||||
(id (cdr (assoc 'id entry))))
|
||||
(cons (format "%s - %s" title app-id) id)))
|
||||
niri-output)))
|
||||
(with-selected-frame
|
||||
(make-frame '((name . "Emacs Selector")
|
||||
(minibuffer . only)
|
||||
(fullscreen . 0) ; no fullscreen
|
||||
(undecorated . t) ; remove title bar
|
||||
;;(auto-raise . t) ; focus on this frame
|
||||
;;(tool-bar-lines . 0)
|
||||
;;(menu-bar-lines . 0)
|
||||
(fullscreen . 0)
|
||||
(undecorated . t)
|
||||
(internal-border-width . 10)
|
||||
(width . 50)
|
||||
(height . 10)))
|
||||
(width . 120)
|
||||
(height . 20)))
|
||||
(unwind-protect
|
||||
(completing-read "ciao " '("foo" "bar" "pippo") nil t "")
|
||||
(delete-frame))))
|
||||
(let* ((entry (completing-read "Select window: " (mapcar #'car display-list) nil t ""))
|
||||
(entry-id (cdr (assoc entry display-list))) ;; Get the ID associated with the selected entry
|
||||
(command (format "NIRI_SOCKET=\"%s\" niri msg action focus-window --id %s" niri-socket entry-id)))
|
||||
(message command)
|
||||
(shell-command command))
|
||||
(delete-frame)))))
|
||||
|
||||
|
||||
(defun ccr/niri-get-windows (niri-socket)
|
||||
"Esegue `niri msg --json windows` e parse l'output JSON in una alist."
|
||||
(let* ((command (format "NIRI_SOCKET=\"%s\" niri msg --json windows" niri-socket))
|
||||
(output (shell-command-to-string command))
|
||||
(json-object-type 'alist) ; Usa alist per rappresentare gli oggetti JSON
|
||||
(parsed-json (json-read-from-string output)))
|
||||
parsed-json))
|
||||
|
||||
|
||||
(provide 'init)
|
||||
;;; init.el ends here
|
||||
|
|
|
@ -2,24 +2,12 @@
|
|||
{
|
||||
services.gpg-agent = {
|
||||
enable = true;
|
||||
enableSshSupport = true;
|
||||
extraConfig =
|
||||
let
|
||||
pinentryRofi = pkgs.writeShellApplication {
|
||||
name = "pinentry-rofi-with-env";
|
||||
runtimeInputs = with pkgs; [
|
||||
coreutils
|
||||
rofi-wayland
|
||||
];
|
||||
text = ''
|
||||
"${pkgs.pinentry-rofi}/bin/pinentry-rofi" "$@"
|
||||
'';
|
||||
pinentryPackage = pkgs.pinentry-rofi.override {
|
||||
rofi = pkgs.rofi-wayland;
|
||||
};
|
||||
in
|
||||
''
|
||||
extraConfig = ''
|
||||
allow-emacs-pinentry
|
||||
allow-loopback-pinentry
|
||||
pinentry-program ${pinentryRofi}/bin/pinentry-rofi-with-env
|
||||
'';
|
||||
};
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
|
@ -52,29 +53,34 @@ in
|
|||
|
||||
services.udiskie.enable = true;
|
||||
|
||||
home.pointerCursor = {
|
||||
gtk.enable = true;
|
||||
x11.enable = true;
|
||||
package = pkgs.catppuccin-cursors;
|
||||
name = "catppuccin-mocha-sapphire";
|
||||
size = 38;
|
||||
};
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
# font.name = lib.mkForce "Sans,Symbols Nerd Font";
|
||||
theme = {
|
||||
name = "Catppuccin-GTK-Purple-Dark-Compact";
|
||||
package = pkgs.magnetic-catppuccin-gtk.override {
|
||||
accent = [ "purple" ];
|
||||
shade = "dark";
|
||||
size = "compact";
|
||||
};
|
||||
};
|
||||
iconTheme = {
|
||||
name = "Adwaita";
|
||||
package = pkgs.adwaita-icon-theme;
|
||||
};
|
||||
cursorTheme = {
|
||||
name = "catppuccin-mocha-sapphire";
|
||||
package = pkgs.catppuccin-cursors;
|
||||
size = 38;
|
||||
};
|
||||
};
|
||||
|
||||
qt = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
home.file.".icons/catppuccin-mocha-sapphire" = {
|
||||
source = "${pkgs.catppuccin-cursors.mochaSapphire}/share/icons/catppuccin-mocha-sapphire-cursors";
|
||||
recursive = true;
|
||||
};
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
plugins = with pkgs.hyprlandPlugins; [
|
||||
|
|
|
@ -301,9 +301,18 @@ window-rule {
|
|||
}
|
||||
|
||||
window-rule {
|
||||
match app-id=r#"^Emacs Selector$"#
|
||||
match title=r#"^Emacs Selector$"#
|
||||
opacity 0.95
|
||||
open-floating true
|
||||
open-focused true
|
||||
}
|
||||
|
||||
window-rule {
|
||||
match title=r#"^bTop$"#
|
||||
opacity 0.95
|
||||
open-floating true
|
||||
open-focused true
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -334,9 +343,9 @@ binds {
|
|||
Mod+M { spawn "emacsclient" "-c" "--eval" "(notmuch-search \"tag:new\")"; }
|
||||
Mod+G { spawn "emacsclient" "-c" "--eval" "(switch-to-buffer (gptel \"*ChatGPT*\"))"; }
|
||||
Mod+Shift+C { spawn "emacsclient" "-c" "--eval" "(org-roam-dailies-capture-today)"; }
|
||||
Super+Alt+L { spawn "swaylock"; }
|
||||
Mod+Alt+L { spawn "swaylock"; }
|
||||
Mod+Space { spawn "rofi" "-show" "menu" "-modi" "menu:rofi-power-menu"; }
|
||||
|
||||
Mod+Ctrl+b { spawn "foot" "--title='bTop'" "-W" "210x60" "btop";}
|
||||
|
||||
// Example volume keys mappings for PipeWire & WirePlumber.
|
||||
// The allow-when-locked=true property makes them work even when the session is locked.
|
||||
|
|
|
@ -48,10 +48,4 @@
|
|||
}
|
||||
];
|
||||
};
|
||||
|
||||
# Otherwise it will start only after Sway and will not work with Hyprland
|
||||
systemd.user.services.swayidle = {
|
||||
Unit.PartOf = lib.mkForce [ ];
|
||||
Install.WantedBy = lib.mkForce [ "graphical-session-pre.target" ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -14,20 +14,22 @@
|
|||
deltaflyer = {
|
||||
nixpkgs =
|
||||
let
|
||||
# keep in sync with https://github.com/NixOS/mobile-nixos/blob/development/pkgs.nix
|
||||
rev = "44d0940ea560dee511026a53f0e2e2cde489b4d4";
|
||||
# keep in sync with https://github.com/mobile-nixos/mobile-nixos/blob/development/npins/sources.json
|
||||
rev = "d3c42f187194c26d9f0309a8ecc469d6c878ce33";
|
||||
in
|
||||
builtins.getFlake "github:NixOS/nixpkgs/${rev}";
|
||||
extraHmModules = [
|
||||
# inputs.ccrEmacs.hmModules.default
|
||||
inputs.catppuccin.homeManagerModules.catppuccin
|
||||
];
|
||||
vpn = {
|
||||
ip = "10.100.0.5";
|
||||
publicKey = "6bzmBx2b5yzMdW0aK0KapoBesNcxTv5+qdo+pGmG+jc=";
|
||||
};
|
||||
homeManager = builtins.getFlake "github:nix-community/home-manager/670d9ecc3e46a6e3265c203c2d136031a3d3548e";
|
||||
# homeManager = builtins.getFlake "github:nix-community/home-manager/670d9ecc3e46a6e3265c203c2d136031a3d3548e";
|
||||
extraModules = [
|
||||
(import "${inputs.mobile-nixos}/lib/configuration.nix" { device = "oneplus-fajita"; })
|
||||
inputs.catppuccin.nixosModules.catppuccin
|
||||
inputs.lix-module.nixosModules.default
|
||||
];
|
||||
secrets = {
|
||||
"deltaflyer-wireguard-private-key" = { };
|
||||
|
|
|
@ -30,6 +30,13 @@
|
|||
# INSECURE STUFF FIRST
|
||||
# Users and hardcoded passwords.
|
||||
{
|
||||
nixpkgs.overlays = [
|
||||
(prev: final: {
|
||||
gcc7 = final.gcc;
|
||||
gcc8 = final.gcc;
|
||||
})
|
||||
];
|
||||
|
||||
users.users.root.password = "nixos";
|
||||
# users.users.ccr.password = "1234";
|
||||
|
||||
|
@ -66,11 +73,13 @@
|
|||
"git"
|
||||
"shell"
|
||||
"helix"
|
||||
"hyprland"
|
||||
# "hyprland"
|
||||
"niri"
|
||||
"emacs"
|
||||
"firefox"
|
||||
"mpv"
|
||||
"xdg"
|
||||
"catppuccin"
|
||||
];
|
||||
extraGroups = [
|
||||
"dialout"
|
||||
|
@ -99,18 +108,18 @@
|
|||
ccr.extraModules = [
|
||||
{
|
||||
programs.fish.loginShellInit = ''
|
||||
pgrep Hypr >/dev/null || exec dbus-run-session Hyprland
|
||||
'';
|
||||
wayland.windowManager.hyprland.extraConfig = lib.mkAfter ''
|
||||
monitor = DSI-1, 1080x2340, 0x0, 2, transform, 1
|
||||
input {
|
||||
touchdevice {
|
||||
transform = 1
|
||||
}
|
||||
}
|
||||
bind = $mod, r, exec, rotate-screen hor
|
||||
bind = $mod SHIFT, r, exec, rotate-screen ver
|
||||
pgrep niri >/dev/null || exec niri-session
|
||||
'';
|
||||
# wayland.windowManager.hyprland.extraConfig = lib.mkAfter ''
|
||||
# monitor = DSI-1, 1080x2340, 0x0, 2, transform, 1
|
||||
# input {
|
||||
# touchdevice {
|
||||
# transform = 1
|
||||
# }
|
||||
# }
|
||||
# bind = $mod, r, exec, rotate-screen hor
|
||||
# bind = $mod SHIFT, r, exec, rotate-screen ver
|
||||
# '';
|
||||
home.packages =
|
||||
let
|
||||
rotateScript = pkgs.writeShellApplication {
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
#
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
|
@ -16,35 +17,38 @@
|
|||
|
||||
# # desktopManager.plasma5.mobile.enable = true;
|
||||
|
||||
# displayManager.autoLogin = {
|
||||
# enable = true;
|
||||
# };
|
||||
displayManager.autoLogin = {
|
||||
enable = true;
|
||||
user = "ccr";
|
||||
};
|
||||
|
||||
# displayManager.session = [{
|
||||
# manage = "desktop";
|
||||
# name = "hyprland";
|
||||
# start = ''
|
||||
# ${pkgs.hyprland}/bin/Hyprland &
|
||||
# waitPID=$!
|
||||
# '';
|
||||
# }];
|
||||
displayManager.session = [
|
||||
{
|
||||
manage = "desktop";
|
||||
name = "niri";
|
||||
start = ''
|
||||
${pkgs.niri}/bin/niri-session &
|
||||
waitPID=$!
|
||||
'';
|
||||
}
|
||||
];
|
||||
|
||||
# displayManager.defaultSession = "hyprland";
|
||||
displayManager.defaultSession = "niri";
|
||||
|
||||
# displayManager.lightdm = {
|
||||
# enable = true;
|
||||
# # Workaround for autologin only working at first launch.
|
||||
# # A logout or session crashing will show the login screen otherwise.
|
||||
# extraSeatDefaults = ''
|
||||
# session-cleanup-script=${pkgs.procps}/bin/pkill -P1 -fx ${pkgs.lightdm}/sbin/lightdm
|
||||
# '';
|
||||
# };
|
||||
displayManager.lightdm = {
|
||||
enable = true;
|
||||
# Workaround for autologin only working at first launch.
|
||||
# A logout or session crashing will show the login screen otherwise.
|
||||
extraSeatDefaults = ''
|
||||
session-cleanup-script=${pkgs.procps}/bin/pkill -P1 -fx ${pkgs.lightdm}/sbin/lightdm
|
||||
'';
|
||||
};
|
||||
|
||||
libinput.enable = true;
|
||||
};
|
||||
|
||||
hardware.bluetooth.enable = true;
|
||||
hardware.pulseaudio.enable = lib.mkDefault true; # mkDefault to help out users wanting pipewire
|
||||
hardware.pulseaudio.enable = lib.mkDefault false; # mkDefault to help out users wanting pipewire
|
||||
networking.networkmanager.enable = true;
|
||||
networking.wireless.enable = false;
|
||||
powerManagement.enable = true;
|
||||
|
|
|
@ -8,10 +8,11 @@
|
|||
{
|
||||
nixpkgs.overlays = [
|
||||
(final: _: {
|
||||
nix-fast-build = fleetFlake.inputs.nix-fast-build.packages.${final.system}.nix-fast-build // {
|
||||
nix-eval-jobs =
|
||||
(fleetFlake.inputs.lix-eval-jobs.packages.${final.system}.nix-eval-jobs.override {
|
||||
nix = final.nix;
|
||||
};
|
||||
nix-eval-job = fleetFlake.inputs.lix-eval-jobs.packages.${final.system}.nix-eval-jobs // {
|
||||
})
|
||||
// {
|
||||
nix = final.nix;
|
||||
};
|
||||
})
|
||||
|
|
Loading…
Add table
Reference in a new issue