Compare commits

..

No commits in common. "0a29ba5480d88093e56bf84f82052821a9c4c8eb" and "010141fe0b7b6d866f46dd9721653d8ee0521a6b" have entirely different histories.

6 changed files with 108 additions and 207 deletions

View File

@ -5,23 +5,18 @@
console = { console = {
keyMap = "us"; keyMap = "us";
font = "Lat2-Terminus16"; font = "Lat2-Terminus16";
}; };
i18n.defaultLocale = "en_US.UTF-8"; i18n.defaultLocale = "en_US.UTF-8";
nix = { nix = {
autoOptimiseStore = true; autoOptimiseStore = true;
nixPath = [ nixPath = [
"nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos" "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos"
"nixos-config=/etc/nixos/hosts/${variables.hostname}/default.nix" "nixos-config=/etc/nixos/hosts/${variables.hostname}/default.nix"
"/nix/var/nix/profiles/per-user/root/channels" "/nix/var/nix/profiles/per-user/root/channels"
]; ];
gc = {
automatic = true;
dates = "weekly";
persistent = true;
};
}; };
nixpkgs = { nixpkgs = {

View File

@ -9,7 +9,7 @@
]; ];
programs.neovim = { programs.neovim = {
enable = true; enable = true;
extraConfig = '' extraConfig = ''
" syntax " syntax
syntax enable syntax enable
@ -34,48 +34,19 @@
" enable indent guides " enable indent guides
let g:indent_guides_enable_on_vim_startup = 1 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; vimAlias = true;
plugins = with pkgs.vimPlugins; [ plugins = with pkgs.vimPlugins; [
vim-nix vim-nix
molokai molokai
YouCompleteMe YouCompleteMe
vim-airline vim-airline
vim-airline-themes vim-airline-themes
vim-lsp vim-lsp
vim-indent-guides vim-indent-guides
vim-signify vim-signify
nerdtree
vim-easy-align
]; ];
}; };

View File

@ -2,39 +2,6 @@
let let
albert_autostart = (pkgs.makeAutostartItem { 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"; name = "albert";
package = pkgs.albert; package = pkgs.albert;
}); });
@ -54,59 +21,32 @@ in {
guake guake
firefox firefox
>>>>>>> 010141fe0b7b6d866f46dd9721653d8ee0521a6b
chromium chromium
# reversing # reversing
rizin rizin
<<<<<<< HEAD
# networking
nmap
# development
clang
# social
=======
nmap nmap
>>>>>>> 010141fe0b7b6d866f46dd9721653d8ee0521a6b
slack slack
signal-desktop signal-desktop
teams teams
discord discord
element-desktop element-desktop
<<<<<<< HEAD
# music
spotify
# misc
bind
# system
gparted
=======
spotify spotify
bind bind
gparted gparted
sshfs sshfs
>>>>>>> 010141fe0b7b6d866f46dd9721653d8ee0521a6b
# autostart # autostart
albert_autostart albert_autostart
guake_autostart guake_autostart
]; ];
<<<<<<< HEAD
};
=======
home.sessionVariables = { home.sessionVariables = {
EDITOR = "nvim"; EDITOR = "nvim";
VISUAL = "nvim"; VISUAL = "nvim";
}; };
>>>>>>> 010141fe0b7b6d866f46dd9721653d8ee0521a6b
} }

View File

