Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b133a7833c |
@@ -2,7 +2,6 @@
|
|||||||
flake.nixosModules.development = {pkgs, ...}: {
|
flake.nixosModules.development = {pkgs, ...}: {
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
nodejs_24
|
nodejs_24
|
||||||
go
|
|
||||||
|
|
||||||
nixfmt
|
nixfmt
|
||||||
zellij
|
zellij
|
||||||
@@ -18,7 +17,6 @@
|
|||||||
vscode-langservers-extracted # includes css-lsp, eslint-lsp, html-lsp, json-lsp
|
vscode-langservers-extracted # includes css-lsp, eslint-lsp, html-lsp, json-lsp
|
||||||
tailwindcss-language-server
|
tailwindcss-language-server
|
||||||
biome
|
biome
|
||||||
typescript-go
|
|
||||||
|
|
||||||
# Treesitter CLI + C compiler for building grammars
|
# Treesitter CLI + C compiler for building grammars
|
||||||
tree-sitter
|
tree-sitter
|
||||||
|
|||||||
+71
-83
@@ -1,92 +1,80 @@
|
|||||||
{
|
{ inputs, self, config, ... }: {
|
||||||
inputs,
|
|
||||||
self,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
flake.nixosModules.nixos-host = {pkgs, ...}: {
|
|
||||||
imports = [
|
|
||||||
../../hardware-configuration.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
# Bootloader
|
flake.nixosModules.nixos-host = {pkgs, ...}: {
|
||||||
boot.loader.systemd-boot.enable = true;
|
imports = [
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
../../hardware-configuration.nix
|
||||||
|
];
|
||||||
|
|
||||||
# Use latest kernel
|
# Bootloader
|
||||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
|
||||||
# Hostname
|
# Use latest kernel
|
||||||
networking.hostName = "nixos";
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||||
|
|
||||||
# Networking
|
# Hostname
|
||||||
networking.networkmanager.enable = true;
|
networking.hostName = "nixos";
|
||||||
|
|
||||||
# Time zone
|
# Networking
|
||||||
time.timeZone = "Europe/Lisbon";
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
# Locale
|
# Time zone
|
||||||
i18n.defaultLocale = "en_GB.UTF-8";
|
time.timeZone = "Europe/Lisbon";
|
||||||
i18n.extraLocaleSettings = {
|
|
||||||
LC_ADDRESS = "pt_PT.UTF-8";
|
|
||||||
LC_IDENTIFICATION = "pt_PT.UTF-8";
|
|
||||||
LC_MEASUREMENT = "pt_PT.UTF-8";
|
|
||||||
LC_MONETARY = "pt_PT.UTF-8";
|
|
||||||
LC_NAME = "pt_PT.UTF-8";
|
|
||||||
LC_NUMERIC = "pt_PT.UTF-8";
|
|
||||||
LC_PAPER = "pt_PT.UTF-8";
|
|
||||||
LC_TELEPHONE = "pt_PT.UTF-8";
|
|
||||||
LC_TIME = "pt_PT.UTF-8";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Printing
|
# Locale
|
||||||
services.printing.enable = true;
|
i18n.defaultLocale = "en_GB.UTF-8";
|
||||||
|
i18n.extraLocaleSettings = {
|
||||||
# Audio
|
LC_ADDRESS = "pt_PT.UTF-8";
|
||||||
services.pulseaudio.enable = false;
|
LC_IDENTIFICATION = "pt_PT.UTF-8";
|
||||||
security.rtkit.enable = true;
|
LC_MEASUREMENT = "pt_PT.UTF-8";
|
||||||
services.pipewire = {
|
LC_MONETARY = "pt_PT.UTF-8";
|
||||||
enable = true;
|
LC_NAME = "pt_PT.UTF-8";
|
||||||
alsa.enable = true;
|
LC_NUMERIC = "pt_PT.UTF-8";
|
||||||
alsa.support32Bit = true;
|
LC_PAPER = "pt_PT.UTF-8";
|
||||||
pulse.enable = true;
|
LC_TELEPHONE = "pt_PT.UTF-8";
|
||||||
};
|
LC_TIME = "pt_PT.UTF-8";
|
||||||
|
|
||||||
# SSH
|
|
||||||
services.openssh = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
PermitRootLogin = "no";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# User account
|
|
||||||
users.users.${config.username} = {
|
|
||||||
isNormalUser = true;
|
|
||||||
description = "Thomas Gouveia Lopes";
|
|
||||||
extraGroups = ["networkmanager" "wheel"];
|
|
||||||
};
|
|
||||||
|
|
||||||
# Programs
|
|
||||||
|
|
||||||
# Allow unfree
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
|
||||||
|
|
||||||
# Enable flakes
|
|
||||||
nix.settings.experimental-features = ["nix-command" "flakes"];
|
|
||||||
|
|
||||||
# Auto-unlock gnome-keyring on login
|
|
||||||
security.pam.services.login.enableGnomeKeyring = true;
|
|
||||||
security.pam.services.gdm.enableGnomeKeyring = true;
|
|
||||||
security.pam.services.gdm-password.enableGnomeKeyring = true;
|
|
||||||
|
|
||||||
# State version
|
|
||||||
system.stateVersion = "25.11";
|
|
||||||
|
|
||||||
fileSystems."/mnt/endeavour" = {
|
|
||||||
device = "/dev/disk/by-uuid/a32ca052-12a5-4355-bd3b-b4515d9ea4a5";
|
|
||||||
fsType = "ext4";
|
|
||||||
options = ["defaults" "noatime"];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Printing
|
||||||
|
services.printing.enable = true;
|
||||||
|
|
||||||
|
# Audio
|
||||||
|
services.pulseaudio.enable = false;
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# User account
|
||||||
|
users.users.${config.username} = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "Thomas Gouveia Lopes";
|
||||||
|
extraGroups = [ "networkmanager" "wheel" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Programs
|
||||||
|
|
||||||
|
# Allow unfree
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
|
# Enable flakes
|
||||||
|
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||||
|
|
||||||
|
# Auto-unlock gnome-keyring on login
|
||||||
|
security.pam.services.login.enableGnomeKeyring = true;
|
||||||
|
security.pam.services.gdm.enableGnomeKeyring = true;
|
||||||
|
security.pam.services.gdm-password.enableGnomeKeyring = true;
|
||||||
|
|
||||||
|
# State version
|
||||||
|
system.stateVersion = "25.11";
|
||||||
|
|
||||||
|
fileSystems."/mnt/endeavour" = {
|
||||||
|
device = "/dev/disk/by-uuid/a32ca052-12a5-4355-bd3b-b4515d9ea4a5";
|
||||||
|
fsType = "ext4";
|
||||||
|
options = [ "defaults" "noatime" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,8 @@
|
|||||||
{self, ...}: {
|
{
|
||||||
|
inputs,
|
||||||
|
self,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
flake.nixosModules.packages = {pkgs, ...}: {
|
flake.nixosModules.packages = {pkgs, ...}: {
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
fd
|
fd
|
||||||
@@ -8,7 +12,6 @@
|
|||||||
alacritty
|
alacritty
|
||||||
fzf
|
fzf
|
||||||
autojump
|
autojump
|
||||||
wl-clipboard
|
|
||||||
pulseaudio
|
pulseaudio
|
||||||
legcord
|
legcord
|
||||||
quickshell
|
quickshell
|
||||||
@@ -17,10 +20,6 @@
|
|||||||
feishin
|
feishin
|
||||||
obsidian
|
obsidian
|
||||||
self.packages.${pkgs.stdenv.hostPlatform.system}.handy
|
self.packages.${pkgs.stdenv.hostPlatform.system}.handy
|
||||||
mpv
|
|
||||||
ffmpeg
|
|
||||||
tmux
|
|
||||||
obs-studio
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,11 +2,11 @@
|
|||||||
perSystem = {pkgs, ...}: {
|
perSystem = {pkgs, ...}: {
|
||||||
packages.handy = pkgs.appimageTools.wrapType2 rec {
|
packages.handy = pkgs.appimageTools.wrapType2 rec {
|
||||||
pname = "handy";
|
pname = "handy";
|
||||||
version = "0.7.10";
|
version = "0.7.9";
|
||||||
|
|
||||||
src = pkgs.fetchurl {
|
src = pkgs.fetchurl {
|
||||||
url = "https://github.com/cjpais/Handy/releases/download/v${version}/Handy_${version}_amd64.AppImage";
|
url = "https://github.com/cjpais/Handy/releases/download/v${version}/Handy_${version}_amd64.AppImage";
|
||||||
hash = "sha256-vBOcXCCJr9D0u0h27nN4XLPPngx4m+toAfi6O6Fuojk=";
|
hash = "sha256-iSibRpme8xJfumhjJ2LzkrtFwV8j9nHajMnBygBFLz4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
extraInstallCommands = let
|
extraInstallCommands = let
|
||||||
|
|||||||
@@ -1,41 +1,29 @@
|
|||||||
{ lib, ... }: {
|
{ ... }: {
|
||||||
perSystem = { pkgs, ... }: let
|
perSystem = { pkgs, ... }: {
|
||||||
pname = "zen-browser";
|
packages.zen-browser = pkgs.appimageTools.wrapType2 rec {
|
||||||
version = "1.19.2b";
|
pname = "zen-browser";
|
||||||
|
version = "1.19.1b";
|
||||||
|
|
||||||
src = pkgs.fetchurl {
|
src = pkgs.fetchurl {
|
||||||
url = "https://github.com/zen-browser/desktop/releases/download/${version}/zen-x86_64.AppImage";
|
url = "https://github.com/zen-browser/desktop/releases/download/${version}/zen-x86_64.AppImage";
|
||||||
hash = "sha256-lDn7rIYDgmyUnc3PdIASXfpXBXASL6TEdzyZfT716cI=";
|
hash = "sha256-h3lza2C+SxptpcX897Uf/nM8dNILUBXScSNQZlvSIQg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
appimageContents = pkgs.appimageTools.extract { inherit pname version src; };
|
extraInstallCommands = let
|
||||||
in {
|
contents = pkgs.appimageTools.extract { inherit pname version src; };
|
||||||
packages.zen-browser = pkgs.appimageTools.wrapType2 {
|
in ''
|
||||||
inherit pname version src;
|
desktop_file=$(find ${contents} -name "*.desktop" | head -n1)
|
||||||
|
|
||||||
extraPkgs = pkgs: [ pkgs.ffmpeg-full ];
|
|
||||||
|
|
||||||
extraInstallCommands = ''
|
|
||||||
desktop_file=$(find ${appimageContents} -name "*.desktop" | head -n1)
|
|
||||||
if [ -n "$desktop_file" ]; then
|
if [ -n "$desktop_file" ]; then
|
||||||
install -m 444 -D "$desktop_file" "$out/share/applications/${pname}.desktop"
|
install -m 444 -D "$desktop_file" "$out/share/applications/${pname}.desktop"
|
||||||
|
# The desktop file uses 'zen' as the binary name
|
||||||
substituteInPlace "$out/share/applications/${pname}.desktop" \
|
substituteInPlace "$out/share/applications/${pname}.desktop" \
|
||||||
--replace 'Exec=zen' 'Exec=${pname}'
|
--replace 'Exec=zen' 'Exec=${pname}'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -d ${appimageContents}/usr/share/icons ]; then
|
if [ -d ${contents}/usr/share/icons ]; then
|
||||||
cp -r ${appimageContents}/usr/share/icons $out/share
|
cp -r ${contents}/usr/share/icons $out/share
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ln -s $out/bin/${pname} $out/bin/zen
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "Experience tranquillity while browsing the web without people tracking you!";
|
|
||||||
homepage = "https://zen-browser.app";
|
|
||||||
license = lib.licenses.mpl20;
|
|
||||||
platforms = [ "x86_64-linux" ];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user