Compare commits
No commits in common. "0a29ba5480d88093e56bf84f82052821a9c4c8eb" and "010141fe0b7b6d866f46dd9721653d8ee0521a6b" have entirely different histories.
0a29ba5480
...
010141fe0b
@ -5,23 +5,18 @@
|
||||
|
||||
console = {
|
||||
keyMap = "us";
|
||||
font = "Lat2-Terminus16";
|
||||
font = "Lat2-Terminus16";
|
||||
};
|
||||
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
|
||||
nix = {
|
||||
autoOptimiseStore = true;
|
||||
nixPath = [
|
||||
nixPath = [
|
||||
"nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos"
|
||||
"nixos-config=/etc/nixos/hosts/${variables.hostname}/default.nix"
|
||||
"/nix/var/nix/profiles/per-user/root/channels"
|
||||
];
|
||||
gc = {
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
persistent = true;
|
||||
};
|
||||
};
|
||||
|
||||
nixpkgs = {
|
||||
|
@ -9,7 +9,7 @@
|
||||
];
|
||||
|
||||
programs.neovim = {
|
||||
enable = true;
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
" syntax
|
||||
syntax enable
|
||||
@ -34,48 +34,19 @@
|
||||
|
||||
" enable indent guides
|
||||
let g:indent_guides_enable_on_vim_startup = 1
|
||||
|
||||
" Exit Vim if NERDTree is the only window left.
|
||||
autocmd BufEnter * if tabpagenr('$') == 1 && winnr('$') == 1 && exists('b:NERDTree') && b:NERDTree.isTabTree() |
|
||||
\ quit | endif
|
||||
|
||||
" Start NERDTree. If a file is specified, move the cursor to its window.
|
||||
autocmd StdinReadPre * let s:std_in=1
|
||||
autocmd VimEnter * NERDTree | if argc() > 0 || exists("s:std_in") | wincmd p | endif
|
||||
|
||||
" Start NERDTree when Vim starts with a directory argument.
|
||||
autocmd StdinReadPre * let s:std_in=1
|
||||
autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && !exists('s:std_in') |
|
||||
\ execute 'NERDTree' argv()[0] | wincmd p | enew | execute 'cd '.argv()[0] | endif
|
||||
|
||||
" Exit Vim if NERDTree is the only window left.
|
||||
autocmd BufEnter * if tabpagenr('$') == 1 && winnr('$') == 1 && exists('b:NERDTree') && b:NERDTree.isTabTree() |
|
||||
\ quit | endif
|
||||
|
||||
" Start interactive EasyAlign in visual mode (e.g. vipga)
|
||||
xmap ga <Plug>(EasyAlign)
|
||||
|
||||
" Start interactive EasyAlign for a motion/text object (e.g. gaip)
|
||||
nmap ga <Plug>(EasyAlign)
|
||||
|
||||
" Highlight row and column
|
||||
set cul
|
||||
set cuc
|
||||
'';
|
||||
|
||||
viAlias = true;
|
||||
viAlias = true;
|
||||
vimAlias = true;
|
||||
plugins = with pkgs.vimPlugins; [
|
||||
vim-nix
|
||||
plugins = with pkgs.vimPlugins; [
|
||||
vim-nix
|
||||
molokai
|
||||
YouCompleteMe
|
||||
vim-airline
|
||||
vim-airline
|
||||
vim-airline-themes
|
||||
vim-lsp
|
||||
vim-indent-guides
|
||||
vim-signify
|
||||
nerdtree
|
||||
vim-easy-align
|
||||
];
|
||||
};
|
||||
|
||||
|
@ -2,39 +2,6 @@
|
||||
|
||||
let
|
||||
albert_autostart = (pkgs.makeAutostartItem {
|
||||
<<<<<<< HEAD
|
||||
name = "albert";
|
||||
package = pkgs.albert;
|
||||
});
|
||||
guake_autostart = (pkgs.makeAutostartItem {
|
||||
name = "guake";
|
||||
package = pkgs.guake;
|
||||
});
|
||||
in {
|
||||
imports = [
|
||||
./zsh.nix
|
||||
./code.nix
|
||||
./git.nix
|
||||
];
|
||||
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
home = {
|
||||
stateVersion = "21.05";
|
||||
sessionVariables = {
|
||||
EDITOR = "nvim";
|
||||
VISUAL = "nvim";
|
||||
};
|
||||
|
||||
packages = with pkgs; [
|
||||
# essentials
|
||||
albert
|
||||
guake
|
||||
|
||||
# browsers
|
||||
firefox
|
||||
brave
|
||||
=======
|
||||
name = "albert";
|
||||
package = pkgs.albert;
|
||||
});
|
||||
@ -54,59 +21,32 @@ in {
|
||||
guake
|
||||
|
||||
firefox
|
||||
>>>>>>> 010141fe0b7b6d866f46dd9721653d8ee0521a6b
|
||||
chromium
|
||||
|
||||
# reversing
|
||||
rizin
|
||||
<<<<<<< HEAD
|
||||
|
||||
# networking
|
||||
nmap
|
||||
|
||||
# development
|
||||
clang
|
||||
|
||||
# social
|
||||
=======
|
||||
|
||||
nmap
|
||||
|
||||
>>>>>>> 010141fe0b7b6d866f46dd9721653d8ee0521a6b
|
||||
slack
|
||||
signal-desktop
|
||||
teams
|
||||
discord
|
||||
element-desktop
|
||||
|
||||
<<<<<<< HEAD
|
||||
# music
|
||||
spotify
|
||||
|
||||
# misc
|
||||
bind
|
||||
|
||||
# system
|
||||
gparted
|
||||
=======
|
||||
spotify
|
||||
|
||||
bind
|
||||
gparted
|
||||
sshfs
|
||||
>>>>>>> 010141fe0b7b6d866f46dd9721653d8ee0521a6b
|
||||
|
||||
# autostart
|
||||
albert_autostart
|
||||
guake_autostart
|
||||
];
|
||||
<<<<<<< HEAD
|
||||
};
|
||||
=======
|
||||
|
||||
home.sessionVariables = {
|
||||
EDITOR = "nvim";
|
||||
VISUAL = "nvim";
|
||||
};
|
||||
>>>>>>> 010141fe0b7b6d866f46dd9721653d8ee0521a6b
|
||||
}
|
||||
|
@ -1,13 +1,11 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
{ config, pkgs, lib, ... }: {
|
||||
dconf.settings = {
|
||||
#
|
||||
# touchpad
|
||||
#
|
||||
|
||||
"org/gnome/desktop/peripherals/touchpad" = {
|
||||
natural-scroll = false;
|
||||
natural-scroll = false;
|
||||
two-finger-scrolling-enabled = true;
|
||||
};
|
||||
|
||||
@ -16,16 +14,16 @@
|
||||
#
|
||||
|
||||
"org/gnome/desktop/wm/keybindings" = {
|
||||
close = [ "<Alt>q" ];
|
||||
maximize = [ "<Primary><Shift>Up" ];
|
||||
unmaximize = [ "<Primary><Shift>Down" ];
|
||||
move-to-workspace-left = [ "<Shift><Alt>Left" ];
|
||||
move-to-workspace-right = [ "<Shift><Alt>Right" ];
|
||||
switch-to-workspace-left = [ "<Primary><Alt>Left" ];
|
||||
close = [ "<Alt>q" ];
|
||||
maximize = [ "<Primary><Shift>Up" ];
|
||||
unmaximize = [ "<Primary><Shift>Down" ];
|
||||
move-to-workspace-left = [ "<Shift><Alt>Left" ];
|
||||
move-to-workspace-right = [ "<Shift><Alt>Right" ];
|
||||
switch-to-workspace-left = [ "<Primary><Alt>Left" ];
|
||||
switch-to-workspace-right = [ "<Primary><Alt>Right" ];
|
||||
};
|
||||
"org/gnome/mutter/keybindings" = {
|
||||
toggle-tiled-left = [ "<Primary><Shift>Left" ];
|
||||
toggle-tiled-left = [ "<Primary><Shift>Left" ];
|
||||
toggle-tiled-right = [ "<Primary><Shift>Right" ];
|
||||
};
|
||||
|
||||
@ -43,21 +41,21 @@
|
||||
screensaver = [ "<Primary><Alt>l" ];
|
||||
|
||||
# disable screenshot
|
||||
screenshot = [];
|
||||
screenshot = [];
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" =
|
||||
{
|
||||
binding = "F12";
|
||||
command = "guake-toggle";
|
||||
name = "Guake";
|
||||
name = "Guake";
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" =
|
||||
{
|
||||
binding = "<Alt>a";
|
||||
command = "albert toggle";
|
||||
name = "Albert";
|
||||
name = "Albert";
|
||||
};
|
||||
|
||||
#
|
||||
@ -65,8 +63,9 @@
|
||||
#
|
||||
|
||||
"org/gnome/settings-daemon/plugins/power" = {
|
||||
sleep-inactive-ac-type = "nothing";
|
||||
sleep-inactive-ac-type = "nothing";
|
||||
sleep-inactive-battery-type = "nothing";
|
||||
|
||||
};
|
||||
|
||||
#
|
||||
@ -74,7 +73,7 @@
|
||||
#
|
||||
|
||||
"org/gnome/settings-daemon/plugins/color" = {
|
||||
night-light-enabled = true;
|
||||
night-light-enabled = true;
|
||||
night-light-temperature = 2536;
|
||||
};
|
||||
|
||||
|
@ -17,11 +17,6 @@ in {
|
||||
../../users.nix
|
||||
];
|
||||
|
||||
variables.hostname = hostname;
|
||||
time.timeZone = "Europe/Rome";
|
||||
system.stateVersion = "21.05"; # Did you read the comment?
|
||||
users.users.giulio.openssh.authorizedKeys.keys = pubkeys;
|
||||
|
||||
boot = {
|
||||
kernelParams = ["ip=${lan_address}::10.0.0.1:255.255.255.0::enp5s0:off"];
|
||||
|
||||
@ -30,9 +25,9 @@ in {
|
||||
network = {
|
||||
enable = true;
|
||||
ssh = {
|
||||
enable = true;
|
||||
port = 2222;
|
||||
hostKeys = [/boot/host_ecdsa_key];
|
||||
enable = true;
|
||||
port = 2222;
|
||||
hostKeys = [/boot/host_ecdsa_key];
|
||||
authorizedKeys = pubkeys;
|
||||
};
|
||||
|
||||
@ -43,78 +38,81 @@ in {
|
||||
};
|
||||
|
||||
loader = {
|
||||
systemd-boot.enable = true;
|
||||
systemd-boot.enable = true;
|
||||
efi.canTouchEfiVariables = true;
|
||||
};
|
||||
|
||||
supportedFilesystems = ["zfs"];
|
||||
zfs.requestEncryptionCredentials = true;
|
||||
supportedFilesystems = ["zfs"];
|
||||
zfs.requestEncryptionCredentials = true;
|
||||
};
|
||||
|
||||
variables.hostname = hostname;
|
||||
|
||||
time.timeZone = "Europe/Rome";
|
||||
|
||||
networking = {
|
||||
hostName = hostname;
|
||||
hostId = "49350853";
|
||||
useDHCP = false;
|
||||
defaultGateway = "10.0.0.1";
|
||||
hostName = hostname;
|
||||
hostId = "49350853";
|
||||
useDHCP = false;
|
||||
interfaces = {
|
||||
enp5s0.ipv4.addresses = [{ address = lan_address; prefixLength = 24; }];
|
||||
enp6s0.useDHCP = false;
|
||||
wlp4s0.useDHCP = false;
|
||||
};
|
||||
# extraHosts = ''
|
||||
# 127.0.0.1 ${hostname}.devs.giugl.io jf.giugl.io yt.giugl.io s3.giugl.io synclounge.giugl.io giugl.io htson.giugl.io htrad.giugl.io htnzb.giugl.io httra.giugl.io giupyter.giugl.io irc.giugl.io localhost
|
||||
#
|
||||
## LAN
|
||||
#${lan_address} ${hostname}.devs.giugl.io giugl.io jf.giugl.io yt.giugl.io s3.giugl.io synclounge.giugl.io htson.giugl.io htrad.giugl.io htnzb.giugl.io httra.giugl.io todo.giugl.io giupyter.giugl.io collabora.giugl.io htjak.giugl.io irc.giugl.io
|
||||
#
|
||||
# 10.0.0.1 router.devs.giugl.io
|
||||
# 10.0.0.2 dvr.devs.giugl.io
|
||||
# 10.0.0.3 nas.devs.giugl.io
|
||||
#
|
||||
## Wireguard hosts
|
||||
# 10.3.0.1 ${hostname}.devs.giugl.io jf.giugl.io giugl.io yt.giugl.io s3.giugl.io synclounge.giugl.io htson.giugl.io htrad.giugl.io htnzb.giugl.io httra.giugl.io todo.giugl.io giupyter.giugl.io collabora.giugl.io htjak.giugl.io irc.giugl.io
|
||||
# 10.3.0.2 galuminum.devs.giugl.io
|
||||
# 10.3.0.3 oneplus.devs.giugl.io
|
||||
# 10.3.0.4 ipad.devs.giugl.io
|
||||
# 10.3.0.5 manduria.devs.giugl.io
|
||||
# 10.3.0.6 antonio.devs.giugl.io
|
||||
# 10.3.0.7 gbeast.devs.giugl.io
|
||||
# 10.3.0.8 parisa-phone.devs.giugl.io
|
||||
# 10.3.0.9 parisa-pc.devs.giugl.io
|
||||
# 10.3.0.10 peppiniell.devs.giugl.io
|
||||
# 10.3.0.11 padulino.devs.giugl.io
|
||||
# 10.3.0.12 shield.devs.giugl.io
|
||||
# 10.3.0.13 angelino.devs.giugl.io
|
||||
# 10.3.0.14 peposone.devs.giugl.io
|
||||
# 10.3.0.15 pepostwo.devs.giugl.io
|
||||
# 10.3.0.100 eleonora.devs.giugl.io
|
||||
# 10.3.0.200 broccolino.devs.giugl.io
|
||||
# 10.3.0.201 hotpottino.devs.giugl.io
|
||||
#
|
||||
## Blacklist
|
||||
# 0.0.0.0 metrics.plex.tv
|
||||
# 0.0.0.0 analytics.plex.tv
|
||||
# 0.0.0.0 cdn.luckyorange.com
|
||||
# 0.0.0.0 w1.luckyorange.com
|
||||
# 0.0.0.0 browser.sentry-cdn.com
|
||||
# 0.0.0.0 analytics.facebook.com
|
||||
# 0.0.0.0 ads.facebook.com
|
||||
# 0.0.0.0 extmaps-api.yandex.net
|
||||
# 0.0.0.0 logservice.hicloud.com
|
||||
# 0.0.0.0 logbak.hicloud.com
|
||||
# 0.0.0.0 logservice1.hicloud.com
|
||||
# 0.0.0.0 samsung-com.112.2o7.net
|
||||
# 0.0.0.0 supportmetrics.apple.com
|
||||
# 0.0.0.0 analytics.oneplus.cn
|
||||
# 0.0.0.0 click.oneplus.cn
|
||||
# 0.0.0.0 analytics-api.samsunghealthcn.com
|
||||
#
|
||||
## The following lines are desirable for IPv6 capable hosts
|
||||
# ::1 localhost ip6-localhost ip6-loopback
|
||||
# ff02::1 ip6-allnodes
|
||||
# ff02::2 ip6-allrouters
|
||||
# '';
|
||||
defaultGateway = "10.0.0.1";
|
||||
extraHosts = ''
|
||||
127.0.0.1 ${hostname}.devs.giugl.io jf.giugl.io yt.giugl.io s3.giugl.io synclounge.giugl.io giugl.io htson.giugl.io htrad.giugl.io htnzb.giugl.io httra.giugl.io giupyter.giugl.io irc.giugl.io localhost
|
||||
|
||||
# LAN
|
||||
${lan_address} ${hostname}.devs.giugl.io giugl.io jf.giugl.io yt.giugl.io s3.giugl.io synclounge.giugl.io htson.giugl.io htrad.giugl.io htnzb.giugl.io httra.giugl.io todo.giugl.io giupyter.giugl.io collabora.giugl.io htjak.giugl.io irc.giugl.io
|
||||
|
||||
10.0.0.1 router.devs.giugl.io
|
||||
10.0.0.2 dvr.devs.giugl.io
|
||||
10.0.0.3 nas.devs.giugl.io
|
||||
|
||||
# Wireguard hosts
|
||||
10.3.0.1 ${hostname}.devs.giugl.io jf.giugl.io giugl.io yt.giugl.io s3.giugl.io synclounge.giugl.io htson.giugl.io htrad.giugl.io htnzb.giugl.io httra.giugl.io todo.giugl.io giupyter.giugl.io collabora.giugl.io htjak.giugl.io irc.giugl.io
|
||||
10.3.0.2 galuminum.devs.giugl.io
|
||||
10.3.0.3 oneplus.devs.giugl.io
|
||||
10.3.0.4 ipad.devs.giugl.io
|
||||
10.3.0.5 manduria.devs.giugl.io
|
||||
10.3.0.6 antonio.devs.giugl.io
|
||||
10.3.0.7 gbeast.devs.giugl.io
|
||||
10.3.0.8 parisa-phone.devs.giugl.io
|
||||
10.3.0.9 parisa-pc.devs.giugl.io
|
||||
10.3.0.10 peppiniell.devs.giugl.io
|
||||
10.3.0.11 padulino.devs.giugl.io
|
||||
10.3.0.12 shield.devs.giugl.io
|
||||
10.3.0.13 angelino.devs.giugl.io
|
||||
10.3.0.14 peposone.devs.giugl.io
|
||||
10.3.0.15 pepostwo.devs.giugl.io
|
||||
10.3.0.100 eleonora.devs.giugl.io
|
||||
10.3.0.200 broccolino.devs.giugl.io
|
||||
10.3.0.201 hotpottino.devs.giugl.io
|
||||
|
||||
# Blacklist
|
||||
0.0.0.0 metrics.plex.tv
|
||||
0.0.0.0 analytics.plex.tv
|
||||
0.0.0.0 cdn.luckyorange.com
|
||||
0.0.0.0 w1.luckyorange.com
|
||||
0.0.0.0 browser.sentry-cdn.com
|
||||
0.0.0.0 analytics.facebook.com
|
||||
0.0.0.0 ads.facebook.com
|
||||
0.0.0.0 extmaps-api.yandex.net
|
||||
0.0.0.0 logservice.hicloud.com
|
||||
0.0.0.0 logbak.hicloud.com
|
||||
0.0.0.0 logservice1.hicloud.com
|
||||
0.0.0.0 samsung-com.112.2o7.net
|
||||
0.0.0.0 supportmetrics.apple.com
|
||||
0.0.0.0 analytics.oneplus.cn
|
||||
0.0.0.0 click.oneplus.cn
|
||||
0.0.0.0 analytics-api.samsunghealthcn.com
|
||||
|
||||
# The following lines are desirable for IPv6 capable hosts
|
||||
::1 localhost ip6-localhost ip6-loopback
|
||||
ff02::1 ip6-allnodes
|
||||
ff02::2 ip6-allrouters
|
||||
'';
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs;
|
||||
@ -140,8 +138,8 @@ in {
|
||||
xserver.videoDrivers = [ "nvidia" ];
|
||||
|
||||
dnsmasq = {
|
||||
enable = true;
|
||||
servers = ["127.0.0.1#5353"];
|
||||
enable = true;
|
||||
servers = ["127.0.0.1#5353"];
|
||||
extraConfig = ''
|
||||
localise-queries
|
||||
'';
|
||||
@ -150,26 +148,29 @@ in {
|
||||
dnscrypt-proxy2 = {
|
||||
enable = true;
|
||||
settings = {
|
||||
listen_addresses = ["127.0.0.1:5353"];
|
||||
ipv4_servers = true;
|
||||
ipv6_servers = false;
|
||||
dnscrypt_servers = true;
|
||||
doh_servers = true;
|
||||
require_nolog = true;
|
||||
require_nofilter = true;
|
||||
timeout = 350;
|
||||
lb_strategy = "p4";
|
||||
lb_estimator = true;
|
||||
ignore_system_dns = true;
|
||||
listen_addresses = ["127.0.0.1:5353"];
|
||||
ipv4_servers = true;
|
||||
ipv6_servers = false;
|
||||
dnscrypt_servers = true;
|
||||
doh_servers = true;
|
||||
require_nolog = true;
|
||||
require_nofilter = true;
|
||||
timeout = 350;
|
||||
lb_strategy = "p4";
|
||||
lb_estimator = true;
|
||||
ignore_system_dns = true;
|
||||
fallback_resolvers = ["1.1.1.1:53" "9.9.9.9:53"];
|
||||
};
|
||||
};
|
||||
|
||||
openssh = {
|
||||
enable = true;
|
||||
passwordAuthentication = true;
|
||||
permitRootLogin = "yes";
|
||||
enable = true;
|
||||
passwordAuthentication = false;
|
||||
};
|
||||
};
|
||||
|
||||
system.stateVersion = "21.05"; # Did you read the comment?
|
||||
|
||||
users.users.giulio.openssh.authorizedKeys.keys = pubkeys;
|
||||
}
|
||||
|
||||
|
@ -4,12 +4,8 @@
|
||||
imports = [ <home-manager/nixos> ];
|
||||
|
||||
users.users.giulio = {
|
||||
description = "Giulio De Pasquale";
|
||||
description = "Giulio De Pasquale";
|
||||
isNormalUser = true;
|
||||
<<<<<<< HEAD
|
||||
shell = pkgs.zsh;
|
||||
extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
|
||||
=======
|
||||
shell = pkgs.zsh;
|
||||
extraGroups = [ "wheel" "docker" "networkmanager" ];
|
||||
};
|
||||
@ -17,7 +13,6 @@
|
||||
programs.zsh = {
|
||||
enableBashCompletion = true;
|
||||
enableCompletion = true;
|
||||
>>>>>>> 010141fe0b7b6d866f46dd9721653d8ee0521a6b
|
||||
};
|
||||
|
||||
home-manager.users.giulio = {
|
||||
|
Loading…
Reference in New Issue
Block a user