@ -1,13 +1,11 @@
{ config, pkgs, lib, ... }: { config, pkgs, lib, ... }: {
{
dconf.settings = { dconf.settings = {
# #
# touchpad # touchpad
# #
"org/gnome/desktop/peripherals/touchpad" = { "org/gnome/desktop/peripherals/touchpad" = {
natural-scroll = false; natural-scroll = false;
two-finger-scrolling-enabled = true; two-finger-scrolling-enabled = true;
}; };
@ -16,16 +14,16 @@
# #
"org/gnome/desktop/wm/keybindings" = { "org/gnome/desktop/wm/keybindings" = {
close = [ "<Alt>q" ]; close = [ "<Alt>q" ];
maximize = [ "<Primary><Shift>Up" ]; maximize = [ "<Primary><Shift>Up" ];
unmaximize = [ "<Primary><Shift>Down" ]; unmaximize = [ "<Primary><Shift>Down" ];
move-to-workspace-left = [ "<Shift><Alt>Left" ]; move-to-workspace-left = [ "<Shift><Alt>Left" ];
move-to-workspace-right = [ "<Shift><Alt>Right" ]; move-to-workspace-right = [ "<Shift><Alt>Right" ];
switch-to-workspace-left = [ "<Primary><Alt>Left" ]; switch-to-workspace-left = [ "<Primary><Alt>Left" ];
switch-to-workspace-right = [ "<Primary><Alt>Right" ]; switch-to-workspace-right = [ "<Primary><Alt>Right" ];
}; };
"org/gnome/mutter/keybindings" = { "org/gnome/mutter/keybindings" = {
toggle-tiled-left = [ "<Primary><Shift>Left" ]; toggle-tiled-left = [ "<Primary><Shift>Left" ];
toggle-tiled-right = [ "<Primary><Shift>Right" ]; toggle-tiled-right = [ "<Primary><Shift>Right" ];
}; };
@ -43,21 +41,21 @@
screensaver = [ "<Primary><Alt>l" ]; screensaver = [ "<Primary><Alt>l" ];
# disable screenshot # disable screenshot
screenshot = []; screenshot = [];
}; };
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" =
{ {
binding = "F12"; binding = "F12";
command = "guake-toggle"; command = "guake-toggle";
name = "Guake"; name = "Guake";
}; };
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" =
{ {
binding = "<Alt>a"; binding = "<Alt>a";
command = "albert toggle"; command = "albert toggle";
name = "Albert"; name = "Albert";
}; };
# #
@ -65,8 +63,9 @@
# #
"org/gnome/settings-daemon/plugins/power" = { "org/gnome/settings-daemon/plugins/power" = {
sleep-inactive-ac-type = "nothing"; sleep-inactive-ac-type = "nothing";
sleep-inactive-battery-type = "nothing"; sleep-inactive-battery-type = "nothing";
}; };
# #
@ -74,7 +73,7 @@
# #
"org/gnome/settings-daemon/plugins/color" = { "org/gnome/settings-daemon/plugins/color" = {
night-light-enabled = true; night-light-enabled = true;
night-light-temperature = 2536; night-light-temperature = 2536;
}; };

View File

@ -17,11 +17,6 @@ in {
../../users.nix ../../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 = { boot = {
kernelParams = ["ip=${lan_address}::10.0.0.1:255.255.255.0::enp5s0:off"]; kernelParams = ["ip=${lan_address}::10.0.0.1:255.255.255.0::enp5s0:off"];
@ -30,9 +25,9 @@ in {
network = { network = {
enable = true; enable = true;
ssh = { ssh = {
enable = true; enable = true;
port = 2222; port = 2222;
hostKeys = [/boot/host_ecdsa_key]; hostKeys = [/boot/host_ecdsa_key];
authorizedKeys = pubkeys; authorizedKeys = pubkeys;
}; };
@ -43,78 +38,81 @@ in {
}; };
loader = { loader = {
systemd-boot.enable = true; systemd-boot.enable = true;
efi.canTouchEfiVariables = true; efi.canTouchEfiVariables = true;
}; };
supportedFilesystems = ["zfs"]; supportedFilesystems = ["zfs"];
zfs.requestEncryptionCredentials = true; zfs.requestEncryptionCredentials = true;
}; };
variables.hostname = hostname;
time.timeZone = "Europe/Rome";
networking = { networking = {
hostName = hostname; hostName = hostname;
hostId = "49350853"; hostId = "49350853";
useDHCP = false; useDHCP = false;
defaultGateway = "10.0.0.1";
interfaces = { interfaces = {
enp5s0.ipv4.addresses = [{ address = lan_address; prefixLength = 24; }]; enp5s0.ipv4.addresses = [{ address = lan_address; prefixLength = 24; }];
enp6s0.useDHCP = false; enp6s0.useDHCP = false;
wlp4s0.useDHCP = false; wlp4s0.useDHCP = false;
}; };
# extraHosts = '' defaultGateway = "10.0.0.1";
# 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 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 # 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.1 router.devs.giugl.io
# 10.0.0.3 nas.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 # Wireguard hosts
# 10.3.0.2 galuminum.devs.giugl.io 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.3 oneplus.devs.giugl.io 10.3.0.2 galuminum.devs.giugl.io
# 10.3.0.4 ipad.devs.giugl.io 10.3.0.3 oneplus.devs.giugl.io
# 10.3.0.5 manduria.devs.giugl.io 10.3.0.4 ipad.devs.giugl.io
# 10.3.0.6 antonio.devs.giugl.io 10.3.0.5 manduria.devs.giugl.io
# 10.3.0.7 gbeast.devs.giugl.io 10.3.0.6 antonio.devs.giugl.io
# 10.3.0.8 parisa-phone.devs.giugl.io 10.3.0.7 gbeast.devs.giugl.io
# 10.3.0.9 parisa-pc.devs.giugl.io 10.3.0.8 parisa-phone.devs.giugl.io
# 10.3.0.10 peppiniell.devs.giugl.io 10.3.0.9 parisa-pc.devs.giugl.io
# 10.3.0.11 padulino.devs.giugl.io 10.3.0.10 peppiniell.devs.giugl.io
# 10.3.0.12 shield.devs.giugl.io 10.3.0.11 padulino.devs.giugl.io
# 10.3.0.13 angelino.devs.giugl.io 10.3.0.12 shield.devs.giugl.io
# 10.3.0.14 peposone.devs.giugl.io 10.3.0.13 angelino.devs.giugl.io
# 10.3.0.15 pepostwo.devs.giugl.io 10.3.0.14 peposone.devs.giugl.io
# 10.3.0.100 eleonora.devs.giugl.io 10.3.0.15 pepostwo.devs.giugl.io
# 10.3.0.200 broccolino.devs.giugl.io 10.3.0.100 eleonora.devs.giugl.io
# 10.3.0.201 hotpottino.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 # Blacklist
# 0.0.0.0 analytics.plex.tv 0.0.0.0 metrics.plex.tv
# 0.0.0.0 cdn.luckyorange.com 0.0.0.0 analytics.plex.tv
# 0.0.0.0 w1.luckyorange.com 0.0.0.0 cdn.luckyorange.com
# 0.0.0.0 browser.sentry-cdn.com 0.0.0.0 w1.luckyorange.com
# 0.0.0.0 analytics.facebook.com 0.0.0.0 browser.sentry-cdn.com
# 0.0.0.0 ads.facebook.com 0.0.0.0 analytics.facebook.com
# 0.0.0.0 extmaps-api.yandex.net 0.0.0.0 ads.facebook.com
# 0.0.0.0 logservice.hicloud.com 0.0.0.0 extmaps-api.yandex.net
# 0.0.0.0 logbak.hicloud.com 0.0.0.0 logservice.hicloud.com
# 0.0.0.0 logservice1.hicloud.com 0.0.0.0 logbak.hicloud.com
# 0.0.0.0 samsung-com.112.2o7.net 0.0.0.0 logservice1.hicloud.com
# 0.0.0.0 supportmetrics.apple.com 0.0.0.0 samsung-com.112.2o7.net
# 0.0.0.0 analytics.oneplus.cn 0.0.0.0 supportmetrics.apple.com
# 0.0.0.0 click.oneplus.cn 0.0.0.0 analytics.oneplus.cn
# 0.0.0.0 analytics-api.samsunghealthcn.com 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 # The following lines are desirable for IPv6 capable hosts
# ff02::1 ip6-allnodes ::1 localhost ip6-localhost ip6-loopback
# ff02::2 ip6-allrouters ff02::1 ip6-allnodes
# ''; ff02::2 ip6-allrouters
'';
}; };
environment.systemPackages = with pkgs; environment.systemPackages = with pkgs;
@ -140,8 +138,8 @@ in {
xserver.videoDrivers = [ "nvidia" ]; xserver.videoDrivers = [ "nvidia" ];
dnsmasq = { dnsmasq = {
enable = true; enable = true;
servers = ["127.0.0.1#5353"]; servers = ["127.0.0.1#5353"];
extraConfig = '' extraConfig = ''
localise-queries localise-queries
''; '';
@ -150,26 +148,29 @@ in {
dnscrypt-proxy2 = { dnscrypt-proxy2 = {
enable = true; enable = true;
settings = { settings = {
listen_addresses = ["127.0.0.1:5353"]; listen_addresses = ["127.0.0.1:5353"];
ipv4_servers = true; ipv4_servers = true;
ipv6_servers = false; ipv6_servers = false;
dnscrypt_servers = true; dnscrypt_servers = true;
doh_servers = true; doh_servers = true;
require_nolog = true; require_nolog = true;
require_nofilter = true; require_nofilter = true;
timeout = 350; timeout = 350;
lb_strategy = "p4"; lb_strategy = "p4";
lb_estimator = true; lb_estimator = true;
ignore_system_dns = true; ignore_system_dns = true;
fallback_resolvers = ["1.1.1.1:53" "9.9.9.9:53"]; fallback_resolvers = ["1.1.1.1:53" "9.9.9.9:53"];
}; };
}; };
openssh = { openssh = {
enable = true; enable = true;
passwordAuthentication = true; passwordAuthentication = false;
permitRootLogin = "yes";
}; };
}; };
system.stateVersion = "21.05"; # Did you read the comment?
users.users.giulio.openssh.authorizedKeys.keys = pubkeys;
} }

View File

@ -4,12 +4,8 @@
imports = [ <home-manager/nixos> ]; imports = [ <home-manager/nixos> ];
users.users.giulio = { users.users.giulio = {
description = "Giulio De Pasquale"; description = "Giulio De Pasquale";
isNormalUser = true; isNormalUser = true;
<<<<<<< HEAD
shell = pkgs.zsh;
extraGroups = [ "wheel" ]; # Enable sudo for the user.
=======
shell = pkgs.zsh; shell = pkgs.zsh;
extraGroups = [ "wheel" "docker" "networkmanager" ]; extraGroups = [ "wheel" "docker" "networkmanager" ];
}; };
@ -17,7 +13,6 @@
programs.zsh = { programs.zsh = {
enableBashCompletion = true; enableBashCompletion = true;
enableCompletion = true; enableCompletion = true;
>>>>>>> 010141fe0b7b6d866f46dd9721653d8ee0521a6b
}; };
home-manager.users.giulio = { home-manager.users.giulio = {